性能测试流程

参考书籍《软件测试-黑马程序员编著》

性能测试与普通的功能测试目标不同,因此其测试流程与普通的测试流程也不相同,虽然性能测试也遵循测试需求分析→测试计划制订→测试用例设计→测试执行→编写测试报告的基本过程,但在实现细节上,性能测试有单独一套流程

性能测试流程_第1张图片

1. 分析性能测试需求

性能测试需求分析是整个性能测试工作的基础,测试需求不明确则整个测试过程都是没有意义的。在性能测试需求分析阶段,测试人员需要收集有关项目的各种资料,并与开发人员进行沟通,对整个项目有一定的了解,针对需要性能测试的部分进行分析,确定测试目标。例如客户要求软件产品的查询功能响应时间不超过2s,则需要明确多少用户量情况下,响应时间不超过2s。对于刚上线的产品,用户量不多,但几年之后可能用户量会剧增,那么在性能测试时是否要测试产品的高并发访问,以及高并发访问下的响应时间。对于这些复杂的情况,性能测试人员必须要清楚客户的真实需求,消除不明确因素,做到更专业。对于性能测试来说,测试需求分析是一个比较复杂的过程,不仅要求测试人员有深厚的理论基础(熟悉专业术语、专业指标等),还要求测试人员具备丰富的实践经验,如熟悉场景模拟、工具使用等。 

2. 制订性能测试计划

性能测试计划是性能测试工作中的重中之重,整个性能测试的执行都要按照测试计划进行。在性能测试计划中,核心内容主要包括以下几个方面。

(1)确定测试环境:包括物理环境、生产环境、测试团队可利用的工具和资源等。

(2)确定性能验收标准:确定响应时间、吞吐量和系统资源(CPU、内存等)利用总目标和限制。

(3)设计测试场景:对产品业务、用户使用场景进行分析,设计符合用户使用习惯的场景,整理出一个业务场景表,为编写测试脚本提供依据。

(4)准备测试数据:性能测试是模拟现实的使用场景,例如模拟用户高并发,则需要准备用户数量、工作时间、测试时长等数据。

3. 设计性能测试用例

性能测试用例是根据测试场景为测试准备数据,例如模拟用户高并发,可以分别设计100用户并发数量、1000用户并发数量等,此外还要考虑用户活跃时间、访问频率、场景交互等各种情况。测试人员可以根据测试计划中的业务场景表设计出足够的测试用例以达到最大的测试覆盖。

4. 编写性能测试脚本

测试用例编写完成之后就可以编写测试脚本了,测试脚本是虚拟用户具体要执行的操作步骤,使用脚本执行性能测试免去了手动执行测试的麻烦,并且降低了手动执行的错误率。在编写测试脚本时,要注意以下几个事项。(1)正确选择协议,脚本的协议要与被测软件的协议保持一致,否则脚本不能正确录制与执行。(2)性能测试工具一般可以自动生成测试脚本,测试人员也可以手动编写测试脚本,而且测试脚本可以使用多种语言编写,如Java、Python、JavaScript等,具体可根据工具的支持情况和测试人员熟悉程度选取脚本语言。(3)编写测试脚本时,要遵循代码编写规范,保证代码的质量。另外,有很多软件在性能测试上有很多类似的工作,因此脚本复用的情况也很多,测试人员最好做好脚本的维护管理工作。

5. 测试执行及监控

在这个阶段,测试人员按照测试计划执行测试用例,并对测试过程进行严密监控,记录各项数据的变化。在性能测试执行过程中,测试人员的关注点主要有以下几个。(1)性能指标:本次性能测试要测试的性能指标的变化,如响应时间、吞吐量、并发用户数量等。(2)资源占用与释放情况:性能测试执行时,CPU、内存、磁盘、网络等使用情况。性能测试停止后,各项资源是否能正常释放以供后续业务使用。(3)警告信息:一般软件系统在出现问题时会发出警告信息,当有警告信息时,测试人员要及时查看。(4)日志检查:进行性能测试时要经常分析系统日志,包括操作系统、数据库等日志。在测试过程中,如果遇到与预期结果不符合的情况,测试人员要调整系统配置或修改程序代码来定位问题。性能测试监控对性能测试结果分析、对软件的缺陷分析都起着非常重要的作用。由于性能测试执行过程需要监控的数据复杂多变,它要求测试人员对监控的数据指标有非常清楚的认识,同时还要求测试人员对性能测试工具非常熟悉。作为性能测试人员,应该不断努力,深入学习,不断积累知识经验,才能做得更好

6. 运行结果分析

性能测试完成之后,测试人员需要收集整理测试数据并对数据进行分析,将测试数据与客户要求的性能指标进行对比,若不满足客户的性能要求,需要进行性能调优然后重新测试,直到产品性能满足客户需求。

7. 提交性能测试报告

性能测试完成之后需要编写性能测试报告,阐述性能测试的目标、性能测试环境、性能测试用例与脚本使用情况、性能测试结果及性能测试过程中遇到的问题和解决办法等。软件产品不会只进行一次性能测试,因此性能测试报告需要备案保存,作为下次性能测试的参考。

你可能感兴趣的:(性能测试,性能测试)