性能测试过程模型 PTGM

PTGM 是英文 performance test general model 的缩写,表示为性能测试过程通用模型。

主要包括六个阶段

  1. 测试前期的准备
  2. 测试工具的引入
  3. 测试计划
  4. 测试设计与开发
  5. 测试执行与管理
  6. 测试分析

测试前期准备

测试前期准备阶段至少要完成两面的工作:

  • 保证系统稳定
  • 建立合适的测试团队

测试前期准备阶段包含以下活动:

  1. 系统基础功能验证

    如果性能测试本身属于验收测试的一部分,只需要把性能测试安排在功能验收测试完成之后即可;如果性能测试不在验收测试阶段进行,则必须保证在性能测试之前至少进行一次系统的功能覆盖测试。

  2. 组建测试团队

    根据项目的大致情况确定人员的需要的技能,从组织中挑选合适的人员组成测试组。

  3. 测试工具需求确认

    根据对被测系统的了解和对测试过程的初步规划,给出测试工具应用具备的功能列表,具体的思考建议如下表所示。

被测系统环境 测试工具功能需求建议
操作系统环境 测试工具是否能运行在本操作系统上
测试工具是否支持对本操作系统的监控
应用服务器环境 测试工具是否支持对本应用服务器的监控
数据库环境 测试工具是否支持本数据库的监控
应用使用的协议 本系统使用哪些协议
哪些协议需要在性能测试中通过工具进行录制和产生负载
测试工具能否支持进行录制和产生负载的协议
网络环境 是否需要测试工具支持防火墙
是否需要测试工具支持负载均衡
测试管理支持 测试工具是否能够提供方便的测试结果分析和管理
  1. 性能预备测试(可选活动)

    性能预备测试,是指在正式测试之前,通过简单的探索性测试或其他方法,对系统的性能表现进行初步了解。预备测试也就是我们平日工作中性能测试正式开展前的调研测试。

测试工具引入阶段

  1. 选择工具

    性能测试一定会使用自动化测试手段和自动化测试工具。

  2. 工具应用的技能培训

    该活动对项目组的相关参与者进行工具的应用技能培训,以使测试活动参与者具备测试需要的技能。

  3. 确定工具的应用过程

    该活动需要确定性能测试工具在测试中的具体应用范围,工具使用过程中的问题解决方法等内容。具体来说,哪些工作使用工具完成,测试工具在使用过程中的问题由谁来解决?

测试计划阶段

测试计划阶段用于生成指导整个测试执行的计划。该阶段主要完成测试目标的确定和测试时间的拟定。

此阶段的工作分解为以下活动:

  1. 性能测试领域分析
应用领域 性能测试目标 性能目标
能力验证 验证系统在给定环境中的性能能力 重点关注的关键业务响应时间,吞吐量
规划能力 验证系统的性能扩展力,找出系统能力扩充的关键点,给出改善其性能扩展能力的建议 业务的性能瓶颈
性能调优 提高系统的性能表现 重点关注的关键业务响应时间,吞吐量
发现缺陷 发现系统中缺陷 无
  1. 用户活动剖析与业务建模

    用户活动剖析与业务建模活动用来寻找用户的关键性能关注点。用户对系统性能的关注往往集中在少数几个业务活动上,在确定性能目标之前,需要先把用户的关注点找出来,从而确定最贴切用户要求的性能目标。

  2. 确定性能目标

    性能测试目标根据性能测试需求和用户活动分析结果来确定。确定性能测试的目标的一般步骤是首先从需求和设计中分析出性能测试需求,结合用户活动剖析与业务建模的结果,最终确定性能测试的目标。

  3. 制定测试时间计划

    该活动给出性能测试的各个活动起止时间,为性能测试的执行给出时间上的估算。

测试设计与开发阶段

性能测试的设计与开发阶段包括测试环境设计,测试场景设计,测试用例设计,以及脚本,辅助工具开发活动。

  1. 测试环境设计

    测试环境设计是测试设计中不可缺少的环节。性能测试的结果与测试环境之间的关联非常大。无论是哪种领域内的性能测试,都必须首先确定测试的环境。

  2. 测试场景设计

    测试场景设计活动用于设计测试活动需要使用的场景。

  3. 测试用例的设计

    测试用例是对测试场景的进一步细化,细化的内容包括场景中涉及业务的操作序列描述,场景需要的环境部署。

  4. 脚本和辅助工具开发

    脚本和辅助工具的开发是测试执行之前的最后步骤,测试脚本是业务操作的体现,一个脚本一般是一个业务的过程描述。

测试执行与管理

测试执行与管理过程用于建立合适的测试环境,部署测试脚本和测试场景,执行测试并记录测试结果。

  1. 建立测试环境

    该活动用于搭建需要的测试环境,在设计完用例之后就会开始改活动。该活动是一个持续性的活动,在测试过程中,可能会根据测试需求进行环境上的调整。

  2. 部署测试脚本和测试场景

    在建立合适的测试环境之后,接下来的工作是部署测试脚本和测试场景。对脚本和场景的部署需要熟悉测试工具的人员来完成,在本过程模型中,该活动由测试实施人员进行。在场景部署完成后,一般需要一个确认步骤,在该步骤,测试设计人员确认场景部署与预期的设计一致。沟通和确认工作在实际的测试过程很重要。

  3. 执行测试和记录结果

测试分析

测试过程分析过程用于对测试结果进行分析,根据测试的目的和目标给出测试结论。

性能测试的挑战性很大程度上体现在对测试结果的分析,可以说,每次性能测试结果的分析需要测试分析人员具有相当程度的对软件性能,软件架构和各性能指标的了解。

实际性能测试工程师需要配合开发人员协同定位性能测试过程的异常。

敏捷性能测试模型 APTM

敏捷测试这个术语通常指敏捷开发方法中测试相关的部分。敏捷开发方法是一组软件开发方法的集合,它鼓励协作、交互、面向可交付的产出,通过迭代的方式实现小步快走,目标是在需求不断变化的情况下能够按时交付满足用户需求的产品。敏捷性能测试中的活动通常需要工具与环境的支持。在敏捷体系中,持续集成环境表现为通过持续构建的方式保证开发工程师的代码能够经常性地进行集成,在集成过程中尽可能早地发现问题。总体来说,APTM 中主要活动如下:

  1. 识别性能测试任务优先级
  2. 设置环境与执行测试
  3. 分析测试结果与报告
  4. 在下一次迭代中重复步骤 1-3