性能需求分析
- 性能需求分析是整个测试工作开展的基础。在这一阶段,性能测试人员需与需求人员(客户)、领导及项目相关人员进行沟通,同时收集各种项目资料,对系统进行分析,确认测试的意图。
- 测试需求分析阶段的主要任务是确定测试策略和测试范围。策略主要根据软件类型以及用户对系统的性能需求来定,测试范围主要分析系统的功能模块进行调研与分析。最终确定明确的需求。
性能测试计划
- 项目的简单背景描述,本次性能测试的需求与目的,性能需求分析的结果是什么。测试环境的准备,需要什么样的软硬件配置,网络状况。测试数据的准备。
- 测试的策略。设计符合需求的测试场景,需要对系统的哪些业务模块进行测试,如何进行?需要设计哪些测试场景以及设计这些测试场景的目的。
- 明确人员的配备,比如需要开发、DBA、运维等人员的参与协助,性能测试的时间安排。
测试环境的搭建
- 测试环境搭建,分硬件环境与软件环境,硬件环境主要是向上级审批硬件配备,在某些大型性能测试,可能需要公司购置或租用硬件设备来进行。或者是将来原有设置进行调配与重组,这个时候就需要网络工程师的参与或协助。
- 身为性能测试人员,不仅也需要会搭建软件平台,更需要对每个平台中的部分有比较深入的了解。因为性能测试的分析并不是死盯着系统应用那一层。中间件、数据库、系统、硬件都有可能成为系统的瓶颈。
性能工具的引入
- 对需求进行分析,从成本、购买成本、开发成本,现有开源工具的二次开发成本,人员学习使用成本以及时间成本等方面考虑性能工具的选择。
- 并不是只有压力测试工具属于性能测试工具,在性能测试过程中所用的工具都属于性能工具,如测试数据生成工具,性能监控工具等。
测试的执行
- 测试的执行应该是很大范围的一块内容。用户行为生成-->压力产生器-->用户代理-->测试调度-->系统监控等。
- 我们所选择的工具如何来实现我们的需求,这个性能测试工程师对引入的有足够的了解。对协议的了解,可能需要编程的能力等。
测试结果的分析
- 测试工具只是提供多种不同的数据揭示和呈现方法而已。工具本身并不能帮我们进行性能结果的分析。
- 对于性能测试结果的分析,这个需要性能测试工程师对整个被测环境的各种软硬件都要有深入的了解。当然,在这个过程中我们往往需要各个岗位人员的协助,开发人员、DBA、运维等。致力成为一位资深的性能测试工程师要走路还很长。
软硬件配置调整与优化
- 如果只是为了验证系统的能力的话。在分析完测试结果后就可以出性能测试报告了。
- 对于测试人员来说,我们对一个系统进行功能测试的目的是验证系统功能是否是符合需求并可用的,但发现了缺陷之后是需要对缺陷进行跟踪和修复的,并不是把发现的缺陷写在报告里就完事的。当然,功能缺陷与性能缺陷存在着本质的缺陷。如果在性能测试过程中发现不满足需求的缺陷,进行调优是一个不可缺少的过程。
- 如果要对系统进行调优的话,测试执行、结果分析、系统调优将会形成一个循环持续的过程。直到满足客户的需求为止。