性能测试流程

流程图:

性能测试流程分为五个阶段,分别是【需求调研阶段】→【测试准备阶段】→【测试执行阶段】→【测试报告阶段】→【测试总结阶段】。

  • 需求调研阶段

1.1.阶段概述

调研阶段的主要工作为:组建工作小组、项目创建、需求分析、模型构建、定制性能测试详细实施计划。

重点关注:需求调研、需要分析、模型构建

1.2.关键点描述

需求调研分为两个步骤进行:需求调研、需求分析。

该工作是性能测试必须的工作环节;工作产出文件为《XX项目性能测试需求表》。

此阶段模型构建主要是业务模型构建。

1.2.1需求调研

需求调研工作由性能测试实施人员牵头负责,产品经理、开发工程师、运维工程师配合完成;

需求调研的主要内容为:

系统线上环境的性能需求,例如性能需求、可靠性需求、可维护性需求等;

与系统性能需求相关的其它信息,包括系统信息(如线上环境硬件、参数配置、系统架构与部署方式、关联系统部署等)、业务信息(关键业务逻辑与处理流程、交易列表、交易量信息、业务分布规律等)、文档资料等方面,并对收集到的信息进行汇总整理,实现对待测系统业务与技术的整体了解;

开发项目组、需求部门、运维部门等测试任务提出方应填写《云XXX系统性能测试需求表》中的“任务信息”和“测试背景”等信息,提出的测试需求,简单文字不能说明的,可附加文件;

性能测试小组的实施人员将调研获取的其它内容填入《云XXX系统性能测试需求表》;

对于新立项系统或系统新开发版本,《云XXX系统性能测试需求表》应与《需求规格说明书》中的性能需求相一致。

1.2.2需求分析

需求分析的基本流程是:

首先,由性能测试工程师根据需求调研所获取的信息进行分析,将《云XXX系统性能测试需求表》中的性能需求转换为具体的性能需求指标值;

其次,根据测试环境与线上环境的差异分析,由性能测试工程师将线上环境条件下的性能需求指标值转换为本次测试环境条件下的性能需求指标值;

例如:TPS(Transaction per Second):系统每秒处理交易数,推导过程如下,

当前线上APP1.0试用系统主要为查询类交易,交易占比40%,系统生产交易量统计为1个月约20W笔,假设APP2.0系统上线后业务量激增到每日查询类20W,则每日总交易量T达到:

T = 20W/40%=500000笔/日

系统处理能力TPS推导:APP2.0上线后交易量最大500000笔/日,系统晚间几乎无交易量,按2:8原则推算,则(500000*80%)/(8*20%*3600)=69.4笔/秒,取整为70笔/秒,每年按业务量增长50%计算,则一年后系统处理能力指标约等于70+70*50%=105笔/秒。

1.2.3用户场景剖析和业务建模

根据对系统业务用户活跃时间访问频率场景交互等各方面的分析,整理一个业务场景表,当然其中最好对用户操作场景、步骤进行详细的描述,为测试脚本开发提供依据。

  • 测试准备阶段

2.1阶段概述

测试准备阶段是性能测试工作中重要阶段。在准备阶段,需要完成业务模型到测试模型的构建、性能测试实施方案编写、测试环境的准备、性能测试案例设计、性能测试监控方案设计、性能测试脚本,及相关测试数据的准备,并在上述相关准备活动结束后按照测试计划进行准入检查。

重点关注:测试模型构建、方案设计、案例设计、数据准备等

2.2方案设计

性能测试实施方案编制是性能测试工作中必须的工作环节,其产出为《性能测试方案》,如:《云XXX项目性能能测试方案V1.0.xlsb》。

在方案中需要描述:测试需求、启停准则、测试模型设计、测试策略、测试内容、测试环境与工具需求,以及各个阶段的输出文档。在方案中还需说明性能测试工作的时间计划安排、预期的风险与风险规避方法等。测试模型设计内容来自本阶段测试模型设计中形成的测试场景,以及场景中典型交易及所占比率。

2.3测试用例设计

在案例设计中,包括案例的描述、测试环境描述(硬件、软件、应用版本、测试数据)、延迟设置、压力场景、执行描述、预期结果(比如:登录接口请求响应时间不能超过1秒;服务器的CPU平均使用率小于70%,内存使用率小于75%;)、监控要点。

案例设计是性能测试工作的必须工作环节,案例设计的产出文件是《性能测试用例》。

2.4 测试用例评审

该阶段工作由性能测试实施人员牵头负责,产品经理、开发工程师、运维工程师配合完成,评审通过后开始测试执行工作。

