1.前言
2.接口自动化测试工具介绍
3.推荐使用工具
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,自动化测试的优点:
1)对回归测试更方便:进行回归测试,要测试系统的所有功能模块,周期较长的回归测试工作量大,测试比较频繁,适合自动化测试。由于测试的脚本和用例都是设计好的,测试期望的结果也可以预料,将回归测试自动化可以极大的提高效率缩短回归时间。
2)模拟真实情况:可以执行手工测试无法执行的测试,比如同时并发上千用户测试系统的负载量,测试人员无法达到测试目的,而使用自动化测试工具可以模拟多用户的并发过程。
3)有效的利用人力物力资源:频繁地机器化的动作可以用自动化测试执行,减少错误的发生,更好的利用人力资源。
4)测试的重复利用:由于自动测试通常使用的是自动化脚本技术,这样就可以只需要做较少的甚至是不修改就可以实现在不同的测试过程中使用相同的用例。
5)减少人为的错误:自动化测试是机器完成,不存在执行过程中人为的疏忽和错误,测试设计完全决定了测试的质量,可以降低减少人为造成的错误。
自动化测试的缺点:
1)自动化测试是工具执行,没有思维,无法进行主观判断,对界面色彩、布局和系统的奔溃现象无法发现,这些错误通过人眼很容易发现。
2)自动化测试工具本身是一个产品,在不同的系统平台或硬件平台可能会受影响,在运行时可能影响被测程序的测试结果。
3)对于需求更改频繁的软件,测试脚本的维护和设计比较空难。
4)自动化测试是机器执行,发现的问题比手工测试要少很多,通过测试工具没有发现缺陷,并不能说明系统不存在缺陷,只能通过工具评判测试结果和预期效果之间的差距。
5)自动化测试要编写测试脚本,设计场景,这些对测试人员的要求比较高,测试的设计直接影响测试的结果。
自动化测试可分为自动化性能测试、自动化功能测试。
性能测试主要是使用测试工具,Loadrunner、Jmeter等,对软件进行压力测试、负载测试、强度测试等等,因为这些无法用手工进行代替,所以必须自动化。
自动化功能测试:包括单元测试、接口测试、UI测试。主要是编写代码、脚本,让软件自动运行,发现缺陷,代替部分的手工测试。但一般只有大的项目才需要进行自动化,中小型项目不推荐使用自动化测试。
web自动化测试:
优点:是用户操作真实性强;
缺点:是开发效率低、维护成本高、执行速度慢;
app自动化自动化测试
优势:
1)对程序的回归测试更方便,可以极大提高测试效率,缩短回归测试时间;
2)可以运行更多更繁琐的测试。自动化的一个明显的好处是可以在较少的时间内运行更多的测试;
3)可以执行一些手工测试困难或不可能进行的测试。比如,对于大量用户的测试,不可能同时让足够多的测试人员同时进行测试,但是却可以通过自动化测试模拟同时有许多用户,从而达到测试的目的;
4)测试具有一致性和可重复性。由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,从而达到测试的可重复的效果;
5)增加软件信任度。由于测试是自动执行的,所以不存在执行过程中的疏忽和错误,完全取决于测试的设计质量;
缺点:
1)不能取代手工测试,有很多需要人脑判断结果的测试用例无法用自动工具实现,代价太大;
2)手工测试比自动测试发现的缺陷更多;
3)对测试质量的依赖性极大,不能提高有效性;
4)由于自动测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发。
接口自动化测试现在大部分互联网用它作为测试工作的铺助,是因为web和app自动化的缺点接口自动化测试都能进行弥补,缺点是“用户操作真实性不强”;优点:是比较稳定和容易实现;
1、UI(WEB)自动化测试走主流程的测试、接口自动化测试走全面的测试:先布置接口的自动化测试用于测试和回归测试,特别在敏捷测试中,接口自动化测试应该占主体。后布置UI自动化测试用于住流程的回归测试。
2、UI(WEB)自动化测试与APP自动化测试结合:需要一个自动化测试框架的协调,可以进行UI自动化测试到APP接口层的长流程场景自动化测试,也可以进行UI自动化测试到APPUI层的长流程场景自动化测试。
3、接口自动化测试与APP自动化测试结合:其实和UI与APP自动化测试长流程的交换一样的原理,需要自动化测试框架的支撑。先进行接口测试用例的执行后进行APP的UI和接口测试的用例执行。
python+requests+unittest自动化测试框架介绍:
Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库;相比urllib库,Requests库更加方便,可以节约我们大量的工作,完全满足HTTP测试需求;
unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。
Robot framework自动化测试框架介绍:Robot Framework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发(ATDD)。Robot Framework是开源软件,由Nokia Siemens Networks开发并提供支持。
python+requests+unittest环境安装部署:
安装python:
python下载地址:https://www.python.org/downloads/(安装教程可以百度)
添加环境变量:
python安装成功后,需要添加环境变量才能使用,添加步骤:计算机——属性——高级系统设置——环境变量——在path最后面添加你安装好的python路径,如果最后无分号,记得添加上。
检查pip(Python包管理工具):
安装pip,打开cmd窗口输入pip(如果有内容显示,说明正常);如无内容显示,pip下载地址:https://pypi.python.org/pypi/pip。解压下载的文件(windows下只用解压工具解压如RAR,Linux下终端输入tar -xf pip-9.0.1.tar.gz,即tar -xf 文件名),进入解压后的文件夹中,调出命令行窗口,windows下输入python setup.py install
关键字库都可以通过pip的形式安装,常用的关键字库如下:
pip install requests 第三方http 访问库
pip install unittest 单元测试框架
pip install psycopg2 数据库
pip install xlrd xlrd库
pip install xlwt xlwt库
编辑器为PyCharm工具:(安装教程可以百度)
下载:https://www.jetbrains.com/zh/pycharm/download/download-thanks.html
(激活:http://idea.imsxm.com/)