hxz
发布于 2024-02-02 / 81 阅读
0

【性能测试】性能测试方案的设计

序言:

性能测试方案,包含:测试背景、测试目的、测试策略、测试内容、测试用例、风险等内容,一份详细的性能测试方案可以帮助团队成员明确测试计划和手段,更好的把控测试流程。

本文以我在实际工作中的项目举例,阐述如何编写性能测试方案。

方案设计:

一、测试背景

如果是测被测服务的压力,了解瓶颈,参考:

本次测试要在当前使用的硬件架构作出定性和定量测试,通过测试找出当前硬件架构的性能瓶颈和最大用户量等相关数据并通过分析程序中的瓶颈和找出解决方案,并为今后类似部署架构提供参考。

  1. 测试在当前硬件条件下,系统主要功能点在期望压力下的运行情况,以及系统能得到最大限度利用且系统响应时间在用户能够接受的范围内的最大并发数。

  2. 检查系统处于压力情况下,应用系统的表现,重点检查系统有无出错信息产生,系统应用的响应时间、资源情况等。

  3. 通过压力测试,分析系统可能存在的性能瓶颈,发现系统中可能存在的性能缺陷。

二、测试目的

①识别系统的性能瓶颈和问题点。

②提出性能调优方案和建议。

③实施性能调优措施。

三、专业术语

术语

示意

负载

模拟业务操作对系统造成压力的过程,比如模拟1000用户进行日志上报

压力测试

在指定的硬件环境下,通过不断的增加用户数来确定在满足性能指标情况下能够承受的最大用户数。负载测试可以对系统进行定容定量,找出系统性能的拐点,给出生产环境规划建议

TPS(每秒事务数)

在每秒时间内系统可处/理完毕的事务数

ART(平均响应时间)

用户提交一个操作到得到响应的时间间隔

TP99

统计一段时间内事务每次调用所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第99%的那个值作为TP99值

错误率

经系统处理的事务出现错误的概率,对应着实际用户使用系统功能失败的情况。理想情况下错误率应保持极低水平

并发数

客户端同时向服务端发起的业务请求数

QPS

每秒查询数,每秒系统能够处理的查询请求次数

四、测试内容

通过性能测试需求调研,结合当前系统业务涉及的功能,对XX、XX、业务数据量进行了深入分析,性能测试范围将主要集中在XX等部分接口。

此处列举要测试的接口信息

序号

接口

请求参数

注:可按需附上系统架构图

五、测试用例(用例名、前置数据准备、场景设置、期望值)

前置数据准备:(登录信息、密钥、被处理的数据)

有条件的话,数据库中的数据量尽量模拟线上的体量。

如果是一次性数据,需要前置准备大量的数据。(直接用sql脚本批量插入数据,调数据新增接口(python),让开发帮忙准备,被测服务把一次性处理的逻辑注释掉)

场景设置:

持续时间 >15min 通常是30min(负载测试、压力测试)每一条测试用例的持续时间,如果是稳定性测试,看需求情况,可能需要持续运行1天或几个小时。

六、风险分析

阐述测试环境与线上环境的差异,如数据差异,服务器配置,部署配置等。

阐述性能瓶颈调优的时间周期不稳定等。