2.5数据准备

环境准备工作中涉及到基础数据的准备。测试数据的数量、逻辑关系要求十分严格,测试基础数据的准备一般采用自造模拟数据或者使用脱敏后的线上数据。

2.6测试脚本开发

测试脚本开发工作就是发挥PTS的时候。

测试脚本是对业务操作的程序化体现,一个脚本一般为一项业务的过程描述。本活动主要为脚本的录制(编写)、修改和调试工作,从而保证在测试实施之前每个测试用例的脚本都能够在单笔和少量迭代次数的条件下能够正确执行。测试脚本开发的一般步骤如下:

通过录制,或者编写,完成脚本代码生成。代码生成时,主要根据需求插入事务,作为测试过程中统计交易响应时间的单位;

根据测试需求,进行参数化设置;

设定检查点,根据报文内容字段判断交易是否正确执行,即检查点的设置在应用层面;

根据测试要求确定是否设置集合点;

  • 测试执行阶段

3.1阶段概述

测试执行阶段是执行测试案例,获得系统处理能力指标数据,发现性能测试缺陷的阶段。测试执行期间,借助测试工具执行测试场景或测试脚本,同时配合各类监控工具。执行结束后统一收集各种结果数据进行分析。根据需要,执行阶段可进行系统的调优和回归测试。

重点关注:结果记录、测试监控、结果分析

3.2测试执行与结果记录

测试执行过程有相应的优先级策略,依据测试案例的优先级别,优先执行级别较高的测试案例。测试过程中,通过对每个测试结果的分析来决定是重复执行当前案例还是执行新的测试案例;通常发现瓶颈问题会立即进行调整并重新执行测试用例,直到当前的案例通过。

在执行阶段,测试的执行、分析调优、回归测试工作较为反复,须认真记录全部执行过程和执行结果,执行结果数据是分析瓶颈的主要依据。

3.3 测试监控

测试的监控工作与执行工作同步进行,场景或脚本开始执行时,同时启动监控程序,推荐使用阿里PTS进行监控。

3.4 测试结果分析

测试过程中根据前端性能测试工具显示结果、监控结果综合分析出现的测试问题。

  • 测试报告阶段

4.1阶段概述

测试执行工作结束后开始撰写性能测试报告。性能测试报告在发布前需要进行评审。

4.2关键点描述

4.2.1报告撰写

性能测试报告要内容包括:测试目的、范围及方法、环境描述、测试结果描述、结果分析、结论和建议等。

4.2.2测试结果描述

测试结果的描述,应体现性能测试的执行过程,如:混合场景的容量测试结果展示中,需要描述各个并发梯度下测试结果及监控结果;在数字形式的结果记录中,要求小数点后精确3位有效数字。

4.2.3测试缺陷与问题

在性能测试分析报告中须描述测试过程发现的缺陷与问题,对于确认是测试缺陷的项进行风险评估,并给出风险提示。

4.2.4测试结果分析,应该从以下几个方面进行分析:

1.测试环境的系统性能分析

根据我们之前记录得到的测试结果(图表、曲线等),经过计算,与预定的性能指标进行对比,确定是否达到了我们需要的结果;如未达到,查看具体的瓶颈点,然后根据瓶颈点的具体数据,进行具体情况具体分析(影响性能的因素很多,这一点,可以根据经验和数据表现来判断分析)。

2.硬件设备对系统性能表现的影响分析

由于之前设计了几个不同的测试环境,故可以根据不同测试环境的硬件资源使用状况图进行分析,确定瓶颈是再数据库服务器、应用服务器抑或其他方面,然后针对性的进行优化等操作。

3、其他影响因素分析

影响系统性能的因素很多,可以从用户能感受到的场景分析,哪里比较慢,哪里速度尚可,这里可以根据2\5\8原则对其进行分析;

至于其他诸如网络带宽、操作动作、存储池、线程实现、服务器处理机制等一系列的影响因素,具体问题具体分析,这里就不一一表述了。

  • 测试总结阶段

5.1阶段概述

性能测试的总结工作,主要对该任务的测试过程和测试技术进行总结。性能测试工作进入总结阶段,也意味着性能测试工作临近结束。在这个阶段,时间允许的情况下应将所有的重要测试资产进行归档保存。

5.2测试结论

测试结论是性能测试分析报告必须包括的内容。测试的结论须清晰、准确回答性能测试需求中描述的各项指标,需全面覆盖测试需求。

