实用测试技能分享:jmeter+Jenkins性能测试自动化搭建

栏目: Java · 发布时间: 5年前

这阶段有幸接手了公司新产品的测试,所以一直都很忙。后台收到一些同学的私信,想多了解下性能测试,正好闲暇之余,终于有时间总结了一些性能测试实践经验和测试过程,就跟大家聊一聊。

性能测试用来保证产品发布后系统的性能满足用户需求,在软件质量保证中起着重要作用。性能测试,我首选的 工具 是JMeter,而且不得不说JMeter也是一款非常好的接口测试工具。

实用测试技能分享:jmeter+Jenkins性能测试自动化搭建

Jmeter应用领域

JMeter是Apache组织开发的基于 Java 的性能测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域

1.可用于压力测试及性能测试,数据库测试,Java程序的测试,HTTP及FTP测试,Web Service测试等等

2.可用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试

3.可用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的 强度和分析整体性能

4.可用于对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果

Jmeter虽然是一款广泛使用的性能测试工具,然而,在执行测试前,用户往往需要花费很多额外的精力和时间配置测试环境。

同时在进行测试时,使用单台服务器模拟数以千计的用户对目标服务器产生负载,受限于服务器的性能可能无法满足需求,这就需要一个多台服务器的分布式的并发的测试环境。

因此就需要一个基于Jmeter和Jenkins的自动化性能测试来解决以上问题。

框架介绍

首先用jmeter录制或者书写性能测试的脚本,用maven添加相关依赖,把性能测试的代码提交到github,在jenkins配置git下载性能测试的代码,配置运行脚本和测试报告,配置运行失败自动发邮件通知,这样一来性能测试的job配置完成。

接着,把性能测试的job配置成开发job的下游job,一旦开发有了新的代码提交运行开发自己的job后,就会自动触发我们性能测试的job。这样我们就实现了接口性能测试的全自动化,我们只需要关注测试失败的邮件!

1、安装java、maven

首先在远程的压测机上安装java、maven

解压缩相应的tar包

配置/etc/profile路径

Source /etc/profile使配置生效,很简单。

实用测试技能分享:jmeter+Jenkins性能测试自动化搭建

2、安装Jenkins

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

yum install Jenkins

启动service jenkins start

利用ip:port访问,进入Jenkins首页进行相应配置。

默认端口8080、主目录路径/usr/lib。

3、在Jenkins上新建节点机

节点机即压测机,即你要用哪台机器跑你的job。

首先安装ssh plugin插件;

实用测试技能分享:jmeter+Jenkins性能测试自动化搭建

然后新增一个根据用户名密码登录的credentials权限认证

实用测试技能分享:jmeter+Jenkins性能测试自动化搭建

最后就是配置节点,主要涉及配置jdk目录。

实用测试技能分享:jmeter+Jenkins性能测试自动化搭建

4、Jenkins上安装性能插件

主要是安装HTML reports和performance test result report插件

下载2个Jenkins插件,安装即可。

实用测试技能分享:jmeter+Jenkins性能测试自动化搭建

5、新建job

核心的内容如下

选择刚才的节点机为执行的机器,构建行为采用 shell 命令,构建后添加html report和performance trend。

实用测试技能分享:jmeter+Jenkins性能测试自动化搭建

实用测试技能分享:jmeter+Jenkins性能测试自动化搭建

6、验证结果

最后的效果如下。

可以看到丰富的html报告结果;

可以横向比较每个版本的性能基线;

实用测试技能分享:jmeter+Jenkins性能测试自动化搭建

实用测试技能分享:jmeter+Jenkins性能测试自动化搭建

ps:搭建jmeter性能测试自动化过程中遇到问题记录。

问题:

Jenkins无法展示性能测试的html结果

解决方法:

修改Content Security Policy的默认配置,进入ManageJenkins->Script console,输入如下命令并进行执行。

实用测试技能分享:jmeter+Jenkins性能测试自动化搭建

总结:

截止目前,jmeter+Jenkins性能测试自动化搭建已经完成,如果需要你也可以使用Ant集成。这个过程依然存在很多的不足,我会继续努力争取以后分享更多有价值的干货。古人云"The more we share, the more we have",将分享进行到底...

实用测试技能分享:jmeter+Jenkins性能测试自动化搭建


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web协议与实践

Web协议与实践

克里希纳穆尔蒂 (KrishnamurthyBalachander) / 范群波 / 科学出版社 / 2003-7 / 46.0

本书全面论述了传输Web内容的系统和协议,重点讲述了Web中业已成熟和稳定的技术,如TCP/IP协议及DNS技术、HITP/1.0的设计及其与TCP之间的交互;深入阐述了Web高速缓存技术和多媒体流播技术的最新技术动态;分析了Apache Web服务器和Squid代理;还探讨了通信量的分析和测量技术。书中使用了大量示例、技术发展水平报告以及案例分析来阐述Web的工作原理和各个组件之间的交互。本书是......一起来看看 《Web协议与实践》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具