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

性能测试用来保证产品发布后系统的性能满足用户需求,在软件质量保证中起着重要作用。性能测试,我首选的工具是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",将分享进行到底...

jenkins 下载插件 一直失败_实用测试技能分享:jmeter+Jenkins性能测试自动化搭建...相关推荐

  1. jenkins 下载插件 一直失败_Jenkins. 安装错误: No such plugin: cloudbees-folder

    安装过程中出现一个错误: No such plugin: cloudbees-folder 安装插件,有时候会报类似的错误:An error occurred during installation: ...

  2. jenkins 下载插件 一直失败_Jenkins安装与插件下载

    Jenkins安装完以后,需要安装插件,但是众所周知因为墙的原因,所以插件下载很慢,甚至下载失败,网上查到的大部分方法都是修改升级站点的URL,但是几乎没用,下面我介绍一个绝对管用,极速下载插件的方式 ...

  3. jenkins 下载插件 一直失败_Jenkins 配置国内插件更新源

    Jenkins 社区的网络基础设施都是架设在国外的服务器上,而且,并没有在国内有 CDN 或者负载均衡的配置.所以虽然插件不是很大,但大多数时候,速度非常的慢,或者根本无非连接. 故国内出现了很多的 ...

  4. jenkins 下载插件失败处理办法

    jenkins 下载插件失败处理办法 jenkins 下载插件失败,提示: java.io.IOException: Downloaded file /app/jenkins_home/plugins ...

  5. jenkins下载插件失败

    jenkins 下载插件失败,提示: java.io.IOException: Downloaded file /root/.jenkins/plugins/powershell.jpi.tmp do ...

  6. jenkins下载插件慢

    如果觉得jenkins下载插件慢,试试下面这种方法 在插件安装界面先继续,注册完Admin账户后登录,在 jenkins --> Manage Jenkins --> Manage Plu ...

  7. idea下载插件搜索失败

    idea下载插件搜索失败 参考网址: https://www.jb51.net/article/195740.htm 出现问题 解决方案一 idea官网下载插件 官网地址 https://plugin ...

  8. jenkins下载插件失败的解决方案

    最近自己搭建jenkins,想实现远程部署环境,下载插件时提示失败,需要说明的是jenkins安装插件失败的原因是多样的,这里查找原因应该是镜像库地址的问题,以下是解决方案. 1.报错提示: 2.解决 ...

  9. Jenkins下载插件过慢,安装失败问题解决

    插件下载管理 因为下载源问题, 更换下载源后, 就可以解决: http://mirror.esuni.jp/jenkins/updates/update-center.json 更换方法: 找到插件管 ...

最新文章

  1. 解题:HEOI 2016 求和
  2. Redis-12Redis 流水线( pipeline )
  3. python 删除文件或文件夹
  4. nyoj-999 师傅又被妖怪抓走了
  5. apple color emoji_emoji的7个冷知识
  6. python 监听tcp端口_创建TCP监听_创建TCP监听_功能示例_Python SDK示例_SDK 参考_开发指南_负载均衡 - 阿里云...
  7. Java中list操作
  8. 【C++入门】C++ List类
  9. C++11 override 和 final 关键字
  10. docker常用操作(六)docker安装内网穿透nps
  11. 遗传算法MATLAB
  12. WMS 怎么搞定库内拣选与分拣?
  13. RMAN delete noprompt obsolete参数研究
  14. 【认证/测试】产品的IP等级防水/防尘解析以及测试方法
  15. 用Python自带的tkinter制作一款简易音乐播放器(附工程文件)
  16. 华为路由器接口如何区分_华为路由器的usb接口是什么意思
  17. 阿里旺铺运营怎样做到低价引流
  18. python爬取虎扑评论_python爬取网站数据
  19. java、正则表达式、php校验“统一社会信用代码”
  20. 医疗平台,专攻医学软件方向,病历云、影像学、实验室检验

热门文章

  1. 如果有一个想法,你如何表述?
  2. 测试用例设计技术之一等价类法
  3. VB6.0动态加载ActiveX控件漫谈[转]
  4. 华为交换机Trunk配置
  5. Ubuntu 18安装谷歌浏览器
  6. Linux 下使用Postgre中的命令,要使用postgres这个用户
  7. postgre帮助文档。
  8. 【Oracle】三种表连接方式
  9. 实战互联网公司数据存储解决方案
  10. springmvc全局异常处理ControllerAdvice区分返回响应类型是页面还是JSON