4.4 性能测试的流程
性能测试也遵循测试需求分析→测试计划制订→测试用例设计→测试执行→编写测试报告的基本过程,但在实现细节上,性能测试有单独一套流程:
1. 分析性能测试需求
在性能测试需求分析阶段,测试人员需要收集有关项目的各种资料,并与开发人员进行沟通,对整个项目有一定的了解,针对需要性能测试的部分进行分析,确定测试目标。
2. 制订性能测试计划
在性能测试计划中,核心内容主要包括:
- (1)确定测试环境:包括物理环境、生产环境、测试团队可利用的工具和资源等。
- (2)确定性能验收标准:确定响应时间、吞吐量和系统资源(CPU、内存等)利用总目标和限制。
- (3)设计测试场景:对产品业务、用户使用场景进行分析,设计符合用户使用习惯的场景,整理出一个业务场景表,为编写测试脚本提供依据。
- (4)准备测试数据:性能测试是模拟现实的使用场景,例如模拟用户高并发,则需要准备用户数量、工作时间、测试时长等数据。
3. 设计性能测试用例
性能测试用例是根据测试场景为测试准备数据,例如模拟用户高并发,可以分别设计100用户并发数量、1000用户并发数量等,此外还要考虑用户活跃时间、访问频率、场景交互等各种情况。
4. 编写性能测试脚本
测试用例编写完成之后就可以编写测试脚本了,测试脚本是虚拟用户具体要执行的操作步骤,使用脚本执行性能测试免去了手动执行测试的麻烦,并且降低了手动执行的错误率。在编写测试脚本时,要注意以下几个事项:
- (1)正确选择协议,脚本的协议要与被测软件的协议保持一致,否则脚本不能正确录制与执行。
- (2)性能测试工具一般可以自动生成测试脚本,测试人员也可以手动编写测试脚本。
- (3)编写测试脚本时,要遵循代码编写规范,保证代码的质量。
5. 测试执行及监控
测试人员按照测试计划执行测试用例,并对测试过程进行严密监控,记录各项数据的变化。
在性能测试执行过程中,测试人员的关注点主要有:
- (1)性能指标:本次性能测试要测试的性能指标的变化,如响应时间、吞吐量、并发用户数量等。
- (2)资源占用与释放情况:性能测试执行时,CPU、内存、磁盘、网络等使用情况。性能测试停止后,各项资源是否能正常释放以供后续业务使用。
- (3)警告信息:一般软件系统在出现问题时会发出警告信息,当有警告信息时,测试人员要及时查看。
- (4)日志检查:进行性能测试时要经常分析系统日志,包括操作系统、数据库等日志。
在测试过程中,如果遇到与预期结果不符合的情况,测试人员要调整系统配置或修改程序代码来定位问题。
6. 运行结果分析
性能测试完成之后,测试人员需要收集整理测试数据并对数据进行分析,将测试数据与客户要求的性能指标进行对比,若不满足客户的性能要求,需要进行性能调优然后重新测试,直到产品性能满足客户需求。
7. 提交性能测试报告
性能测试完成之后需要编写性能测试报告,阐述性能测试的目标、性能测试环境、性能测试用例与脚本使用情况、性能测试结果及性能测试过程中遇到的问题和解决办法等。软件产品不会只进行一次性能测试,因此性能测试报告需要备案保存,作为下次性能测试的参考。