代码改变世界

1.自动化测试概述

2018-05-06 16:12  jier_wang  阅读(834)  评论(0编辑  收藏  举报

 

 

1.1 自动化测试的意义

什么是自动化测试?

简单讲,自动化测试就是通过编写代码,运行程序,完成需要手工需要做的软件测试任务。

一般的测试对象是计算机软件,包括但不限于Windows应用,web应用,server服务等。

自动化测试的优势:

1. 可重复
一旦编写好自动化测试脚本或者测试工具,便可以重复使用,使得我们可以避免繁琐重复的手工测试。

 

2. 可靠性

手工测试在一定条件下存在不确定性,偶尔会出现漏测或者误判的情况,但是自动化的预期输入和输出的确定性,可以弥补此类缺陷。

 

3. 速度快,时间自由

自动化测试的执行速度比人类快得多;而且不受时间、地点、人员、任务量的限制。

比如说测试脚本可以随时执行,设置定时任务,脚本就可以在下班后执行。

 

4. 可编程

自动化测试可以完成一些手工不能完成的测试任务,例如性能测试。

 

 

自动化测试的劣势:

1.前期需要投入额外的资源

2.要求测试人员要有编码能力

3.对项目及系统稳定性要求高

 

 

1.2 自动化测试的分类

 单元测试自动化

单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作,主要由程序员(部分公司会有白盒测试工程师)来完成。

 

UI测试自动化

基于Web UI或者客户端应用界面的自动化测试,通过自动化测试脚本,操作UI界面,模拟手工操作进行功能测试。

 

API接口测试自动化

基于应用程序的接口,使用自动化测试工具,模拟客户端发送请求,主要关注接口的输入和输出。

 

App移动应用测试自动化

APPUI自动化测试范畴:基于App UI的自动化测试,通过测试工具,模拟手工操作移动应用APP的测试。

性能测试范畴:APP性能测试,主要关注资源消耗,页面加载速度,崩溃率等。

 

性能测试

性能测试也是自动化测试的一种。

通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

 

1.3 自动化测试的使用范畴

什么情况下适合做自动化测试?

 

自动化测试脚本的编写和维护成本相对较高,从ROI来讲,自动化脚本的使用率越高,自动化测试的价值越大。

在测试用例库中,执行频率越高的用例,编写自动化测试脚本的价值越大。

此外,稳定的产品,较少的需求变更也是做自动化测试的基础。

哪些业务/类型需要做自动化?

 

产品的核心流程、关键业务

回归测试

冒烟测试

数据驱动测试

压力测试

何时适合开展自动化测试?

 

在项目中,项目迭代上线后不会有太大变动的功能模块时

在项目中,项目上线前含有数据驱动的重复性测试工作时

自动化测试脚本执行是在执行冒烟测试或者回归测试时,具体的执行场景,需要根据项目的实际情况而定。