自动化测试
自动化测试
什么是自动化测试
所谓的自动化,就是将人力转为机械力,将原本测试的点点点,变成脚本,让程序帮你点点点,测试的工作,内容是一致的,你可以单纯的理解为将执行对象由人变成了电脑
自动化测试的意义
自动化测试和传统的测试的存在意义是一样的,都是为了提升系统的稳定性,不同的是,自动化测试的"成本",相较于传统测试,会"低"很多
还是假设了一个场景
我们开发了一个应用,依赖了很多不同的插件和框架和库,其中有一个库叫做antd,我们在业务上大范围的应用了它,但现在我们需要将它从4.0版本升级到5.0版本,这种涉及版本的升级,按以往的传统 我们需要人工的去按照之前列明的测试用例重新回归测试一遍,这通常需要大量的时间和人力
但世界是进步的,社会是发展的,随着业务的拓展,要升级的插件和库只会越来越多,难道我们每次都要使用大量的人力物力去回归测试吗
答案当然是否定的
对于大部分追求稳定的系统,我更推荐他们针对主要流程去编写完整自动化测试脚本 (目前流行的web自动化测试框架有很多,如Selenium,WebDriverIO,Puppeteer,Playwright)
毕竟对于稳定的核心流程来说,依赖的模块非常的多,而且很多模块并不只是服务于这个主流程,随着其他业务的发展,这些模块或多或少都要面临升级和重构的境地
对于这些不稳定的模块
我们更需要一个可靠的低成本的快捷的测试助手,帮忙我们排除错误,验收产品
这个时候自动化测试
的价值就能体现出来
我们应该为什么场景编写自动化测试脚本?
自动化测试确实是一把利器
但是否就应该为所有业务场景都编写好完善的自动化测试脚本呢
答案同样也是否定的
Tips
自动化测试应该为稳定核心有价值的流程服务
对于其他迭代周期短,迭代频繁,生命周期短的产品,就十分不推荐使用自动化测试去保证质量
为什么呢?
因为对于快速迭代的产品,需求天天变,你为其编写的任何自动化测试脚本,几乎都等于一次性脚本,用之即弃
与其根据测试用例编花费大量的时间去编写脚本,倒不如节省点时间,加入测试小姐姐的团队,一起点点点,说不定还能提升一些团队协作能力(感情)
呢
因此自动化测试也好,单元测试也罢
它们的存在的意义都是为核心业务提供保驾护航的服务