目 录
一、 测试流程 .... 4
1. 设计阶段... 5
2. 实施阶段... 5
3. 分析阶段... 6
4. 整体分析阶段... 6
二、 测试原则 .... 6
三、 测试工具 .... 7
四、 实施案例- ■ ■ ■ ■ ■ ■ 系统 .... 7
1. 测试概况... 7
2. 测试目的... 7
3. 测试生成文档... 7
|
设计 |
实施 |
分析 |
整体分析 |
工作内容 |
<!--[if !supportLists]--> l <!--[endif]--> 和项目经理确定测试的功能点 <!--[if !supportLists]--> l <!--[endif]--> 编写测试用例文档
|
<!--[if !supportLists]--> l <!--[endif]--> 录制脚本 <!--[if !supportLists]--> l <!--[endif]--> 运行脚本 , 得到测试结果 <!--[if !supportLists]--> l <!--[endif]--> 填写测试报告
|
<!--[if !supportLists]--> l <!--[endif]--> 分析测试结果和测试报告 <!--[if !supportLists]--> l <!--[endif]--> 编写测试分析文档
|
<!--[if !supportLists]--> l <!--[endif]--> 对分析一的多份分析报告进行整体体的分析 |
生成文档 |
<!--[if !supportLists]--> l <!--[endif]--> 性能测试需求( xls ) <!--[if !supportLists]--> l <!--[endif]--> 测试用例文档 (doc)
|
<!--[if !supportLists]--> l <!--[endif]--> 脚本 (lr) <!--[if !supportLists]--> l <!--[endif]--> 测试结果 (lr) <!--[if !supportLists]--> l <!--[endif]--> 测试报告 (doc)
|
<!--[if !supportLists]--> l <!--[endif]--> 测试分析报告 (xls)
|
<!--[if !supportLists]--> l <!--[endif]--> 项目整体的分析报告 |
对人员的要求 |
<!--[if !supportLists]--> l <!--[endif]--> 对项目业务和需求比较了解 <!--[if !supportLists]--> l <!--[endif]--> 需要一定的项目经验
|
<!--[if !supportLists]--> l <!--[endif]--> 工作量大 <!--[if !supportLists]--> l <!--[endif]--> 技术含量低
|
<!--[if !supportLists]--> l <!--[endif]--> 需要比较强的分析能力 <!--[if !supportLists]--> l <!--[endif]--> 技术含量高
|
<!--[if !supportLists]--> l <!--[endif]--> 需要非常强分析能力 <!--[if !supportLists]--> l <!--[endif]--> 技术含量非常高 |
表格 1 测试流程阶段
测试报告文档 |
测试报告文档 |
测试报告文档 |
测试分析文档 |
测试分析文档 |
测试分析文档 |
项目整体的分析报告 |
<!--[if !vml]--> <!--[endif]-->
性能测试基本上分成四个主要的阶段:
<!--[if !supportLists]--> l <!--[endif]--> 设计
<!--[if !supportLists]--> l <!--[endif]--> 实施
<!--[if !supportLists]--> l <!--[endif]--> 分析
<!--[if !supportLists]--> l <!--[endif]--> 整体分析
该阶段主要是测试设计人员,项目经理和开发人员一起确定比较容易出问题的一些功能点,再根据这些功能点进行筛选按照《性能测试用例模板》的格式编写《测试用例文档》。
在编写文档期间,关于每个功能点的“正常数据量”,“正常用户量”,“正常并发量”需要和项目经理仔细讨论,并记录在测试用例文档内;如果遇到项目经理不太清楚的功能点,测试设计人员可以根据经验来作出判断。
该阶段需要测试设计人员对项目的业务和需求比较了解,也需要一定的项目经验。
该阶段生成的文档:
项目经理和测试设计人员编写的《性能测试需求》( xls )
测试设计人员编写的《性能测试用例文档》( doc )
该阶段主要是测试小组内部完成。测试实施人员在得到分析阶段编写的《性能测试用例文档》,通过测试工具录制、运行脚本,把运行的结果按照《性能测试报告模板》的格式填写《性能测试报告》。
《性能测试规范》上有详细的规范来指导测试实施人员进行测试,比如,对测试脚本的录制方法,脚本命名等问题上,都有详细的说明。该《性能测试规范》的编写目的,就是为了保证测试实施人员可以在短时间内上手进行测试实施,也规范了测试实施人员的操作,可以让不同的测试实施人员可以在得到《性能测试报告》可以录制出相同的脚本和误差不大的测试结果。
特别指出,该阶段可能会填写多份《性能测试报告》。一份《性能测试报告》是在一个测试环境(包括 APP SERVER , DB SERVER ,数据量,项目版本)下得到的测试结果。我们的测试肯能会对同一个版本在不同测试环境下多次测试,得到多份测试结果;可能会把不同的版本项目在相同的测试环境下测试得到不同的测试结果。一般情况下,如果项目对性能要求不是严格的话,那我们只出一份《性能测试报告》。
该阶段对测试实施人员的要求比较低,只需要经过短时间内培训,在测试经理的指导下就可以进行完整测试实施。此阶段工作量比较大,但是,此阶段又是整个性能测试流程中比较重要的阶段,测试实施人员犯的错误会直接影响到后期的分析,所以,还是要对这个阶段的工作特别细心,特别重视。
该阶段生成的文档:
测试实施人员根据《测试用例文档》,录制“测试脚本”
测试实施人员根据“测试脚本”,得到“测试脚本运行结果”
测试实施人员根据“测试脚本运行结果”,填写《性能测试报告》( doc )
注:
此处的“测试脚本”,“测试脚本运行结果”,《性能测试报告》( doc )一份或者多份
该阶段也是测试小组内部完成。测试分析人员根据得到的《性能测试报告》,“测试脚本运行结果”进行分析,按照《性能测试分析报告模板》的格式填写《性能测试分析报告》。
目前,我们的分析,是功能点的响应时间,网络占用量, APP SERVER 的 CPU 和内存来的一些参数来对功能点进行分析,得到该版本的项目在该测试平台的一个整体的性能报告。
在之前的一个阶段中,出现每份《性能测试报告》文档,都会分析得到一份《性能测试分析报告》。如果项目对性能要求不是严格的话,那这个阶段已经就完成了整个测试阶段,该《性能测试分析报告》就是最终的性能报告。如果项目对性能非常严格的话,那要继续下一个极端。
该阶段需要测试分析人员根据一些数据,一些图表来判断项目的性能,对测试分析人员有比较高的分析能力。如果找到性能上出现问题的功能点,在测试分析人员的能力范围内,需要定位问题的原因。
该阶段生成的文档:
测试分析人员根据《性能测试报告》,“测试脚本运行结果”,填写《性能测试分析报告》。
注:
此处的《性能测试分析报告》一份或者多份
该阶段是测试分析人员对前面一个阶段得到的多份的《性能测试分析报告》横向和纵向的综合分析。
所谓横向分析,就是对同一个版本在不同平台上得到的《性能测试分析报告》进行分析,意图在得到项目的一个运行的推荐配置。
所谓纵向分析,就是对不同版本在相同的平台上得到的《性能测试分析报告》进行分析,意图就是得到项目在改版后,性能问题是否已经得到了解决。
综合分析,就是结合两者得到的分析报告。
该阶段对测试分析人员需要非常强的分析能力,目前,测试组没有一个成员可以承担改分析工作,但是作为一个以后的测试人员的培养方向。
该阶段生成文档:
测试人员根据《性能测试分析报告》,编写《项目整体的分析报告》。
<!--[if !supportLists]--> 二、 <!--[endif]--> 测试原则
测试环境必须是尽可能的去除外界人为干扰,最好能单独访问该网站。
测试各个阶段中,每个阶段的测试人员只需要了解前一个阶段测试结果。
Mercury LoadRunner 7.8
■■性能测试目前,我们的是进行了之前提到的前三个测试。第四个阶段,因为目前的技术问题,没有进行下去。
对该系统进行测试的最主要的目的是为了验证该整个流程和该流程的文档模板是不是符合我们的项目实际情况;其次,才是测试长安性能问题。
《性能测试需求》( xls )■
《性能测试用例文档》( doc )■
“测试脚本”( loadrunner )■
“测试脚本运行结果”( loadrunner )■
《性能测试报告》( doc )■
《性能测试分析报告》■