根据多种工具选择的性价比,客户端自动化采Shell+Appium+Selenium+Java+TestNG框架。
工具选择背景
以业界主流工具进行对比,优劣如下图所示:
由于Selenium工具开源且扩展性较好,所以选定为框架主体
框架设计详细
根据工具选择,设计自动化框架如下:
自动化演示
通过命令或定时任务,达到自动执行的效果
测试案例
2016年初,经优化重组,中软测试团队固定在8人,根据当初接手的实际情况,项目组选用高速迭代开发的规范化流程。这段时期,由于android机型多样,导致软件兼容性问题突出,这对开发测试效率和产品质量都是严峻的考验。
开发团队利用代码管理工具,提升效率的同时,进一步提高代码质量,解决各种疑难兼容性问题;测试团队构筑高效的自动化测试体系,进行全面的兼容性测试,增加产品的可信任度、过程的可监控性,并大大提升计费转化率与产品质量。
为缩减测试周期,测试组引入自动化测试,完成接口自动化、web自动化、app端自动化的构建与填充,将测试时间缩短42%。短期内生成千余条基础自动化用例,并长期维护扩充,以达到自动构建、高效测试、快速迭代的良性循环。
扩展:集成到jenkins环境上,每日持续集成。
工具选择:apache-jmeter-3.2 + apache-ant-1.10.1-bin + jenkins-2.60.3 + jdk1.8.0_131
打开Jmeter工具,编写自动化用例
运行ant命令,生成html文件
Jmeter接口测试脚本运行后生成的是JTL(xml)格式的文件,这些文件不具备可读性,因此我们要把他转化为可以阅读的html格式报告;Ant是一个功能强大的打包编译工具,我们使用他的目的是将xml文件转化为html格式的文件。Ant自带了把xml转化为html的lib库,只需修改Lib文件即可。
使用jenkins部署到持续集成平台可以实现脚本的定时运行,这是接口测试的核心
1.设置定时运行间隔,这里表示每天下午五点开始自动打包并部署到用户运营测试环境,环境部署成功后自动执行jmeter自动化用例。
2.设置invoke ant就可以调用ant,也就是执行生成测试报告TestReport.html。
3.在 workspace目录下会生成结果报告并通过邮件形式发送给相关人员,邮件内容也可根据需要自行定制。
工具选择:Jmeter+Jekins+ Performance Plugin(Jekins插件)+ Nmon
性能测试流程
该性能测试框架工作的流程主要有:触发测试–>部署测试脚本–>部署被测系统–>Jmeter打压–>被测系统日志分析,5个阶段。
环境需求
Jenkins master:用于管理测试机、建立性能测试job、启动性能测试、展示性能测试结果。
Load generator:用来给被测试服务器发送请求,当一台Load generator发送的并发请求数达不到测试要求时,可能需要配置多台。Setup ENV阶段的Performance-test-script-deployment以及Run test阶段的job都是运行在这机器上的。
被测试服务器:用于安装被测试服务的机器,分析被测试服务的log的job也是运行在这个机器上的。 其中,Load generator和被测试服务器都是作为slave节点挂载在jenkins master上的。
Jmeter GUI上制定测试计划
测试执行实在Jenkins中通过非GUI方式执行Jmeter压力测试的。在JmeterGUI上制定测试计划的目的是,将测试计划保存成.jmx文件,以便能够在Jmeter的非GUI模式下执行测试。
生成客户端测试报告
通过Jenkins上安装的JMeterPlugins-Standard插件来将测试结果文件.jtl格式的文件解析成图表。
查看服务器性能
使用Nmon查看服务器当前性能,并将最终结果导出文档保存。
作者:佚名