JMeter全程实战、性能测试实战、分布式性能测试、真实案例分析

测试需求描述



1、 本次测试的接口为http服务端接口

2、 接口的主要分成两类,一类提供给查询功能接口,一类提供保存数据功能接口,这里我们举例2个保存数据的接口,因为这两个接口有关联

性,比较有代表性;

保存信用卡账户信息接口:

传入参数:

args={

"clientNo":"434343556",

"alias": "**信用卡2",

"cardName": "长城*****卡2",

"cardNo": "25622356788251",

}

传出参数:

保存成功:{"returnCode":"0","returnMsg":"保存成功"}

保存失败:{"returnCode":"1","returnMsg":"保存失败"}

保存逻辑:数据传入进来,验证通过,保存到信用卡账户表中

保存信用卡账单接口:

传入参数:

args={

"clientNo":"434343556",

"accountName": "测试",

"billDate": "08",

"billMonth": "201509",

"cardNo": "25622356788251",

"currentPayment": "欠款459.80",

"paymentDate": "2015-09-25 09:00:00",

}

传出参数:

保存成功:{"returnCode":"0","returnMsg":"保存成功"}

保存失败:{"returnCode":"1","returnMsg":"保存失败"}

保存逻辑:保存时先去信用卡信息表查看clientNo对应的表是否存在,如存在则数据校验通过,将数据保存进入信用卡账单表

测试分析



1 、 逻辑分析

1) 、从保存逻辑上来看,这两个接口明显是有依赖关系的,所以我们先测试信用卡账户信息接口,再测试保存信用卡账单接口

2) 、接口传入的数据,最终是保存到数据库中,所以当接口返回保存成功的时候,我们也要去对应的数据库表中核对相应的数据

3) 、当出现保存失败的情况时,我们需要查看系统的日志,所以我们也要准备好查看日志的权限和地址

2 、测试工具的准备

1) 、单个接口测试,我们使用火狐的插件 poster

2)、多个接口测试,我们使用Jmeter进行测试

使用工具测试



1、Poster工具

2、使用Jmeter对接口测试

首先我们说一下为什么用Poster测试后我们还要用Jmeter做接口测试,在用poster测试时候会发现的是一个接口一个接口的测试,我们每次

测试成功后的数据,在工具中是无法保存的,再次测试的时候我们还要重新输入测试的数据,当我们测试一个接口的时候可能感觉不明显,但是当你

测试几十个接口的时候,你就会发现使用Jmeter的好处,如果测试阶段来说冒烟测试我们用poster,集成测试我们用Jmeter

具体步骤



1、首先邮件添加一个线程组,这里我们重命名InterfaceTest

2、在线程组上添加一个Http默认请求,并配置服务器的IP地址和传输编码

3、在线程组中添加一个HTTP请求,这里我们重命名“增加 信用卡账户信息接口 ”

4、配置接口请求信息,这配置示例如下:

5,在 保存信用卡账单接口请求,示例如下:

注:由于Jmeter请求线程组内的请求时从第一个开始执行,所以我们将需要最先执行的请求放在前面

6、在 线程组上添加监听器,察看结果树和聚合报告

7、点击启动,运行结束后查看,结果树和聚合报告

8、去数据库中核对数据

大批量数据制造



思路:

1、可参数化的参数, 保存信用卡账户信息接口( clientNo,cardNo ),保存信用卡账单接口( clientNo,cardNo, billMonth,paymentDate)

2、两个接口的依赖关系,保存信用卡账单接口( clientNo,cardNo)要和 信用卡账户信息接口( clientNo,cardNo )的两个相同,也就是说这两个

要用一个参数,且还不能重复

根据上面两个接口的特点,( clientNo,cardNo) 我们 选取使用计数器,每循环一次计数器加1,那么我们将线程组设置循环执行1万

次; billMonth,paymentDate,这两个日期我们是使用随机函数${__Random(1,9,)},将月份参数化;

3、在线程组上创建计数器,配置如下:

4、引用计数器和随机函数

信用卡账户接口传入参数

args={

"clientNo":"${add}434343556",

"alias": "**信用卡2",

"cardName": "长城*****卡2",

"cardNo": "${add}25622356788251",

}

账单接口传入参数

args={

"clientNo":"${add}434343556",

"accountName": "测试",

"billDate": "08",

"billMonth": "20150${__Random(1,9,)}",

"cardNo": "${add}25622356788251",

"currentPayment": "欠款459.80",

"paymentDate": "2015-0${__Random(1,9,)}-25 09:00:00",

}

5、设置线程组循环测试,点击运行

简单的性能测试



当前测试环境下,TPS峰值为317.6次/秒。根据业务预期的客户日常访问量50次每分钟,按照每客户访问一次调用全部13个接口计算,则业务预期为50*13=650次/分=10.83次/秒。测试结果表明系统的业务处理能力符合业务预期。

由响应时间来看,保存XXXX这个接口的响应时间明显较慢,在50线程并发的时候,90%响应时间为7.7秒,而75线程并发的时候则达到了24秒,建议进行优化。

由点击率,响应时间,TPS统计图可知,整个稳定性测试期间,系统反应很稳定。

详细测试结果:

1. 负载测试

场景运行测试时间:10分钟

2. 稳定性测试

场景运行时间:1小时

原文地址:https://www.cnblogs.com/rjcs168/p/9940816.html

时间: 2024-10-21 16:50:56

JMeter全程实战、性能测试实战、分布式性能测试、真实案例分析的相关文章

