标签:集成测试 装包 dmi head run dash 规范 阶段 影响
一、为什么要做自动化测试?
假设半月迭代一次,每次迭代需要5轮测试,人工回归一次需要5个小时,最终确定一年下来,自动化为你省去600个小时,也就是75个工作日,同时也省去了测试旧功能要吐的烦恼以及人疲惫下产生的错误。
有点:提高效率、质量
自动化测试:人为驱动的测试行为转化为机器执行过程(在手工基础上)
二、什么项目适合做自动化测试?
1.什么项目适合?
需求稳定,不会频繁变更(项目稳定)
研发和测试周期长,需要频繁执行回归测试
需要在多种平台上重复运行相同测试的场景(兼容性测试)
某些测试项目通过手工测试无法实现,或手工成本太高
被测软件的开发较为规范,能够保证系统的可测试性
2.什么阶段编写自动化脚本?
项目稳定后,编写自动化用例更得心应手,原因:
项目基本没有bug,方便写断言(断言类似于手工测试里的预期结果)
手工测试时用例已编写完成,自动化测试脚本完全可以根据手工测试去实现
3.什么阶段进行自动化测试?
项目测试流程:冒烟测试-新需求测试-兼容性测试-回归测试
冒烟测试:测试流程的重要起点
新需求测试:测试过程中学习、探索最集中的测试
兼容性测试
回归测试:稳定功能是否收到新功能影响的测试
回归测试和兼容性测试适合进行自动化测试,前者需要执行大量回归测试用例,后者需要重复执行
三、选择什么类型的自动化测试
自动化测试分类:
UI自动化(效率低、成本高、用户操作真实性强)
接口自动化(用户操作真实性不强)
单元测试
性能测试
UI自动化和接口自动化可以产生互补测试(采用方法)
四、接口工具对比
接口工具应满足的需求:
接口编写方便
方便调试接口
支持数据初始化
生成测试报告
支持参数化
接口测试工具对比:
Fiddler:抓包神器,http协议调试代理工具,能够记录互联网之间的http协议通信,可以设置断点,查看所有“进出”Fiddler的数据(如cookie,html,js,css等文件)
可以进行接口测试,不能断言
Postman:
能够发送任何类型的HTTP请求 (GET, HEAD, POST, PUT..),可以进行文件上传、响应验证、变量管理、环境参数管理,还可以批量管理和运行用例,并支持用例导出、导入,可以进行接口的自动化测试
缺点是自动化断言不够强大,不能和jenkins、代码管理库进行持续集成测试
soapUi:
开源测试工具,通过soap/http来检查、调用,实现Web Service的接口和性能测试。该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。
Jmeter:
是一款100%纯Java编写的免费开源工具,主要用来做性能测试,但也可以做接口测试,配合后置处理器与断言,可以满足大部分的接口测试场景,JMeter提供了BeanShell编程能力,可以写出比较灵活的测试脚本,通过jmeter+ant+jenkins可以实现接口和性能自动化测试。
代码实现
java代码实现接口测试:java可以通过httpclient.jar包,利用JUnit或者TestNG这样的单元测试工具进行用例编写,结合jenkins实现接口持续集成测试。
python代码实现接口测试:python可以利用强大的第三方库Requests实现接口用例编写,结合unittest单元测试框架,生成测试报告,也可以和jenkins做持续集成测试。
为什么要代码实现接口测试?
工具有限制,很多测试场景工具很难模拟,场景和数据构造复杂,代码可以实现接口,统计结果展示灵活。自己写测试框架与代码。
中小型项目推荐使用postman和jmeter,对于大型项目还是利用代码实现。
五、jmeter+Ant+Jenkins框架搭建
大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件;Ant是基于Java的构建工具,完成脚本执行并手机结果生成报告,可以跨平台;Jekins是持续集成工具。将这三者结合起来可以搭建一套WebHTTP接口测试的持续构建环境,实现接口自动化测试,基于win
1.1下载安装包
Jmeter依赖java运行环境,需提前下载jdk并配置环境变量
官网下载:http://jmeter.apache.org/download_jmeter.cgi
下载完后直接解压
1.2配置环境变量
JMETER_HOME为jmeter安装路径
CLASSPATH为%JMETER_HOME%\lib;
PATH为%JMETER_HOME%\bin;
1.3安装验证
命令窗口输入jmeter –v回车,能出现jmeter版本则说明成功
可以直接在命令窗口输入jmeter回车后启动jmeter;也可以在点击jmeter.bat文件启动jmeter
1.4在jmeter上调试通一个接口(如果是多个接口,按照jmeter方法添加即可)
2.1安装包下载
官网下载(http://ant.apache.org/bindownload.cgi),我用的1.10.1版本,下载完直接解压
2.2配置环境变量
ANT_HOME为ant解压位置
CLASSPATH为%ANT_HOME%\lib;
PATH为%ANT_HOME%\bin;
2.3安装验证
验证安装结果,命令行输入ant –v,出现版本信息则安装成功
3.1配置库文件
将jmeter extras目录下的ant-jmeter-1.1.1.jar文件拷贝到ant安装目录下的lib文件夹中, 这样ant运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,从而成功触发JMeter脚本
3.2配置ant的编译文件build.xml
在jmeter根目录下创建一个存放脚本和报告的文件夹testcases
在testcases文件夹下新建build.xml文件,修改文档里的内容
注意:jmeter的extras文件下也有个build.xml文档,不要用这个文档来改,是两回事,这里的build文档是自己新建
代码中不能存在tab键否则会编译失败,要执行的脚本也要指定好,否则也会有问题
按实际情况修改如下文档:
https://www.cnblogs.com/autobyme/p/8387407.html---该博客里面可以复制build.xml里的配置
3.3配置jmeter.propertise文档
在jmeter/bin目录下找到jmeter.properties文档,打开该文档编辑,修改jmeter报告输出格式为xml
改jmeter.save.saveservice.output_format=csv为jmeter.save.saveservice.output_format=xml,并去掉前面注释符号#
3.4验证配置,执行构建测试
将之前jmeter脚本保存,并将build.xml配置文件放在与测试脚本相同目录下,目录如下:
3.5执行测试
在build.xml所在目录打开命令窗口,输入ant run,执行测试
3.6查看测试报告
在报告输出存放路径下查看是否有jtl和html结果报告,存放路径在build文档中也有
打开html文档,测试结果展现执行的用例名称、成功率、用例执行时间等结果参数
这样的结果不太直观
3.7优化测试报告
(1)下载优化模板jmeter-results-shanhe-me.xsl,拷贝到jmeter的extras目录中
(2)设置测试输出报告要输出的内容:同样在jmeter.properties中,设置需要输出的内容为true,并去掉前面的注释符号#,这里全部设置成true—保存
(3)设置build文件的报告模板为优化后的模板jmeter-results-shanhe-me.xsl
(4)再次用ant构建测试,查看优化后的测试报告
4.1下载安装包解压
1.下载msi文件(双击安装)
2.用servlet容器来部署jekins,使用的是tomcat
https://www.cnblogs.com/dreamyu/p/6480980.html
4.2启动jenkins
安装好之后,浏览器输入http:localhost:8080
从安装目录jenkins\sercrets找到initalAdminPassword文件,填写密码
选择插件的安装方式,选择按推荐方式安装
创建第一个管理员账户
或者直接跳过该步骤,使用默认的admin和administrator登录
4.3配置jenkins
1.这里需要配置invoke ant插件、HTML测试报告真实的插件
(1)在jenkins创建管理中安装HTML Publisher Plugin 和Ant in Workspace(如果在刚开始默认推荐安装插件里安装了ant,这里就不用下载ant插件)
(2)在jenkins中系统管理-系统设置中,配置jdk和Ant
2.新建并配置一个项目
注意:ant构建项目,默认执行的是Jenkins中workspace下的脚本,如果workspace下没有脚本则构建会报错,将脚本和build.xml文件都放置workspace目录下(我放在jmeter下)
注意:Index page[s]:的值(TestReport.html)是与build.xml中设置的测试报告名称一致,否则在Jenkins中查看不了测试报告
脚本配置完成
4.5项目主页,点击立即构建,执行测试
参考资料:
https://www.cnblogs.com/autobyme/p/8387407.html
https://www.cnblogs.com/wulixia/p/11011793.html
https://blog.csdn.net/XingLongSKY/article/details/91536924
标签:集成测试 装包 dmi head run dash 规范 阶段 影响
原文地址:https://www.cnblogs.com/gaoxiaoru/p/11584115.html