性能测试总结(一)使用jmeter进行性能测试步骤

一、项目背景

我们的平台为全国某行业监控平台,经过3轮功能测试、接口测试后,98%的问题已经关闭,决定对省平台向全国平台上传数据的接口进行性能测试。

二、测试步骤

1、编写性能测试方案

   由于我是刚进入此项目组不久,只参与了其中3个模块的功能测试,一遍接口回归测试,所以在写性能测试方案时,首先将业务流程、业务功能梳理了一遍,重点对将要性能测试的接口的文档再次仔细看一遍,在导师的引导下,对各个接口响应的功能更加了解,收获最大是,性能测试应该对应各接口的实际功能,设计合适的用例,如:针对某一对象,有两种数据上传,一种是实时数据,一种是历史数据,此时,实时数据就应该更多考虑连续上传的稳定性,而历史数据应该更多考虑数据堆积后,一次上传多条(1000条)数据的情况,要去更多关注数据上传后的正确性,完整性。

   对各个接口功能和数据上传逻辑梳理清楚后,将每个接口性能测试的方法、测试项、需要的数据都设计好,整理后就是我们的测试方案了。下面是部分截图,

   测试方案是在在即实际操作尝试可行的情况下编写的,后续施行的过程中发现的需要调整的地方,按实际需求进行了调整。文档末我会附上本次性能测试中出现的问题和解决方法,希望对新学性能测试的盆友们有所帮助~

2、测试方案讨论

  将测试方案提交导师审核后,小组内开会讨论了此方案,组长对不合适的地方提出改进意见,同事们提出自己的想法,还有不清楚的地方也在大家的讨论中更明朗了。通过讨论后,测试方案变得更贴合项目需要、更可行了。本次需要修改的部分截图如下:

 

3、性能测试执行

我们使用Jmeter工具进行测试。接口信息如下:

协议方式

HTTP

请求方式

POST

编码格式

UTF-8

传输格式

JSON

测试脚本使用Java编写,数据打包为json格式。

4、输出测试报告

5、分析数据

6、问题排查

7、性能改进

三、案例分享

下面分析详细一个接口案例--历史数据上传。

1、创建一个线程组:打开Jmeter.bat,出现图形界面,依次点击如下图:

2、添加HTTP默认请求:添加此配件为了控制此线程组的访问地址和端口,依次点击如下:

配置HTTP默认请求参数,根据要测试的IP和端口,如下所示:

3、数据库连接配置:因为我们要从数据库获取企业信息,所以要配置数据库连接(使用配置元件-JDBC连接配置),若你们用固定的用户名和密码登录,可以省去此步。

JDBC连接配置:

Database

Driver class

Database URL

MySQL

com.mysql.jdbc.Driver

jdbc:mysql://host:port/{dbname}

PostgreSQL

org.postgresql.Driver

jdbc:postgresql:{dbname}

Oracle

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:@host:port:service

MSSQL

com.microsoft.sqlserver.jdbc.SQLServerDriver或者net.sourceforge.jtds.jdbc.Driver

jdbc:sqlserver://IP:1433;databaseName=DBname或者jdbc:jtds:sqlserver://localhost:1433/"+"library"

 

3、添加仅一次控制器:属于逻辑控制器,用来控制采样器的执行顺序。因为这里的用户只需要登录一次,所以用仅一次控制器,即表示此控制器下的内容在整个线程组运行中只循环一次。

4、添加HTTP请求:要添加在仅一次控制器下面,才能受它控制。HTTP请求属于Sampler(采样器),然后根据接口文档相关内容填写http请求内容。

 

5、添加正则表达式提取器:需要在http请求下面添加,因为要从http请求的响应结果中通过正则表达式来提取我们需要的key。

