摘要:而性能测试却需要顾及方方面面。测试人员眼中的性能测试需要考虑全面的性能,包括用户开发管理员等各个视角的性能。性能测试场景可理解为一个具体的测试用例。响应时间性能测试中衡量交易性能的重要手段。通常表示一次交易申请和响应返回的过程。
大家好,我们本章开始学习Jmeter,后续还会有RF以及LoadRunner 的介绍,为什么要学习Jmeter,它主要是用来做性能测试的,其中它也需要间接或直接的需要用到抓包工具,至于为什么需要用到抓包工具,我们第二章就会讲到。
本人自己也有个公众号(Sea_Cha),各位朋友想了解测试的各种问题可以留言告诉我,我会直接在公众号里进行更新。
那么什么是性能测试,它与功能测试有什么样的区别?
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试
简单的来说性能测试和功能测试最大的区别在于功能测试通常有明确的需求说明。而性能测试却需要顾及方方面面。
测试人员眼中的性能测试需要考虑全面的性能,包括用户、开发、管理员等各个视角的性能。做性能测试时除了要关注表面的现象如响应时间,也需要关注本质,比如用户看不到的服务器资料利用率,架构设计是否合理?代码是否合理等方方面面。
所以,做性能测试的测试工程师也很不简单,难度远比功能测试高。
jmeter中有很多的功能,还有一些容易让你产生错误理解的字词,让我们来看看有哪些吧。
【虚拟用户】:模拟现实中的实际用户,测试工具使用虚拟用户替代真实用户。
【性能测试场景】:可理解为一个具体的测试用例。它是测试资源包括测试脚本、运行设置、运行用户数等的集合。在场景中,可以定义并发用户的数目,定义要运行的脚本。在一个场景中,可以是单个流程,也可以是多个流程的混合。
【事务】:为一个流程中某个或某些环节的称谓,一个流程可称为一个大的事务,在这个大的事务中可包含许多小的事务。
【响应时间】:性能测试中衡量交易性能的重要手段。计算的是端到端的时间,通俗讲是指从客户端发出交易请求到得到响应的整个过程。
【平均响应时间】:指在测试过程中所有交易请求过程中平均的响应时间。也就是总共的交易量除以总共的交易时间。通常以秒为时间单位。
【90%响应时间】:将所有交易的响应时间按照从小到达排列,取排在90%的那个值,主要用于衡量系统的稳定性,比如两组数据 {1,3,5,10,16} 和 {5,6,7,8,9},他们的平均响应时间都是7,但是前面一组数据的90%响应时间值为16,而后面一组为9。越靠近90%,那么说明越稳定。
【TPS】:系统每秒处理交易的数量,单位是笔/秒。其是衡量系统处理能力的重要指标。通常表示一次交易申请和响应返回的过程。
【QPS】:通常指的是每秒查询率,是一台服务器每秒能够相应的查询次数,是对查询服务器规定时间内处理流量多少的称量标准。
【网络吞吐量】:指单位时间内通过网络成功传输的数据量。单位为Byte/s。
【资源利用率】:主要指服务器硬件资源,网络资源等如cpu,内存使用率,磁盘IO,网络IO等。
【思考时间】: 指在测试过程中虚拟用户在与系统产生交互之间的一个等待时间,用于模拟真实环境真实用户在使用系统时每一步操作的等待间隔时间。
【并发数】:指在某一时间,一定数量的虚拟用户同时对系统进行交互操作,通常性能测试工具可以设置集合点以加强并发点
1.评估系统的能力,测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策。
2.识别体系中的弱点:受控的压力可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。
3.系统调优:重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。
检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中的隐含的问题或冲突。
4.验证稳定性(resilience)可靠性(reliability):在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。
5.通过预埋未来数据,比如三年后的数据量来评估系统未来的支撑情况。
6.通过节点性能测试可以用于计算生产服务器节点配比。
Apache JMeter是Apache组织开发的基于Java的压力测试工具,是一款开源软件,并且是100%的纯java开发,可以在window和linux上面运行。
Jmeter下载地址:https://jmeter.apache.org/download_jmeter.cgi
Jmeter下载后可以配置下jmeter的环境变量
(1)变量名:JMETER_HOME 变量值: D:/apache-jmeter-5.0
(2)变量名:Path 变量值: %JMETER_HOME%/bin;
(3)变量名:CLASSPATH 变量值:
%JMETER_HOME%/lib/ext/ApacheJMeter_core.jar;%JMETER_HOME%/lib/jorphan.jar;
这里注意了:即使不配置环境也是可以使用的,只不过需要进入到文件夹里面找到jmeter.bat双击打开即可。
官网下载的都是这种英文的,虽然也会有汉化的可以下载,不过没必要,jmeter还是比较人性化的,里面可以直接设置。
上面的是简体,下面的是繁体,设置完成后虽然不能完全汉化,但是也是够用了。
我们可以添加一个线程组,线程组中添加一个HTTP请求
这里说到HTTP请求,下一章节我们讲讲抓包,使用的工具是fiddler,可以自己去下载下来玩玩,除了jmeter可以用到fiddler,postman也是可以用到的,而且postman用到的更加的频繁。
除此之外我们在里面可以添加很多的小工具,可以断言,断言则需要根据具体所需进行对应的选择才行。
还有模式匹配规则,一般的话是包括,比如断言某一段文字,从登录界面跳转到主页面,主页面某些固定的文字信息,则可以用来断言。
本章就先讲到这,下一章讲讲fiddler的使用。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/118904.html
摘要:协议学习常见请求方法学习和学习接口的基本概念接口文档认识接口测试用例编写接口测试工具使用软件测试自动化进阶性能测试性能测试的技术要求很高,不仅仅要对性能测试的指标测试分类测试设计有很深刻的理解。 ...
用Jmeter做接口测试只需要掌握几个核心功能就可以了。 并不一定要把它所有的功能都掌握,先掌握核心功能入行,然后再根据工作需要和职业规划来学习更多的内容。这篇文章在前面接口测试框架(测试计划--->线程组--->请求--->查看结果树)的前提下,来介绍必须要掌握的几个核心功能,力求用最短的时间取得最大的成果。 在前面的文章中我提到,用Jmeter做接口测试的核心是单接口测试的参数化和关联接口测试...
摘要:半路出家的前端程序员应该不在少数,我也是其中之一。年,冯冯同事兼师兄看我写太费劲,跟我说对面楼在找,问我要不要学,说出来可能有点丢人,但是在那之前,我真得不知道什么是,什么是。 半路出家的前端程序员应该不在少数,我也是其中之一。 为何会走向前端 非计算机专业的我,毕业之后,就职于一家电力行业公司,做过设备调试、部门助理、测试,也写过一段时间的QT,那三年的时间,最难过的不是工作忙不忙,...
摘要:根据具体的自动化测试岗位来说的,不要觉得自动化测试是机构炒起来的,确实有它存在的必要。自动化测试是相对手工测试而存在的,主要是通过所开发的软件测试工具脚本等来实现,具有良好的可操作性可重复性和高效率等特点。 当代的打工人真的太苦了! 每个月拿着几千块的工资,却为公司拼命,为老板赚钱; 天天9...
阅读 1624·2021-11-02 14:42
阅读 521·2021-10-18 13:24
阅读 938·2021-10-12 10:12
阅读 1816·2021-09-02 15:41
阅读 3200·2019-08-30 15:56
阅读 2873·2019-08-29 16:09
阅读 2055·2019-08-29 11:13
阅读 3617·2019-08-28 18:06