51Testing软件测试论坛
标题:
第一次做性能测试?来捋一遍流程吧!
[打印本页]
作者:
lsekfe
时间:
2022-5-25 10:36
标题:
第一次做性能测试?来捋一遍流程吧!
确认需求
确定性能需求和
性能测试
方案、需要确定性能测试范围(覆盖哪些场景)、性能测试策略、并发用户数和加压方式。
时间、人员、任务的分配安排,一般在总体测试计划中会预留性能测试的时间。性能测试方案是开展性能测试前的核心内容,决定着性能测试如何开展的指标标准。
其主要包括性能需求调研、性能测试范围、性能测试策略、并发用户数和加压方式、性能测试计划、用例等。其中性能测试方案中最重要的部分是计算并发用户数。
在性能测试有个核心内容也是在谈性能测试时绕不过去的问题,就是并发用户数的计算。目前做性能测试采用的比较多的并发用户数的评估策略是80-20法则。
通过与项目团队(含客户、产品)评估出系统高峰期和高峰时段,得到该高峰时段的用户数量。
假设本电商系统高峰时段为双十一上午10点为高峰期(做秒杀/团购活动)的用户数量是10W用户量,高峰时段为15分钟。那么我们可以通过20-80法则来计算并发用户数,即80%的用户会在20%的时间内完成交易,计算结果为:(10W80%)/(15分钟60秒20%)=80000人/180秒=444.44人。
因为公司产品不只是为了满足当前的性能需求,还要能够满足未来3年的性能需求,而公司业务是增长的(不增长会被打死的),预计增长为20%(领导说了算,他开心就好),那么3年之后的并发用户数为:444.44人 * 1.2 * 1.2 * 1.2 = 768人 ,则得到每秒并发用户数768人。
由上可知,我们在线程组中设计的线程数为768,Ramp-up值为1,持续时间为10分钟(通用标准)。
脚本录制
录制性能测试脚本,增强脚本使性能测试脚本尽可能真实接近性能测试的实际情况(参数化、关联、定时器、集合点、断言)。
参数化
·
csv数据文件设置
·
用户变量和用户参数
·
函数助手
关联
前面响应数据的提取:在JMeter通过在前面请求中添加后置处理器创建正则表达式提取器,正则表达式提取器中包含引用名称即参数的名称,可以任意填写。
正则表达式要根据响应来填写,响应在查看结果树中可以获取,在查看结果树中对响应使用RegExpTester模式查看,获取到要关联的数据及左右边界,将要关联的数据使用(.*?)来替代。模板一般为111,匹配数字一般为1后面。
请求数据的关联:把需要关联的请求数据使用${}正则表达式的引用名称即参数替代即可。
断言
响应断言的操作主要包括四种:
·
包含:预期结果应该包在实际结果当中
·
匹配:使用正则表达式进行匹配
·
Equals:完全相等(很少用)
·
Substring:与包含差不多,但不能使用正则表达式匹配
运行
运行性能场景,收集性能测试结果(聚合报告、每秒活跃线程数、每秒事务响应时间、每秒平均事务数、每秒点
记录
、吞吐率),分析性能瓶颈(通过图表分析)。
出具性能测试报告。
过程描述、图表加文字说明、缺陷分析。
作者:
郭小贱
时间:
2022-5-27 09:41
善于总结复盘,是个好习惯。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2