概念
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。
自动化的前置条件
- 需求变动不频繁
- 需求变动大了自动化测试的维护成本高。
- 项目周期足够长
- 如果项目已经完结不需要维护,自动化脚本还在开发中或者已经开发。
- 自动化测试脚本可重复使用
- 节省大量时间与人力时也需要考虑引入自动化测试。比如性能测试、配置测试、大数据量输入测试等。
适应场景
(1)回归测试,重复单一的数据录入或是击键等测试操作造成了不必要的时间浪费和人力浪费;
(2)此外测试人员对程序的理解和对设计文档的验证通常也要借助于测试自动化工具;
(3)采用自动化测试工具有利于测试报告文档的生成和版本的连贯性;
(4)自动化工具能够确定测试用例的覆盖路径,确定测试用例集对程序逻辑流程和控制流程的覆盖。
自动化优缺点
优点
从企业角度:
1)节约成本:更少的人做更多的事情(例如:程序代替人工操作一些事情,让测试人员有时间做更多的事情)
2)提高效率:程序自动执行快速回归主流程、避免重返工作(例如:减少了前置条件数据准备的时间、人工点击的时间、在开发阶段提交发现问题减少了开发返工和测试回归)
3)提高质量:保证主流程稳定、发现深层次问题(例如:局部修改能够快速发现主流程问题、尽早发现程序设计的不合理)
个人角度:
1)节约成本:程序自动处理一部分工作(主流程回归、提前介入测试)
2)提高效率:有更多的时间去发现业务缺陷和边界以及性能、安全问题
3)提高能力:提升了对开发框架、开发代码的理解认识、快速定位问题
缺点
高成本维护:自动化框架维护、自动化case脚本维护
专业能力要求高:要求编写用例的人员有一定的编码基础
自动化不能代替人工操作:自动化测试是工具执行,没有思维,无法进行主观判断(如:页面展示、服务崩溃、业务逻辑错误)