性能测试--测试计划篇
一、测试背景
首先要阐述本次性能测试的背景,即被测系统类型,面向哪些用户,具备什么特点,为什么要进行性能测试,预期的一些指标等等。
比如:为了保证“双十一”大促期间,系统能稳定运行且保障业务的高可用,进行性能测试。
核心:评估系统性能、分析性能变化趋势、定位系统瓶颈风险、协助规划系统容量。
二、测试目的
测试的目的要根据测试背景来分析设定,比如:
1、线上服务由于流量过高某部分应用挂了,那测试目的就是:定位瓶颈、分析调优验证;
2、运营做了拉新和新的渠道拓展,那测试目的就是:评估系统性能是否满足新的线上业务;
3、系统架构由集群技改为微服务,那测试目的就是:验证稳定性、可用性、单实例容量,为线上服务扩容提供容量规划数据;
三、测试范围
通过需求调研,分析用户使用场景,对业务数据量增长变化趋势及峰值活跃用户等数据做定量分析,确定被测系统的应用范围,比如订单+购物车+商品+支付服务。
四、术语约定
这里的术语指的是:涉及本次性能测试相关的一些专业术语说明,目的是统一口径,做解释说明,便于参与本次性能测试的相关人员理解。常见术语如下:
PS:术语约定以实际情况为准,还要考虑性能测试计划的受众对于性能测试的了解程度,本约定旨在统一描述的口径,降低沟通成本。
五、环境说明
一般来说,进行性能测试的环境都是在UAT或者独立的性能测试环境,但为了准确描述环境类型和配置,以及测试环境和生产环境的区别,建议对生产环境和测试环境进行对比说明。
1、生产环境
①、系统架构
PS:上图只是一个简略的微服务类型系统架构,只做示意,理解即可。
②、服务配置
2、测试环境
①、系统架构
②、服务配置
3、负载机配置
负载机(machine)即模拟客户端发送请求的机器,一般情况下,说明负载机的硬件配置,数量,IP,发压策略即可。
4、网络
即负载机和性能测试环境的网络状况,比如国内公网/同一VPC内网,防火墙策略等。
六、需求分析
需求分析一般有这几个阶段:需求接入→需求收集→需求分析,主要内容如下:
1、业务模型
如下是一个典型的电商平台核心业务链路图,涉及到登录、首页、商品、购物车、支付、分享等模块。
2、性能指标
这里的性能指标包含如下两项:
①、业务性能指标
即预期的TPS、RT、请求成功率(一般默认请求成功率≥99.99%)。
②、硬件性能指标
即服务端资源耗用指标,常规的资源监控指标有:CPU使用率、Memory使用率、系统IO、网络IO等。
七、测试策略
本次性能测试所采用的测试策略,比如:
探测系统性能拐点,需要阶梯式压测;
探测系统在可接受的性能指标下最大的处理能力,需要采用负载、容量测试策略;
验证系统的稳定性和高可用,需要采用稳定性、高可用测试策略;
验证系统在不同配置下的性能表现,一般采用配置测试策略;
1、测试策略及场景
①、容量测试
②、稳定性测试
PS:如上表格描述,依然作为一个示例来说明,主要内容包括:场景编号、测试类型、涉及业务场景、业务配比、执行时间、测试目的。
2、测试监控策略
八、准备工作
准备工作主要包含如下几项:
九、组织架构
组织架构即本次性能测试涉及到的团队各角色成员,主要包含这些:PM角色、测试、开发、运维、DBA、网络、基础架构。示例:
十、风险分析
罗列开始执行前会影响本次性能测试工作开展的风险项以及应对方案,比如:
十一、交付清单
在性能测试计划中,需要说明本次性能测试各阶段的交付物,主要包含这几项:性能测试计划&方案、测试脚本、性能缺陷统计、轮次小节、性能测试报告。
十二、阶段进度
这里主要指的是从需求阶段到结束,各个阶段的工作进展以及资源安排,建议采用看板的方式,及时更新进度,方便推进工作的开展。示例如下:
如上,就是一个较为完整的性能测试计划内容,当然,完成性能测试计划并评审通过后,就可以进入测试执行阶段了。。。