您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
性能测试与持续集成
 
来源:简书  发布于: 2017-4-17
   次浏览      
 

目的

1.将性能测试与持续集成挂接起来

2.性能测试: JMeter

3.持续集成: Jenkins

JMeter

1.下载JMeter,官网: http://jmeter.apache.org/

2.创建测试计划: 访问 http://www.cnblog.com ,验证Response的返回值中存在cnblog

Thread组配制

Http请求

Response断言

3.使用GUI的JMeter查看运行测试结果

GUI JMeter测试结果

4.使用命令行执行测试

-J 指定生成的结果格式为xml,-t 指定测试文件,-l 测试结果

java -jar ApacheJMeter.jar -Jjmeter.save.saveservice.output_format=xml -n -t

/Users/yjshi/Downloads/TestPlan.jmx -l TestPlan.jtl

结果

Writing log file to: /Users/yjshi/Downloads/apache-jmeter-3.0/bin/jmeter.log

Creating summariser <summary>

Created the tree successfully using /Users/yjshi/Downloads/TestPlan.jmx

Starting the test @ Thu Aug 04 18:41:43 CST 2016 (1470307303526)

Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445

summary = 10 in 00:00:01 = 8.3/s Avg: 333 Min: 183 Max: 539 Err: 0 (0.00%)

Tidying up ... @ Thu Aug 04 18:41:44 CST 2016 (1470307304767)

... end of run

JMeter已经可以通过命令行来执行

Jenkins

配制JMeter

1.下载Jenkins包,官网: https://jenkins.io/

2.启动Jenkins

Running from: /Users/yjshi/Downloads/All/Software/jenkins/jenkins.war

webroot: $user.home/.jenkins

Aug 04, 2016 5:52:13 PM winstone.Logger logInternal

INFO: Beginning extraction from war file

Aug 04, 2016 5:52:13 PM org.eclipse.jetty.util.log.JavaUtilLog info

INFO: jetty-winstone-2.9

Aug 04, 2016 5:52:19 PM org.eclipse.jetty.util.log.JavaUtilLog info

INFO: NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet

Jenkins home directory: /Users/yjshi/.jenkins found at: $user.home/.jenkins

Aug 04, 2016 5:52:26 PM org.eclipse.jetty.util.log.JavaUtilLog info

INFO: Started SelectChannelConnector@0.0.0.0:8080

Aug 04, 2016 5:52:26 PM winstone.Logger logInternal

INFO: Winstone Servlet Engine v2.0 running: controlPort=disabled

Aug 04, 2016 5:52:26 PM jenkins.InitReactorRunner$1 onAttained

INFO: Started initialization

Aug 04, 2016 5:52:32 PM jenkins.InitReactorRunner$1 onAttained

INFO: Listed all plugins

Aug 04, 2016 5:52:32 PM jenkins.InitReactorRunner$1 onAttained

INFO: Prepared all plugins

Aug 04, 2016 5:52:32 PM jenkins.InitReactorRunner$1 onAttained

INFO: Started all plugins

Aug 04, 2016 5:52:32 PM jenkins.InitReactorRunner$1 onAttained

INFO: Augmented all extensions

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Loaded all jobs

Aug 04, 2016 5:52:35 PM hudson.model.AsyncPeriodicWork$1 run

INFO: Started Download metadata

Aug 04, 2016 5:52:35 PM org.jenkinsci.main.modules.sshd.SSHD start

INFO: Started SSHD at port 54488

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Completed initialization

Aug 04, 2016 5:52:35 PM hudson.UDPBroadcastThread run

INFO: Cannot listen to UDP port 33,848, skipping: java.net.SocketException: Can't assign requested address

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Started initialization

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Listed all plugins

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Prepared all plugins

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Started all plugins

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Augmented all extensions

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Loaded all jobs

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Completed initialization

Aug 04, 2016 5:52:35 PM hudson.WebAppMain$3 run

INFO: Jenkins is fully up and running

3.安装Performance plugin插件: Performance Plugin

.Performance plugin

4.配制Jenkins中的JOB

echo 'begin testing'

java -jar /Users/yjshi/Downloads/apache-jmeter-3.0/bin/ApacheJMeter.jar -Jjmeter.save.saveservice. output_format=xml -n -t /Users/yjshi/Downloads/TestPlan.jmx -l TestPlan.jtl

echo 'testing end'

5.运行JOB,查看结果

Jenkins执行结果

6.在JOB的workspace下会生成两个文件jmeter.log TestPlan.jtl

jmeter.log TestPlan.jtl

配制运行报告

1.添加测试报告

 

报告读取

2.查看统计结果

统计结果

后续

1.可将jmx文件存放到仓库中,便于维护和管理

2.将JOB添加到版本构建中,在版本构建完成后,自动执行性能,确保每次的版本Build均满足性能需求

参考

1.JMeter

2.Jenkins

3.Performance Plugin

4.Continuous Integration 101: How to Run JMeter With Jenkins

 

 

   
次浏览       
相关文章

微服务测试之单元测试
一篇图文带你了解白盒测试用例设计方法
全面的质量保障体系之回归测试策略
人工智能自动化测试探索
相关文档

自动化接口测试实践之路
jenkins持续集成测试
性能测试诊断分析与优化
性能测试实例
相关课程

持续集成测试最佳实践
自动化测试体系建设与最佳实践
测试架构的构建与应用实践
DevOps时代的测试技术与最佳实践
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]

LoadRunner性能测试基础
软件测试结果分析和质量报告
面向对象软件测试技术研究
设计测试用例的四条原则
功能测试中故障模型的建立
性能测试综述
更多...   


性能测试方法与技术
测试过程与团队管理
LoadRunner进行性能测试
WEB应用的软件测试
手机软件测试
白盒测试方法与技术


某博彩行业 数据库自动化测试
IT服务商 Web安全测试
IT服务商 自动化测试框架
海航股份 单元测试、重构
测试需求分析与测试用例分析
互联网web测试方法与实践
基于Selenium的Web自动化测试
更多...