性能测试术语(一)
性能测试术语解释
大家好! 最近有很多功能测试人员学习并转型做性能测试,同学们都很努力;但是也暴露出来一些问题,其中就有对性能测试概念理解不清楚一头栽进性能测试工具的使用和脚本编写上,往往绕很多弯路研究了一大堆最后没有用上,白白浪费大把时间走了弯路。在此我想建议大家:性能测试的学习一定要先了解并掌握性能测试的基本概念和术语,避免走弯路。希望能给大家一点帮助,如有不足的地方欢迎提出宝贵意见,谢谢!
性能测试:
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
性能测试目的:
性能测试的目的是验证软件系统是否能够达到性能指标,同时发现性能瓶颈,以优化软件,最后起到优化系统的目的。性能测试包括以下几个方面:
- 评估系统能力:规划系统容量规模。
- 找到系统弱点:链路中成为瓶颈的中间件、数据库、应用服务(木桶理论)。
- 发现系统问题:由于环境、代码、数据等原因引起的请求失败、内存、CPU、IO异常乃至宕机。
- 性能调优:发现瓶颈后,提出优化方案、验证方案效果。
- 验证稳定性和可靠性:疲劳稳定性测试。
以下性能测试关注的指标术语:
事务:
事务(Transaction),指要做的或所做的事情。我们为了衡量某个操作的性能,需要再操作的开始和结束位置插入这样一个范围,这就定义了一个transaction。以HTTP请求为例,事务可以是一个HTTP请求,也可以是若干HTTP请求,取决于测试需求,如:“登录”事务可以包含一个只负责登陆的接口请求,也可以有若干图片资源请求,验证码请求,登陆请求等若干接口请求。
TPS:
TPS(Transaction Per Second)
每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。TPS是LoadRunner中重要的性能参数指标。
响应时间:
事务响应时间是通过记录用户请求的开始时间和服务器返回内容到客户端时间的差值来计算用户操作响应时间。
系统用户数/同时在线人数/并发用户数:
系统用户数就是注册了系统的所有用户的数量
在线用户数就是同时登陆系统在线的用户数量
并发用户数是对某一操作或者功能,进行同时操作访问的用户数量
例子:某网5亿系统用户数、每天有超过6000万的固定访客,以平均在线半小时估算,高峰每小时1000万在线用户数,双十一对外声称38万并发。
吞吐量:
在性能测试中吞吐量是每秒钟事务数(TPS)。在某些测试场景中也可以把每秒网络流量称之为吞吐量。
思考时间:
思考时间模拟实际用户在不同操作之间等待的时间。
以下性能测试脚本术语:
检查点:
loadrunner中可以设置文本检查点和图片检查点,检查点通过对服务器返回内容的检查来判断请求(事务)是否成功。在JMETER中称之为xx断言。
集合点:
集合点可以控制各个 Vuser 以便在同一时刻执行某个任务(事务请求)。
关联:
关联(correlation)是把脚本中某些写死的(hard-coded)数据,转变成是撷取自服务器所送的、动态的、每次都不一样的数据。
举一个常见的例子,服务器在每个浏览器第一次跟它要数据时,都会在数据中夹带一个唯一的辨识码,接下来就会利用这个辨识码来辨识跟它要数据的是不是同一个 浏览器。一般称这个辨识码为Session ID。对于每个新的交易,服务器都会产生新的Session ID给浏览器。这也就是为什么执行脚本会失败的原因,因为脚本还是用旧的Session ID向服务器要数据,服务器会发现这个Session ID是失效的或是它根本不认识这个Session ID,就不会传送正确的网页数据给脚本了。JMETER中用正则表达式完成关联任务。
参数化:
参数化是改变某一参数的值,具体来说是模拟真实用户的行为,需要不同的账户信息, 每个虚拟并发用户用不同登陆信息登录。