关于Jmeter+Ant+Jenkins如何搭建持续集成环境,网上资料一大把,就不多说了,本文主要谈一下期间的问题及扩展该持续集成方案。

其实核心的流程不复杂,Jenkins管理构建项目,Ant配置脚本路径、结果路径等,Jmeter执行脚本,然后根据模板从jtl文件生成html报告,Jenkins邮件插件发送邮件。

公司在研发cloud产品,由于负责该产品性能测试缘故,搭建了一套相对比较完善的性能测试CI流程,改进了流程中的某些步骤,本文说下思路,涉及到代码实现的不过多赘述。

最终效果:定期执行或手动点击执行—>自动预置脚本所需测试数据—>脚本执行—>自动清理测试数据—>自动分析jtl报告(统计各项结果,分析异常等)—>测试结果自动保存至数据库—>生成邮件正文及附件—>发送邮件。每次可以无需任何处理的情况下重复执行。

整体改进原则

  • 尽量无需人工干预,完全自动化
  • 测试前后,数据库数据保持不变(即测试数据的预置及清理自动完成)
  • 脚本执行以外的耗时尽量少(如jtl生成html的时间)
  • 每次测试结果自动保存至数据库,便于对比

改进思路

简单讲,就是自己实现部分测试微服务,可以是webapi或者webservice接口,放到Jmeter脚本中,选择合适的时机执行。

包括:

  • sql执行接口:传入sql集合,用来预置脚本所需的测试数据及最终脚本执行完成后清理测试数据,即每个测试脚本的结构为数据预置-业务脚本-数据清理,保证执行前后,数据库的数据保持不变;
  • jtl结果分析接口:由于原本的jtl生成html太慢且部分数据统计不到(如90%响应时间等),曾经改过计算模板,去掉明细时间及增加其他统计项,但是算法是读取文件遍历计算,还是太慢,因此就自己把原始jtl读到内存里再计算吧。包括统计各种指标及一些异常分析,如基线对比、与上次结果对比等,根据自己的需要可以有多种分析接口,生成固定格式的html文件;
  • 结果保存接口:当前统计结果保存至数据库,目前我们为每次一张表,带时间戳后缀;
  • 邮件发送接口:Jenkins的邮件不够灵活,因此自己实现,可以用参数自行组织正文及附件等,相对灵活。

(关于数据库存量数据预置,编写过一个小工具,就叫DataGenerator吧,可以通过图形化设置,自动生成insert sql并执行,支持关联等各种特性,后续有时间单开一篇文章;

关于Jmeter脚本,由于编写脚本实在是麻烦,也做了一个工具,叫JMXGenerator吧,可以从excel自动生成Jmeter脚本,所有的设置,包括url、body、参数、csv参数等所有能用到的都可以在excel中配置,这样脚本变动的话,只需要改excel然后重新生成就行,后续有时间单开一篇文章;)

效果图

最新文章

  1. 解决Win7旗舰版开机后无线网络识别非常慢的问题
  2. 设置让ASP.NET管道接收所有类型的请求
  3. c++ DISALLOW_COPY_AND_ASSIGN
  4. 04文件与IO
  5. ED/EP系列6《扩展应用》
  6. css3选择器二
  7. OpenJTAG+Eclipse 3.5+GDB+Mini2440图文教程
  8. sudo nopasswd
  9. Openjudge-计算概论(A)-短信计费
  10. Eclipse导入项目常见问题----乱码问题03
  11. js的for循环闭包问题
  12. android设置横竖屏
  13. Exp1:PC平台逆向破解 20164314 郭浏聿
  14. svn迁移后本地地址变更及externals无效的问题
  15. Android: Avoid passing null as the view root
  16. (原创)sqlite封装库SmartDB1.3发布
  17. URAL 1183 Brackets Sequence
  18. .net MVC4 来一个简单的分页代码
  19. Byedance AI Camp-笔试题目
  20. 【BZOJ4606】[Apio2008]DNA DP

热门文章

  1. September 13th 2017 Week 37th Wednesday
  2. npm install --save 和 --save-dev的区别
  3. PAT 1001A+B Format
  4. [T-ARA][Goodbye, OK]
  5. ubuntu安装pycharm并设置快捷方式
  6. impdp导入expdp导出数据库实例
  7. BZOJ1513:[POI2006]TET-Tetris 3D(线段树套线段树)
  8. P2278 [HNOI2003]操作系统
  9. 怎样批量提取JPG照片的文件名
  10. Xilinx实习一年总结