性能测试(压测流程、方案、评审、脚本执行、分析报告)规范

本文详细阐述了性能测试的各个环节,包括压测申请、压测方案编写、方案评审、脚本开发、执行过程、结果分析、报告编写与评审,以及性能测试的估算方法和checklist。特别关注生产压测的异常中止标准和必要条件。
摘要由CSDN通过智能技术生成

一、性能测试流程:

 

1、压测申请

注意点:

  • 申请提出时间:至少在期望压测时间前3天提出压测申请。
  • 期望压测执行人:经过性能测试培训并通过考试的测试人员。
  • 压测环境:选择“生产环境”,则走按生产环境压测规范来进行后续流程;选择其他环境,则以非生产环境压测规范来进行后续流程。
  • 生产压测必要条件:生产压测选择生产压测必要条件,具体”生产压测必要条件“章节
  • 其他参考性能指标:可以是默认的几项,也可是其他自定义项。
  • 环境机型:填写被测环境应用机型,非生产环境压测,填写生产环境及被测环境机型。生产环境压测可只填写生产环境机型。此处可通过“环境机型查询”,通过输入“应用ID”,来查找机型结果,找到匹配的内容,选择后即可自动填入环境机型栏。

2、压测方案

注意点:

  • 编写人:压测方案由压测执行人编写。
  • 环境配比结论:通过“性能测试关键指标估算方法”,得出生产与测试环境配比。
  • 待测项及预期性能指标:填写被测环境配比后的期望结果。
  • 测试用例:测试目的大致可分3种,1、是否达到期望指标;2、找到最佳性能点;3、找到性能拐点。
  • 测试场景,请描述清楚与所选压测类型匹配的测试场景。
    • 负载测试:测试场景并发数由低到高等比递增,达到或超越期望结果。
    • 稳定性测试:测试场景并发数按性能拐点80%的并发量持续运行12小时以上。

3、方案评审

注意点:

  • 生产环境评审
    • 组织人:压测执行人 
    • 参与方:被测应用产品负责人、开发架构师及下游相关方开发架构师、运维负责人、监控组、技术平台相关负责人、专职性能测试,压测执行人与评审专职性能测试不可为同一人)或测试架构师(可选)
    • 评审结果:参与方都需要签字确认,确保方案无误。
  • 非生产环境评审
    • 组织人:压测执行人
    • 参与方:被测应用产品负责人、开发架构师,下游相关方开发架构师(可选)、专职性能测试(压测执行人与评审专职性能测试不可为同一人)或测试架构师(可选)

4、测试脚本开发

(略)

5、测试执行

注意点:

  • 生产压测
    • 事前:提前一天在钉钉-故障处理保障群发通知告知压测协助方,周知其他各方,内容包括:压测内容、预定开始、结束时间、预估影响范围。
    • 事中:钉钉-故障处理保障群,通知开始压测。压测期间触发“异常中止标准”,则立即停止压测,在故障处理保障群通报异常,并协助恢复。
    • 事后:钉钉-故障处理保障群,通知结束压测或者中止压测。
  • 非生产压测
    • 事前:提前一天在钉钉-质量改进部群发通知周知各方,内容包括:压测内容、预定开始、结束时间、预估影响范围。
    • 事中:钉钉-部门群,通知开始压测。
    • 事后:钉钉-部门群,通知结束压测。

6、结果分析

注意点:

  • 测试的通过/不通过的标准:
    • 压测中任一性能指标不符合预期结果,则压测失败,并中止。
  • 准出标准:无P0P1P2 Bug。

7、压测报告

注意点:

  • 环境配比结论:实际压测时,生产与测试环境配比。
  • 测试目标:实际被测环境配比后的期望结果。
  • 测试结果:实际待测项是否测试结果。
  • 与报告一同提交的图形报表,用于佐证实际压测结果真实可靠
    • 时间/tps变化图
    • 时间/cpu变化图(或其他资源消耗图,按需提供)
    • 时间/并发数变化图

 

8、报告评审

注意点:

  • 评审人:专职性能测试人员(压测执行人与专职性能测试人员相同的,则由测试架构师评审)
  • 评审结果:不通过则重测。

9、必压测接口判定

满足某些条件则为必压测接口

近一周工作日内接口峰值tps>=500

 

二、性能测试关键指标估算方法

估算方法前提条件计算公式
2.8法B/S系统提供UV,PV、接口提供被调次数,考察时间长度

并发数=uv*0.8/(8小时*0.2*3600秒)*3倍

处理能力(tps)=pv*0.8/(8小时*0.2*3600秒)

处理能力(tps)=被调次数*0.8/(8小时*0.2*3600秒)

8小时中,80%的访问量集中在20%的时间里
简单峰值法B/S系统提供UV,PV、接口提供被调次数,考察时间长度

并发数=uv*0.9/((12-8)*3600秒)*3倍

处理能力(tps)=pv*0.9/((12-8)*3600秒)