正则表达式:

    ():括起来的部分就是要提取的。

    .:匹配任何字符串。

    +:一次或多次。

    ?:不要太贪婪,在找到第一个匹配项后停止。

  (3)模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给引用名称的那个量(如:key)。如:$1$表示解析到的第1个值。

  (4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0。

(5)缺省值:如果参数没有取得到值,那默认给一个值让它取。

 

6、添加获取当前时间:使用采样器里的BeanShell Sampler。为了方便在Redis里查看数据时知道是什么时间上传的。次数需要在采样器中编写提取当前时间的java脚本。

7、使用java编写脚本设置上传数据,此处也使用Bean Shell Sampler采样器。数据需要json格式。这里开始,采样器就要添加在线程组下面,因为数据有可能要多次循环上传,如果只部分截图如下:

8、添加http请求,将刚设置的符合接口要求的数据上传。

9、添加监听器

在监听器中设置运行日志保存的位置.

10、运行后查看结果。

  • 9
    点赞
  • 201
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程从基础讲起,全课程以实战为主,每个知识点通过实际案例演练讲解理论+实践结合,更容易理解,适合小白,低门槛,快速上手。 课程同时涵盖web端和移动端app测试,同时还加入了抓包工具的使用; 1) 第一阶段为JMETER 5.4.1 (最新版本)工具使用篇,通过Jmeter 介绍和安装、http 取样器、JDBC 取样器、JMETER 组件详细讲解、配置元件、三种参数化方式教你玩转JMETER 参数化、工作过程中间所需的常用函数、聚合报告、察看结果树、汇总报告等监听器知识,后置处理器、后置处理器之正则表达式提取器提取响应内容实践、读取本地JSON格式文件实例、正则表达式操作符、正则表达式工具之Regextester,系统全面学习正则表达式,突破JMETER 知识难点,响应断言、JMETER分布式、分布式原理、搭建JMETER 分布式、WebService协议接口测试。 每一个知识点采用理论加案例的方式,吃透每一个知识点,为性能测试实践奠定基础。 2) 第二阶段为性能测试实践篇1、通过JMETER 实践爬虫技术,爬取第三方平台全网页地址、批量爬取国外网站壁纸10W+图片并保存到本地;2、详细介绍Fiddler 抓包工具,Fiddler 抓包工具原理、Fiddler 抓取PC 端和移动端包信息、JMETER+Fiddler 结合使用对PC 端项目进行性能测试项目实践,提升PC 端性能测试能力;3、JMETER+Fiddler  结合使用对app 项目进行性能测试项目实践,提升app项目性能测试能力4、性能测试常见的业务指标和技术指标、响应时间、TPS、HPS等知识进行讲解5、通过JMETER 对移动端项目进行性能测试实战; 
使用JMeter进行性能测试时,下面是一些详细的步骤: 1. 下载和安装JMeter:首先,你需要从官方网站(https://jmeter.apache.org/)下载并安装JMeter。 2. 创建测试计划:打开JMeter后,你需要创建一个新的测试计划。在左侧的树形结构中,右键点击测试计划,选择“Add” -> “Threads (Users)” -> “Thread Group”。 3. 配置线程组:在线程组下,你可以设置虚拟用户的数量、循环次数、延迟等参数。你可以根据实际需要进行调整。 4. 添加Sampler:Sampler用于发送请求。在线程组下,右键点击“Add” -> “Sampler” -> 选择你要测试的协议(如HTTP)。 5. 配置Sampler:根据你的需求,配置Sampler的参数,如请求URL、请求方法、请求头、请求体等。 6. 添加监听器:监听器用于收集和展示测试结果。在线程组下,右键点击“Add” -> “Listener” -> 选择你想要的监听器(如Summary Report、View Results Tree等)。 7. 配置监听器:根据需要,配置监听器的参数,如结果文件保存路径、报告格式、图表等。 8. 运行测试计划:点击工具栏上的“运行”按钮,或者使用快捷键Ctrl+R来启动测试。 9. 分析测试结果:测试完成后,你可以查看监听器中收集到的测试结果。这些结果包括请求响应时间、吞吐量、错误率等。你可以根据这些结果来评估系统的性能。 以上是使用JMeter进行性能测试的基本步骤。当然,根据具体的项目需求,你可能还需要配置更多的参数和添加更多的组件来完成更复杂的性能测试场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值