基于阿里PTS性能测试流程相关推荐

  1. 基于阿里云的超级性能测试 亿级企业压力测试神器JMeter4.X实战 抗压神器JMeter课程

    基于阿里云的超级性能测试 亿级企业压力测试神器JMeter4.X实战 抗压神器JMeter课程 ===============课程目录=============== ├─第1章 章节一JMeter压力 ...

  2. 阿里云性能测试 PTS 3 月新功能

    点击此处,了解阿里云性能测试 PTS 更多资讯!

  3. 基于阿里云的 Node.js 稳定性实践

    前言 如果你看过 2018 Node.js 的用户报告,你会发现 Node.js 的使用有了进一步的增长,同时也出现了一些新的趋势. Node.js 的开发者更多的开始使用容器并积极的拥抱 Serve ...

  4. 全链路压测一招搞定,阿里云性能测试铂金版发布

    摘要: 阿里云性能测试(Performance Testing Service)是卓越的SaaS性能测试平台,具备强大的分布式压测能力,可模拟海量用户的真实业务场景,让所有性能问题无所遁形.近日,PT ...

  5. 性能测试流程_流性能

    性能测试流程 当我阅读Angelika Langer的Java性能教程时-Java 8流有多快? 我简直不敢相信,对于一个特定的操作,它们花费的时间比循环要长15倍. 流媒体性能真的会那么糟糕吗? 我 ...

  6. 基于阿里云 MaxCompute 构建企业云数据仓库CDW

    在本文中阿里云资深产品专家云郎分享了基于阿里云 MaxCompute 构建企业云数据仓库CDW的最佳实践建议. 本文内容根据演讲视频以及PPT整理而成. 大家下午好,我是云郎,之前在甲骨文做企业架构师 ...

  7. 基于阿里云HiTSDB搭建工业物联网平台实践

    摘要: 基于阿里云全面的物联网.云计算与大数据技术搭建云端的企业能源管理物联网平台实现能耗数据采集.统计分析.平衡调度.节能优化等全面的能源管控协同平台.是企业生产运行保障的利器,也是大量企业实现云上 ...

  8. 基于阿里云数加MaxCompute的企业大数据仓库架构建设思路

    摘要: 数加大数据直播系列课程主要以基于阿里云数加MaxCompute的企业大数据仓库架构建设思路为主题分享阿里巴巴的大数据是怎么演变以及怎样利用大数据技术构建企业级大数据平台. 本次分享嘉宾是来自阿 ...

  9. 基于Fabric的性能测试与调优实践

    1  Fabric 性能测试现状 通俗的来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本.比特币(Bitcoin). ...

最新文章

  1. 解决每次git pull需要不用输入用户名信息
  2. 小学生python入门-小学生Python入门基础知识有哪些
  3. SolverParameter
  4. Leetcode周赛5193. 删除字符使字符串变好
  5. Java黑皮书课后题第5章:5.5(千克与磅之间的互换)编写一个程序,并排显示下面两个表格
  6. 软件测试c语言代码_软件测试理论知多少?
  7. 接口应用练习题(用接口的方式实现某网上商城的网上支付功能)
  8. 使用MyQ打开车库门时如何接收警报
  9. .NET6之MiniAPI(二十三):Refit
  10. cicd持续集成全程_CICD-持续集成amp;持续交付
  11. 有效的数据处理:使用Tango库进行压缩和加密
  12. win10超好看的鼠标主题,你也来试试吧
  13. 编程算法题:101个数字,[1,100]中有一个是重复的,找出这个重复的数字。
  14. javaScript判断数组内容去重方法
  15. 有限元基础及ANSYS应用 - 第8节 - 梁系结构的ANSYS分析
  16. word文档取消英文首字母大写
  17. 宝塔linux优化wordpress,WordPress加速 宝塔面板速度优化方案 Memcached + Redis | 「讲文兄博客」...
  18. Typora 主题 艾米莉亚
  19. 数字图像处理篇(4)图像增强之平滑操作及opencv实现
  20. 电脑管家用户的bandizip右键解压选项启用

热门文章

  1. 【Python 实战基础】Pandas如何计算一列数字的中位数
  2. 如何查看linux版本是centos还是redhat
  3. Socket的长连接和短连接(很详细)
  4. 关于直流稳压电源,您这些知识或许不知道?
  5. 玩转AI绘图 电脑配置怎么选?
  6. 使用winscp连接vbox时出现:验证日志(具体情况参见会话日志): 使用用户名 “vagrant“。 验证失败【No supported authentication methods 。。。。】
  7. Turtlebot4入门教程-快速开始
  8. turtlebot安装
  9. html怎么给一个字母加边框,教您使用html代码给文字加边框!
  10. Vscode 中vetur设置,让代码变得更美观