现在的互联网产品,为了更快的占领市场,满足客户的需求,往往功能迭代速度快,一到两周就会发布新版本。而作为质量保障的最后一步,我们也需要快速地进行功能和性能的测试,今天就是利用 jmeter 和 Jenkins 搭建自动化性能测试平台,以实现性能测试的自动化和基线性能比较。新的同学也可以快速掌握哦!
为了更好的阅读体验,可以点击下面👇链接阅读,关注**大话性能**,可以持续免费学习工作测试技能干货!
http://dwz.cn/U8fAEYjd
在工作中会思考,性能测试自动化的目的,我个人觉得主要还是在于提升工作效率和质量。
所以自动化性能测试主要解决如下 3 个问题,也欢迎大家一起留言讨论:
1.每个小版本的快速性能测试回归;
2.各个版本的纵向性能基线比较;
3.性能测试前移,在版本提测前就可以性能验证;
下面就具体讲讲如何从头开始部署和搭建过程。
首先在远程的压测机上安装 java、maven
解压缩相应的 tar 包
配置/etc/profile 路径
Source /etc/profile 使配置生效,很简单。
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。
节点机即压测机,即你要用哪台机器跑你的 job。
首先安装 ssh plugin 插件;
然后新增一个根据用户名密码登录的 credentials 权限认证
最后就是配置节点,主要涉及配置 jdk 目录。
主要是安装 HTML reports 和 performance test result report 插件
下载 2 个 Jenkins 插件,安装即可。
核心的内容如下
选择刚才的节点机为执行的机器,构建行为采用 shell 命令,构建后添加 html report 和 performance trend。
最后大功告成,主要的效果如下。
1、可以看到丰富的html报告结果;
2、可以横向比较每个版本的性能基线;
问题 1:
Jenkins 无法展示性能测试的 html 结果
解决方法:
修改 Content Security Policy 的默认配置,进入 ManageJenkins->Script console,输入如下命令并进行执行。
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", “")
问题 2:
报/usr/bin/java 找不到或是 permission denied。
解决方法:
ln –s 做个链接到具体安装的 jdk 路径;
可能是 jdk 版本和 Jenkins 冲突,换个 jdk 版本试试;
大家可持续关注大话性能公众号,不断学习测试实战技能和高薪岗位内推。