【视频】PHP项目性能测试实战

很多培训都不讲TA,但我们却需要TA!SO看这里吧! 1.项目介绍 2.需求分析 3.场景设计 4.PHP监控方法 5.多个典型问题分析 6.代码级性能调优 7.真实案例分析 地址:http://edu.51cto.com/course/course_id-4390.html ps:配合nginx视频看更佳 地址:http://edu.51cto.com/course/course_id-4021.html

JAVA性能测试实战之真实OA系统开发教程

JAVA项目性能测试实战之真实OA系统开发课程 课程观看地址:http://www.xuetuwuyou.com/course/31 课程出自学途无忧网:http://www.xuetuwuyou.com/ 通过一个真实在用的OA系统展示一个性能测试项目如何进行,包括但不限于环境搭建.性能需求分析.性能 指标制定.场景设计.脚本开发.监控部署以及性能结果分析与优化.没有废话更多的是实在接地气的知识 . 1-课程介绍与项目介绍 2-测试环境搭建和被测程序部署 3-性能测试需求分析 4-性能测试用例

小强性能测试实战精讲班 开始招生啦 3月30号开班哦

因为不是天生丽质,所以必须天生励志! 写在开始的话 想法太多,顾虑太多,让自己无法前进.仔细想想,是自己困住了自己,是自己给自己戴上了枷锁! 改变,永远不嫌晚.无论你是几岁,也无论你目前所处的境况有多糟,只要立定目标.一步一步往前走,人生随时都有翻盘的可能性.新的一天,你要加油! 课程介绍 大家期待已久的高级性能测试培训开课啦!经过数万名学员验证的课程体系,质量的保证,超过95%的内容都是实战!秉承一贯的风格:幽默.无废话.接地气.通俗的讲解且穿插大量的真实案例,让你的学习不在吃力. 测试领域的

PHP性能测试实战视频教程

PHP项目性能测试实战课程 课程观看地址:http://www.xuetuwuyou.com/course/44 课程出自学途无忧网:http://www.xuetuwuyou.com/ 本课程模拟一个电商的PHP项目,对项目中的关键点进行分析,同时通过具体的实战来引出典型的性能问题,并进行分析解决.除此之前也会介绍代码级别的性能测试过.但最重要的是通过此次项目掌握分析问题的思路和方法. 课时1:项目介绍 课时2:需求分析 课时3:场景设计 课时4:典型问题实战1 课时5:PHP的监控方法 课时

Web开发典藏大系:Web性能测试实战详解 PDF扫描版

本书主要讲解了大数据背景下的Web性能测试的特点和方法,以及使用业内应用非常广泛的工具――LoadRunner 11进行性能测试的具体技术与技巧.本书理论结合实践,讲解图文并茂,并且将IT技术与生活场景结合起来,生动而又形象. 本书共17章,分为5篇.第1篇介绍软件测试的定义.方法和过程.Web应用开发与测试等内容:第2篇介绍Web应用技术.Web性能测试的基础.Web性能测试的方法和各操作系统性能计数器的获取等内容:第3篇介绍如何使用LoadRunner进行Web应用性能测试,包括LoadRu

JMeter基础之一 一个简单的性能测试

JMeter基础之一 一个简单的性能测试 上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢.这一节创建一个简单的测试计划来使用这些元件.该计划对应的测试需求. 1)测试目标网站是fnng.cnblogs.com  和 tt-topia.rhcloud.com 2)测试目的是该网站在负载达到20 QPS 时的响应时间. QPS 解释 QPS : Query Per Second 每秒查询率.是一台查询服务器每秒能够处理的查询次数.在因特网上,作为域名系统服务器的机

实战1 伪分布式Hadoop单节点实例 CDH4集群安装 Hadoop

Hadoop由两部分组成 分布式文件系统HDFS 分布式计算框架MapReduce 其中分布式文件系统(HDFS)主要用于大规模数据的分布式存储,而MapReduce则构建在分布式文件系统之上,对于存储在分布式文件系统中的数据进行分布式计算. 详细的介绍个节点的作用 NameNode: 1.整个Hadoop集群中只有一个NameNode.它是整个系统的中枢,它负责管理HDFS的目录树和相关文件 元数据信息.这些信息是以"fsimage (HDFS元数据镜像文件)和Editlog(HDFS文件改动

转:性能测试中的性能测试指标与用户体验分析

转自:http://www.ltesting.net/ceshi/ceshijishu/xncs/2012/0223/204182_2.html 性能测试中的性能测试指标与用户体验分析 网络应用性能分析的目的是准确展示网络带宽.延迟.负载和TCP端口的变化是如何影响用户的响应时间的.利用网络应用性能分析工具,例如 Application Expert,能够发现应用的瓶颈,我们可知应用在网络上运行时在每个阶 网络应用性能分析的目的是准确展示网络带宽.延迟.负载和TCP端口的变化是如何影响用户的响应

java实战系列-实战中MAVEN私服的搭建

 实战中MAVEN私服的搭建 利用maven来管理项目的构建,报告和文档已经成为了我们现在的共识,任何开源软件基本都在使用,当然我们现在的大部分公司也基本都在使用,我把以前使用maven的一些经验在进行加工呈现给大家,希望可以帮助一些当前正在学习maven的初学者们还有刚毕业的学子们! 我会结合Eclipse+nexus+maven的实践来个大家做介绍! Nexus是Maven仓库管理器,虽然我们可以从Maven中央仓库下载所需要的构件(artifact),但这样会让我们的编译过程变得相当的慢