基于Jmeter和Jenkins的自动化性能测试的一站式解决方案

本文提出了一种名为ELP的自动化性能测试解决方案,它整合了Jmeter和Jenkins,解决了测试环境配置和分布式测试的挑战。ELP通过Jenkins插件提供简洁的用户界面,自动配置测试环境,执行分布式Jmeter测试,收集服务器性能指标并生成报告。此外,ELP通过SSH隧道解决防火墙问题,支持多种性能测试场景。
摘要由CSDN通过智能技术生成

作者: Yu, Qingguo Shen, Vivien Wu,Biyun

背景

性能测试用来保证产品发布后系统的性能满足用户需求,在软件质量保证中起着重要作用。Jmeter是一款广泛使用的性能测试工具,然而,在执行测试前,用户往往需要花费很多额外的精力和时间配置测试环境。同时在进行测试时,使用单台服务器模拟数以千计的用户对目标服务器产生负载,受限于服务器的性能可能无法满足需求,这就需要一个多台服务器的分布式的并发的测试环境。因此我们决定开发一个基于Jmeter和Jenkins的自动化性能测试的一站式解决方案ELP(Easy Load and Performance Testing, 简单的负载性能测试)来解决以上问题。

Jmeter是一款纯java开发并且开源的性能测试工具,其启动方式可以是GUI方式或者nonGUI方式,ELP中使用nonGUI方式启动Jmeter并执行分布式测试,启动命令为:jmeter -n -t testplan.jmx –R slave1,slave2。关于Jmeter的详细信息,请参阅附录[3]。

持续集成(CI,Continuous Integration)作为敏捷编程的基石现在已经被绝大多数的开发团队所广泛采用,自动化的持续集成测试也越来越受欢迎。我们目前使用的持续集成工具是Jenkins,我们的方案和Jenkins 服务器作了无缝的集成。关于Jenkins的详细信息,请参阅附录[1]和[2]。

概述

我们开发了一个Jenkins插件来完成整个性能测试过程,其中Jmeter Master启动在CI服务器上,负责分配和调度Jmeter Slave(启动在Traffic Server上)执行测试任务。关于如何开发Jenkins的插件,请参阅附录[5]。关于如何使用Jmeter进行分布式测试,请参阅附录[4]。ELP的设计需求如下:

1)       简洁的用户界面。

2)       自动完成测试环境的配置。

3)       支持通用的性能测试需求。

4)       调用Jmeter进行分布式测试。

5)       收集目标服务器的性能指标。

6)       根据性能指标数据生成图表报告。

除了以上功能需求,我们尽可能使用已有的资源,我们使用了已有的Jenkins插件Performance Plugin来展示测试结果。目前,这个方案能支持所有通用的性能测试,比如web应用测试,数据库测试等。

下图是ELP的用户界面,用户只需要填写相关配置信息。因为需要解决防火墙问题,因此需要用户输入登录远程服务器的用户名和密码来建立SSH隧道,其中密码经过加密后存储到磁盘。


                                                                                                                                     Figure 1

下图是ELP执行测试后收集到目标服务器性能指标的图形化报告。


  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值