如何实施大型应用系统的性能测试
 

2009-01-08 来源:网络

 

1、实施组织的确定

实施大型应用系统性能测试的风险包括:

1)参与人员杂

2)技术难度高

3)实施时间紧

4)工作压力大

因此,需要一支层次分明、责任明确、执行力强的实施队伍。

2、实施过程的管理

1)规划阶段: 测试时间、测试目标、测试组织

2)建模阶段: 收集数据、性能指标、测试范围

3)预验证阶段: 风险评估、技术验证

4)准备阶段: 测试环境、测试数据、测试脚本、测试程序

5)执行阶段: 响应时间基准测试、负载测试、压力测试、容量 测试、 Benchmark 测试、稳定性测试

6)调优阶段: 收集 / 分析测试结果数据、性能调优

7)报告阶段: 测试成果确认、测试目标完成确认、收集测试环 境最终配置信息、测试报告编制

3、沟通协调的管理

1)性能测试的参与人员包括业务人员、系统管理人员、测试人员、技术支持人员等各方面的力量,就像 从一支军队抽调上来各个不同军种的士兵组合成一支临时队伍。

2)协调沟通成为一个关键的手段,协调好了,是一支能打硬仗的正规军,战无不胜;协调不好,就是一 支战斗力低下的杂牌军,一事无成 。

3)性能测试的队伍需要严格的规章制度和灵活处理突发事件的有效协调手段。

4、测试风险的管理

1)风险管理原则

着力预防 :风险识别与风险防范。

消灭根源 :识别和消除可能产生风险的根源。

2)风险的种类

a)管理风险类

-->进度安排的风险
-->人员工作时间稳定性的风险
-->软件版本控制的风险

b)技术风险类

-->测试工具风险
-->数据量风险
-->测试开发的技术风险

c)协作风险类

-->测试环境稳定性的风险
-->前期测试拖延的风险

3)第一个风险例子: 人员工作时间稳定性的风险

某开发工程师原属于系统开发组,由测试组向开发组申请,临时调到测试组进行性能测试模拟后台的开发工作,在调到测试组后,将变成由测试组和开发组共同领导的状态,同时承担性能测试模拟后台开发工作和其他本职开发工作。因此,她的工作时间是存在很大的风险的,即每天的时间要被划分为两块,一是固定的开发性能测试模拟后台的时间,另一部分是开发组随时会分配过来的某些开发任务耗费的时间。

屏蔽这个风险的办法就是要建立一个人员管理机制,对于从其他组织借调的必要的性能测试支持人员,要与其他组织协调该人员的工作占用性质,即全时占用还是非全时占用,保证借调人员的工作时间可控性。例如,上面所述的开发工程师,由更高层的领导确定在未来的一周之内只能承担开发性能测试模拟后台的任务,原单位不能再分配其他开发任务。

4)第二个风险例子 :测试数据的风险

在性能测试的前期准备工作中,应包括一项测试数据的准备工作:根据性能测试所选取的典型业务,制作相应的业务数据数据量检查SQL脚本,用于在数据库中检查是否存在足够的性能测试所需要的测试数据;制作相应的业务数据创造SQL脚本,用于在测试数据不足时,创造所需数量的测试数据。

另外,在性能测试执行时,某些测试数据是不可逆的,例如移动BOSS系统中的开户业务,事先准备好的SIM卡数据和手机号码数据一旦由性能测试脚本执行过之后,就无法再次被用来执行开户业务操作。为了屏蔽这种风险,在性能测试开始执行之前,应将数据库进行备份,并设计好备份后的恢复方法。

5、方法技术的应用

1)建立合理的、正确的性能测试模型

一、确定测试目标

§ 响应时间
§ 吞吐量
§ 交易成功率/稳定运行时间
§ 系统资源消耗
§ 其他指标

二、历史数据分析/未来数据预测

§ 根据 历史数据 分析系统的应用高峰状态、正常应用状态
§ 根据 类似系统 分析系统的应用高峰状态、正常应用状态
§ 根据 业务发展 预测分析系统未来的应用高峰状态、正常应用状态

三、典型业务过程分析

§ 确定被测业务过程的 范围
§ 确定被测业务过程的 并发用户数
§ 确定被测业务过程的 详细操作步骤
§ 确定被测业务过程的 可参数化数据
§ 确定被测业务过程的 成功 / 失败验证点
§ 确定被测业务过程的 响应时间测量点

四、监控点分析

根据测试目标确定性能测试监控位置

§ 各种服务器平台的系统资源
§ 各种应用服务器的运行状态
§ 各种数据库服务器的运行状态
§ 各节点程序处理时间状态
§ 网络状态
§ 测试机状态

2)孤立系统的性能测试分析测试

录制有界面的性能测试脚本
制作无界面的性能测试脚本
开发桩系统模拟器(挡板)

3)整体系统的性能验证测试

特定应用资源( Web 服务器、 TUX 服务器、数据库服务器)的监控

火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织