处理能力(tps)=被调次数*0.9/((12-8)*3600秒)

8~12点处理90%的访问量,其他时间处理10%的访问量
并发数精算法平均每天访问用户数、一天内用户从登录到退出的平均时间、考察时间长度

平均并发数=平均每天访问用户数*一天内用户从登录到退出的平均时间/考察时间长度

并发数=平均并发数+3√平均并发数

平均并发数=400*4/8=200

并发数=200+3√200=242

 

每天400个用户访问系统,平均时长4小时,访问时间段8小时内
并发数估算法一系统最大在线用户数

并发数 = 系统最大在线用户数*12%

并发数 = 2000*12%=240

系统最大在线用户数2000
并发数估算法二处理能力(tps),平均响应时间

并发数=处理能力(tps)*平均响应时间

并发数=200*0.5=100

tps:200trs/s

平均响应时间:500ms

性能比等比估算法

 
测试环境,生产环境机型相同,数量不同,如应用为耗CPU类则认为生产环境、测试环境处理能力比例为 6:1生产环境、测试环境机型相同,内存,磁盘大小不同,数量比例6:1
测试环境,生产环境机器CPU频率相同或差别不大,内核数不同,机器数量不同,如应用为耗CPU类则认为生产环境、测试环境处理能力比例 大于8:1测试环境,生产环境机器CPU频率相同或差别不大,内核数比例为2:8,内存,磁盘大小不同,机器数量比例1:2
测试环境,生产环境机型相同,数量相同,内存大小不同,如应用为耗io类则认为生产环境、测试环境处理能力比例为 6:1生产环境、测试环境机型相同,内存数量比例6:1
测试环境,生产环境机器CPU频率相同或差别不大,内核数不同,机器数量不同,内存大小不同,如应用为耗io类因为是耗io类,则忽略cpu差异,认为生产环境、测试环境处理能力比例为12:1测试环境,生产环境机器CPU频率相同或差别不大,内核数比例为2:4,内存数量比例是1:6,机器数量比例1:2

 

三、性能测试checklist

编号事项分类状态应用场景备注
1服务器端和客户端必须在同一个局域网内环境类确认  
2必须在有线网络情况下进行性能测试环境类确认  
3要注意检查点的设置,确认脚本是否成功执行脚本工具类确认  
4要考虑参数化和关联的资源消耗对性能的影响。脚本工具类确认  
5运行性能测试时关闭日志功能,调试脚本时可以打开日志功能脚本工具类确认  
6如果数据是会不断累加的,要考虑软件生命周期内可能的最大数据量环境类确认  
7测试不通过,需提供相关日志及数据给开发协查脚本工具类确认  
8性能测试必选期望指标,并发数、响应时间、处理能力(tps或qps)、成功率业务类确认  

 

四、性能测试Bug级别定义

级别名称定义
P0紧急

性能问题导致的系统崩溃/服务挂起

关键路径性能测试不符合预期性能指标

吞吐量占网络带宽的90%以上

P1严重

次要路径性能测试不符合预期性能指标

关键页面加载速度不符合预期性能指标,严重影响用户体验

小概率(小等于5%)P0bug

耗CPU类型应用,CPU资源使用率长时间处于100%

耗io类型应用,内存使用率长时间处于95%以上

吞吐量占网络带宽的70%以上

P2重要

非必要路径性能测试不符合预期性能指标

小概率(小等于5%)P1bug

耗CPU类型应用,CPU资源使用率长时间处于95%以上

耗io类型应用,内存使用率长时间处于90%以上

吞吐量站网络带宽的50%以上

 

五、预期性能参数

系统类型参数单位备注
B/S 页面UV(独立访客)位/天访问系统的一台电脑客户端为一个访客,同一天内相同的客户端只被计算一次
 PV(页面浏览量)次/天页面浏览量或点击量
 考察时长(访问量分布时长)小时例:访问量集中在工作时间,则按8小时计算
接口类被调次数次/天一天内接口被调用次数合计值
 考察时长(访问量分布时长)小时被调接口访问量集中的被调时长
 UV(独立访客)位/天访问系统的一台电脑客户端为一个访客,同一天内相同的客户端只被计算一次

 

六、生产压测异常中止标准

编号中止条件对应措施 
1被测系统及下游系统应用出现异常报错中止压测,故障群通知,上报监控中心及项目组,协助恢复 
2被测系统任一性能指标达到预警值中止压测,故障群通知,上报项目组 
3用户上报生产系统故障中止压测,故障群通知,协助恢复 
4被测系统大量GC中止压测,故障群通知,上报监控中心及项目组,协助恢复 
5监控发现数据库死锁、网络瓶颈、链接超时、线程池沾满不释放等异常告警中止压测,故障群通知,协助恢复 

 

七、生产压测必要条件

编号生产压测必要条件  
1容量规划治理  
2寻找链路瓶颈  
3   

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值