性能测试方法论【转】
上一篇 /
下一篇 2008-08-29 16:26:56
/ 个人分类:性能测试知识
性能测试方法论
1. SEI负载测试计划过程
目标:产生一个清晰、好理解、可验证的负载测试计划。
内容:关注6个区域:目标、用户、用例、生产环境、测试环境、测试场景。
工具:IBM、HP、OpenSource工具都支持。需有文档配合。
2. RBI方法
目标:快速识别性能瓶颈。
内容:重点测试“吞吐量”指标,因为RBI认定80%的系统性能瓶颈由吞吐量造成。按照网络、硬件、数据库、应用服务器、代码的顺序自上而下分析性能。
工具:IBM、HP、OpenSource工具都支持。需使用分析模块、根据Weblogic、Oracle区别有专门的工具实现RBI。
3.性能下降曲线分析法
目标:性能随着用户数的增加而出现下降趋势的曲线分析、查看性能下降的环境点与上下文。确定性能阀值。
内容:通过单用户区域、性能平坦区域、压力区域、性能拐点进行监控和分析。
工具:IBM、HP、OpenSource工具都支持。IBM报表功能更强。
4. HP(LoadRuner)性能分析法
特点:侧重于该厂商的性能分析方法、主要体现在需求收集、VU脚本。
缺点:没有对测试计划阶段、测试设计阶段的具体行为、方法、目的进行描述,方法局限于LoadRuner产品的特性上,不能通用。
5. IBM(Rational UP)软件测试方法
特点:软件产品生命周期RUP的实现、侧重于迭代测试、宽广的方法论。可适合任意测试环境及方法、工具。
缺点:需要根据测试环境进行剪裁、难以掌握、但掌握后非常成熟、高品质工具:涉及到IBM Rational测试环境的所有软件、功能强大。
6. PTGM性能测试模型
内容:一个非常适合行业用户(电力、金融、政务、制造)的性能测试过程模型。规范化的测试模型、每个环节都做到迭代测试、每一个过程的工作产品明显可察、测试流程、测试上下文方面很优秀。包括以下环节:前期准备、工具引入、测试计划、测试设计与开发、测试执行与管理、测试分析。
工具:可以使用任意商业工具全新部署测试流程、不限于任何厂商工具的局限、也可以使用部分工具即可完成整个流程、或结合自己需要基于OpenSource工具进行定制。个人倾向使用多个产品的整合、综合使用、扬长避短。
该部分着重于PTGM方法论
1.能力验证
能力验证一般采用这样的描述:“该系统是否能在A条件下具备B能力?”。这里强调以下内容:
(1)充分准备以下内容:硬件设备、软件环境、网络条件、基础数据
(2)充分准备测试场景、典型的场景包括操作序列、并发用户数量条件、用例。
该部分包括使用到上述测试方法:性能测试方法、可靠性测试、压力测试、失效恢复测试。
2.规划性能
该分析方法关心的是“应该如何才能使系统具有我们要求的性能能力”,“应该如何调整系统配置,使系统能够满足增长的用户数的需要”等问题。这个部分常常使用到的测试方法是:负载测试、配置测试、压力测试。
3.性能调优
一个标准的性能调优过程是:
(1)确定基准环境、基准负载和基准性能指标。
(2)调整系统运行环境和实现方法,执行测试。
(3)记录测试结果、进行分析。
在J2EE性能测试中有很多常见的错误,比如:对于某些建立在J2EE/EJB技术上的应用,在服务启动的时候,没有注意到测试之前首先进行一段时间的预热。这是因为JAVA语言的hot-spot技术特性决定的,这种技术允许weblogic第一次运行应用的时候将字节码编译为本地代码并执行,这样在后续的执行过程中执行过程会大大加快,但第一次由于存在一个编译过程会比较慢。如果使用这个时间来作为基准那么就容易得出错误的结论。
我对第2个过程比较擅长、具体下来包括硬件环境的调优、Weblogic调优、Oracle调优。这个过程中也是使用工具最多的测试环节。
4.发现缺陷
这个环节中是交付给用户的主要工作成果。需要多和开发人员作沟通、多次迭代发现问题、根据用户的需求定义与缺陷的涉及范围、制定一个解决缺陷的优先级。由于软件永远有BUG这一真理,所以发现缺陷不是一次就能结束的工作。比较适合作为服务外包。持续进行。
收藏
举报
TAG:
性能测试知识