1.1 自动化测试的意义程序员
什么是自动化测试?web
简单讲,自动化测试就是经过编写代码,运行程序,完成须要手工须要作的软件测试任务。编程
通常的测试对象是计算机软件,包括但不限于Windows应用,web应用,server服务等。函数
自动化测试的优点:工具
1. 可重复
一旦编写好自动化测试脚本或者测试工具,即可以重复使用,使得咱们能够避免繁琐重复的手工测试。性能
2. 可靠性单元测试
手工测试在必定条件下存在不肯定性,偶尔会出现漏测或者误判的状况,可是自动化的预期输入和输出的肯定性,能够弥补此类缺陷。测试
3. 速度快,时间自由编码
自动化测试的执行速度比人类快得多;并且不受时间、地点、人员、任务量的限制。spa
好比说测试脚本能够随时执行,设置定时任务,脚本就能够在下班后执行。
4. 可编程
自动化测试能够完成一些手工不能完成的测试任务,例如性能测试。
自动化测试的劣势:
1.前期须要投入额外的资源
2.要求测试人员要有编码能力
3.对项目及系统稳定性要求高
1.2 自动化测试的分类
单元测试自动化
单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工做,主要由程序员(部分公司会有白盒测试工程师)来完成。
UI测试自动化
基于Web UI或者客户端应用界面的自动化测试,经过自动化测试脚本,操做UI界面,模拟手工操做进行功能测试。
API接口测试自动化
基于应用程序的接口,使用自动化测试工具,模拟客户端发送请求,主要关注接口的输入和输出。
App移动应用测试自动化
APPUI自动化测试范畴:基于App UI的自动化测试,经过测试工具,模拟手工操做移动应用APP的测试。
性能测试范畴:APP性能测试,主要关注资源消耗,页面加载速度,崩溃率等。
性能测试
性能测试也是自动化测试的一种。
经过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
1.3 自动化测试的使用范畴
什么状况下适合作自动化测试?
自动化测试脚本的编写和维护成本相对较高,从ROI来说,自动化脚本的使用率越高,自动化测试的价值越大。
在测试用例库中,执行频率越高的用例,编写自动化测试脚本的价值越大。
此外,稳定的产品,较少的需求变动也是作自动化测试的基础。
哪些业务/类型须要作自动化?
产品的核心流程、关键业务
回归测试
冒烟测试
数据驱动测试
压力测试
什么时候适合开展自动化测试?
在项目中,项目迭代上线后不会有太大变更的功能模块时;
在项目中,项目上线前含有数据驱动的重复性测试工做时;
自动化测试脚本执行是在执行冒烟测试或者回归测试时,具体的执行场景,须要根据项目的实际状况而定。