软件性能测试过程(PTGM模型)
一、测试前期准备
1. 系统基础功能验证
一般来说,性能测试应该在功能验收测试完成之后进行
2. 组件测试团队
3. 性能测试工具确认
4. 性能预备测试(可选活动)
所谓预备测试,是在正式的测试之前,通过简单的探索性测试或者其他方法,对系统性能表现进行初步的了解。非正式性,方法较为随意。
二、性能工具引入
1. 工具选择
(略)
2. 工具应用技能培训
(略)
3. 确定工具应用过程
(略)
三、测试计划
1. 性能测试领域分析
性能测试的应用领域主要分为‘能力验证’、‘规划能力’、‘性能调优’和‘发现缺陷’:
1)能力验证:测试的目的是,明确验证系统在固定条件下的性能能力,该领域常见于对特定环境上部署系统的性能验证测试
2)规划能力:测试的目的是,了解系统性能能力的可扩展性和系统在非特定环境下的性能能力,该领域常见于对应用性能可扩展性的测试
3)性能调优:测试的目的是,通过测试(发现问题)——调优(调整)——测试(验证调优结果)的方法提高系统性能能力
4)发现缺陷:测试的目的是,通过性能测试手段,发现应用的缺陷
2. 用户活动剖析与业务建模
1)用户活动剖析
• 系统日志分析:通过应用系统的日志了解用户的活动,分析出用户最关注、最常用的业务功能
• 用户调查分析:在不具备系统日志分析条件时,采用的一种估算方法,可以通过用户调查问卷、同类型系统对比的方法获取用户最关注、最常用的业务功能等
2)业务建模
• 一般采用流程图的方式描绘出各进程之间的交互关系和数据流向,为性能测试提供最直观的指导
3. 确定性能目标
性能测试目标根据性能测试需求和用户活动分析结果来确定。性能测试需求的来源可以是多方面,例如,需求文档或者是用户的邮件等,确定性能目标首先要做的就是从这些文档中获取性能需求。
4. 制定测试时间计划
制定各环节活动起止时间,估算方法很多,例如类比分析方法等。
四、测试设计与开发
1. 测试环境设计
包括系统的软/硬件环境、数据环境设计、环境的维护方法。
1)‘能力验证’领域,首先就已经明确了在特定环境下进行,故不需要特别设计环境,只需要保证用于测试的环境与今后系统运行的环境一致即可。
2)‘规划能力’领域,测试环境是不特定的,但也需要设计一个基准环境。
3)‘性能调优’领域,由于调优是个反复的过程,在每个调优小阶段的末尾,都需要有性能测试来衡量调优的效果,因此必须在开始就给出一个用户衡量的环境标准,并在整个调优过程中,保证每次测试时的环境保持不变。
2. 测试场景设计
测试场景模拟的一般是实际业务运行的剖面,其包括业务,业务比例、测试指标的目标以及需要监控的性能计数器。测试场景可以是多个测试目标的综合体现,一个测试场景实例如下
3. 测试用例设计
针对每个测试场景规划出相应的工具部署、应用部署、测试方法和步骤,这个过程就是测试用例设计活动。测试用例是对测试场景的进一步细化,细化内容包括场景中涉及业务的操作序列描述、场景需要的环境部署等内容。
4. 脚本和辅助工具开发
测试脚本的开发通常基于录制,然后对录制脚本进行修改。最常用的脚本修改和调试技巧是‘参数化’、‘关联’和‘日志输出’。
五、测试执行与管理
1. 建立测试环境
在设计完成用例之后就会开始搭建测试环境,该活动是一个持续性的活动,在测试过程中,可能会根据测试需求进行环境上的调整。
2. 部署测试脚本和测试场景
(略)
3. 执行测试与记录结果
(略)
六、测试分析
(待补充)
【本文摘自《软件性能测试过程详解与案例剖析》】