性能测试如何做需求分析

93 阅读4分钟

你好,我是山茶,95后在职程序员。目标是跟 1000+ 程序员探索出 AI  + 富业之路!

先来说性能测试需求分流程,挖掘真实性能需求、剖析被测系统、确定性能测试范围、量化性能指标、构建测试数据、构建测试场景、产出分析报告及性能测试方案。

性能测试需求分析在性能测试准备工作中很重要,在需求分析阶段需要与项目相关人员进行沟通,收集项目资料、梳理项目业务架构、数据架构,建立性能测试数据模型,并制定可衡量的具体性能指标,确认测试的目标。

所以,想要成为一个性能测试工程师,还要搞清如何开展性能测试需求分析,下面我们来说说如何开展性能测试分析!

一、性能测试需求分析

性能测试需求分析存在一定的流程和步骤,下面是核心的 6 个步骤

image.png

二、如何获取有效的性能测试需求

性能测试需求来源有 3 方面:业务系统产品经理/开发提出的测试需求、性能测试工程师主动挖掘需求、产品已知性能问题修复后的性能验证需求。

通常情况,第三方提出性能测试需求都是比较模糊的概念,需要性能测试工程师深入挖掘和设计。在需求评审会中,通常会提出“系统需要支持 100w 用户使用”,系统需要支持 20w 用户在线。

这些都是在工作中范范的需求,需要通过对系统分析确定正确的需求和用户模型。

三、如何剖析被测系统

那么如何对系统进行剖析呢?核心的剖析有 3 个方面

image.png

  1. 了解系统架构

需要了解系统部署架构有哪些中间件、数据库、容器、缓存等等,以及各种组件间的架构关系,需画出对应的网络拓扑图和系统设计架构图及业务流程图

  1. 了解业务模型/用户行为习惯

了解上线产品的用户使用习惯,使用各个模块、业务的次数,模块之间的使用规律,分析业务流程的峰值,以及用户混合使用的业务使用场景。

  1. 分析历史数据

如果是已上线的产品,则针对线上用户数据、页面访问、系统容量、最大复载、存在的性能问题进行记录和分析。

如果是首个版本,则针对同类型的产品数据进行分析,以此来推导当前产品,虽然不能全部借鉴,但也能根据业务增长及性能统计分析,构建用户热点分布数据报告

四、确定性能测试点的方法

性能测试选取通常遵循 3 个基本原则,其余根据基本原则及进行扩展,3 个基本原则如下:

  • 使用频率非常高的

  • 关键程度非常高的

  • 资源占用非常严重的

扩展原则如图所示:

image.png

五、如何量化性能测试指标

在测试中如何将“业务系统需要支持 20w 用户同时在线”、“系统支持最大用户 100w ”的场景具体化也是一门学问,实则是需求分析中的中重点内容,涉及到了性能测试方案、性能测试策略、性能测试场景的设计。

那么该如何将“业务系统需要支持 20w 用户同时在线”拆解成具体的指标呢?

具体的操作分为 4 步:

首先,针对系统用户行为习惯进行剖析,确定用户每日在线时长,每日在线时间,每日在线操作业务分布,构建业务访问模型,即按比例分配用户同时在线操作不同业务

其次,分析用户类型,注册用户的类别,既构建对应同比例缩小的数据模型

再次,利用二八定律,设定用户在专属时间内访问业务

最后,通过部署监控模块及脚本数据统计记录量化的测试指标。