继上篇blog,本篇我们具体讨论一下,如何利用Jenkins做持续的性能测试,前面我们说过因为互联网软件发布频繁,需要做到小步快跑,快速反馈,我们在自动化,接口测试的时候已经能够做到快速反馈,所以希望性能测试同样能够快速反馈,我们希望的是能够构建一个云性能测试平台,这样能够让开发工程师,功能测试工程师都参与到性能测试中来,而不仅仅是由性能测试工程师在功能测试之后再进行性能测试,总之快速反馈问题是互联网软件测试的宗旨。
下面具体谈一下我们是如何利用Jenkins来执行性能测试的,关于Jenkins的具体设置不再这里做介绍.
首先我们利用了git来做我们的脚本库,关于为什么选择git而不是subversion,大家可以去网上搜一下git和svn的区别。
其次持续性能测试有两个触发条件,第一个条件是当开发提交并发布新的版本的时候。第二个条件是性能测试脚本库脚本发生提交或者更新事件。
最后我们来配置我们的Jenkins build Job:
1.源码管理:
2.构建触发器:
3.构建后操作:
第三步解释一下,jenkins本身有一个Jmeter插件可以用来显示jmeter的一些执行结果.但是显示的结果有点粗糙.
以下这个图是我们自己解析后产生的结果:
从上面两个图中可以看到具体性能指标信息.
当然这里还没有包括服务器性能指标的收集,这个性能指标为的是快速的能够将一些基本的信息,如TPS,RESPONSE TIME,Standard devitation反馈给开发人员。
开发人员和测试人员可以将自己的测试脚本上传到脚本库里面,并在Jenkins里面配置好job,便可以利用Jenkins去调度和执行性能测试,并反馈测试报告。这个过程
类似云平台,解决了开发工程师和功能测试工程师没有具体的性能测试环境,也解决了性能测试及时性的问题,将性能测试前置到应用开发的各个阶段,而所需要的仅仅是
上传一个测试脚本,数据在云端已经帮你准备好。这就是所谓的云测试平台。