lsekfe 发表于 2022-5-25 10:36:35

第一次做性能测试?来捋一遍流程吧!

 确认需求
  确定性能需求和性能测试方案、需要确定性能测试范围(覆盖哪些场景)、性能测试策略、并发用户数和加压方式。
  时间、人员、任务的分配安排,一般在总体测试计划中会预留性能测试的时间。性能测试方案是开展性能测试前的核心内容,决定着性能测试如何开展的指标标准。
  其主要包括性能需求调研、性能测试范围、性能测试策略、并发用户数和加压方式、性能测试计划、用例等。其中性能测试方案中最重要的部分是计算并发用户数。
  在性能测试有个核心内容也是在谈性能测试时绕不过去的问题,就是并发用户数的计算。目前做性能测试采用的比较多的并发用户数的评估策略是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:34

善于总结复盘,是个好习惯。
页: [1]
查看完整版本: 第一次做性能测试?来捋一遍流程吧!