最近在读《软件性能测试过程详解与案例剖析》,在工作之余梳理一下这本书中讲解的性能测试的过程模型。
PTGM是英文performance test general model 的缩写,表示为性能测试过程通用模型。
主要包括六个阶段
1.测试前期的准备
2.测试工具的引入
3.测试计划
4.测试设计与开发
5测试执行与管理
6.测试分析
-----------------------------------------------------------------------------------------------------------------------
下面是自己对PTGM过程模型每一阶段的主要工作内容的总结:
1.测试前期准备
内容:
测试前期准备阶段至少要完成两面的工作:
1)保证系统稳定
2)建立合适的测试团队
测试前期准备阶段包含以下活动:
A.系统基础功能验证
B.组建测试团队
C.测试工具需求确认
D.性能预备测试(可选活动)
性能预备测试,是指在正式测试之前,通过简单的探索性测试或其他方法,对系统的性能表现进行初步了解。预备测试也就是我们平日工作中性能测试正式开展前的调研测试。
2.测试工具引入阶段
此阶段包含以下活动:
A.选择工具
性能测试一定会使用自动化测试手段和自动化测试工具。
B.工具应用的技能培训
该活动对项目组的相关参与者进行工具的应用技能培训,以使测试活动参与者具备测试需要的技能。
C.确定工具的应用过程
该活动需要确定性能测试工具在测试中的具体应用范围,工具使用过程中的问题解决方法等内容。具体来说,哪些工作使用工具完成,测试工具在使用过程中的问题由谁来解决?
3.测试计划阶段
测试计划阶段用于生成指导整个测试执行的计划。该阶段主要完成测试目标的确定和测试时间的拟定。
此阶段的工作分解为以下活动:
A.性能测试领域分析
应用领域 | 性能测试目标 | 性能目标 |
能力验证 | 验证系统在给定环境的性能能力 | 重点关注的关键业务响应时间,吞吐量 |
规划能力 | 验证系统的性能扩展力,找出系统能力扩充的关键点,给出改善其性能扩展能力的建议 | 业务的性能瓶颈 |
性能调优 | 提高系统的性能表现 | 重点关注的关键业务响应时间,吞吐量 |
发现缺陷 | 发现系统中缺陷 | 无 |
B.用户活动剖析与业务建模
用户活动剖析与业务建模活动用来寻找用户的关键性能关注点。用户对系统性能的关注往往集中在少数几个业务活动上,在确定性能目标之前,需要先把用户的关注点找出来,从而确定最贴切用户要求的性能目标。
C.确定性能目标
性能测试目标根据性能测试需求和用户活动分析结果来确定。确定性能测试的目标的一般步骤是首先从需求和设计中分析出性能测试需求,结合用户活动剖析与业务建模的结果,最终确定性能测试的目标。
D.制定测试时间计划
该活动给出性能测试的各个活动起止时间,为性能测试的执行给出时间上的估算。
4.测试设计与开发阶段
性能测试的设计与开发阶段包括测试环境设计,测试场景设计,测试用例设计,以及脚本,辅助工具开发活动。
A.测试环境设计
测试环境设计是测试设计中不可缺少的环节。性能测试的结果与测试环境之间的关联非常大。无论是哪种领域内的性能测试,都必须首先确定测试的环境。
B.测试场景设计
测试场景设计活动用于设计测试活动需要使用的场景。
C.测试用例的设计
测试用例是对测试场景的进一步细化,细化的内容包括场景中涉及业务的操作序列描述,场景需要的环境部署。
D.脚本和辅助工具开发
脚本和辅助工具的开发是测试执行之前的最后步骤,测试脚本是业务操作的体现,一个脚本一般是一个业务的过程描述。
5.测试执行与管理
测试执行与管理过程用于建立合适的测试环境,部署测试脚本和测试场景,执行测试并记录测试结果。
A.建立测试环境
该活动用于搭建需要的测试环境,在设计完用例之后就会开始改活动。该活动是一个持续性的活动,在测试过程中,可能会根据测试需求进行环境上的调整。
B.部署测试脚本和测试场景
在建立合适的测试环境之后,接下来的工作是部署测试脚本和测试场景。对脚本和场景的部署需要熟悉测试工具的人员来完成,在本过程模型中,该活动由测试实施人员进行。在场景部署完成后,一般需要一个确认步骤,在该步骤,测试设计人员确认场景部署与预期的设计一致。沟通和确认工作在实际的测试过程很重要。
C.执行测试和记录结果
6.测试分析
测试过程分析过程用于对测试结果进行分析,根据测试的目的和目标给出测试结论。
性能测试的挑战性很大程度上体现在对测试结果的分析,可以说,每次性能测试结果的分析需要测试分析人员具有相当程度的对软件性能,软件架构和各性能指标的了解。
实际性能测试工程师需要配合开发人员协同定位性能测试过程的异常。