这阶段有幸接手了公司新产品的测试,所以一直都很忙。后台收到一些同学的私信,想多了解下性能测试,正好闲暇之余,终于有时间总结了一些性能测试实践经验和测试过程,就跟大家聊一聊。
性能测试用来保证产品发布后系统的性能满足用户需求,在软件质量保证中起着重要作用。性能测试,我首选的 工具 是JMeter,而且不得不说JMeter也是一款非常好的接口测试工具。
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使配置生效,很简单。
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插件;
然后新增一个根据用户名密码登录的credentials权限认证
最后就是配置节点,主要涉及配置jdk目录。
4、Jenkins上安装性能插件
主要是安装HTML reports和performance test result report插件
下载2个Jenkins插件,安装即可。
5、新建job
核心的内容如下
选择刚才的节点机为执行的机器,构建行为采用 shell 命令,构建后添加html report和performance trend。
6、验证结果
最后的效果如下。
可以看到丰富的html报告结果;
可以横向比较每个版本的性能基线;
ps:搭建jmeter性能测试自动化过程中遇到问题记录。
问题:
Jenkins无法展示性能测试的html结果
解决方法:
修改Content Security Policy的默认配置,进入ManageJenkins->Script console,输入如下命令并进行执行。
总结:
截止目前,jmeter+Jenkins性能测试自动化搭建已经完成,如果需要你也可以使用Ant集成。这个过程依然存在很多的不足,我会继续努力争取以后分享更多有价值的干货。古人云"The more we share, the more we have",将分享进行到底...
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
RESTful Web Services Cookbook
Subbu Allamaraju / Yahoo Press / 2010-3-11 / USD 39.99
While the REST design philosophy has captured the imagination of web and enterprise developers alike, using this approach to develop real web services is no picnic. This cookbook includes more than 10......一起来看看 《RESTful Web Services Cookbook》 这本书的介绍吧!