性能测试常规流程

  1. 学习业务:通过查看文档,并咨询提出测试需求的人员,手工操作系统来了解系统功能。
  2. 分析需求:分析系统非功能需求,圈定性能测试的范围,了解系统性能指标。比如用户规模有多大,用户需要哪些业务功能,产生的业务量有多大,这些业务操作的时间分布如何,系统的部署架构怎么样,部署资源有多大等(在敏捷开发过程下,最直接的途径是从项目的负责人或者产品经理处获取相关需求信息)。
  3. 工作评估:分解工作量,评估工作量,计划资源投入(需要多少个人,多少个工作日来完成性能测试工作)。
  4. 设计模型:圈定性能测试范围后,把业务模型映射成测试模型。
    什么是测试模型呢?比如一个支付系统需要与银行的系统进行交互(充值或者体现),由于银行不能够提供支持,我们会开发程序来代替银行系统功能(这就是挡板程序、mock程序),保证此功能的性能测试能够开展,这个过程就是设计测试模型。通俗点说就是把测试需求落实,业务可测,可大规模使用负载程序去模拟用户操作,具有可操作性、可验证性;并根据不同的测试目的组合成不同的测试场景。
  5. 编写计划;计划测试工作,在文档中明确列出测试范围、人力投入、持续时间、工作内容、风险评估、风险应对策略等。
  6. 开发脚本:录制或者编写性能测试脚本(现在很多被测系统都是无法录制脚本的,我们需要手工开发脚本),开发测试挡板程序和测试程序等。有时候如果没有第三方测试工具可用,甚至需要开发测试程序或工具等。
  7. 准备测试环境:准备性能测试环境包括服务器与负载机两部分,服务器是被测系统的运行平台(包括硬件与软件),负载机使我们用来产生负载的机器,用来安装负载工具,运行测试脚本。
  8. 准备测试数据: 根据数据模型来准备被测系统的主数据与业务数据(主数据是保证业务员能够运行流畅的基础,比如菜单、用户等数据:业务数据是运行业务产生的数据,比如订单,订单出库需要库存数据,库存数据也是业务数据)。我们知道数据量变会引起性能的变化,在测试的时候往往要准备一些存量/历史业务数据,这些数据需要考虑数量与分布。
  9. 执行测试:同样的脚本,不同执行人员得出的结果差异可能较大。
  10. 缺陷管理:对性能测试过程中发现的缺陷进行管理。比如使用Jira、ALM等工具。
  11. 性能分析:性能分析指对性能测试过程中暴露出来的问题进行分析,找出原因。比如通过堆栈分析找出内存溢出问题。
  12. 性能调优:性能调优指对性能测试工程师与开发工程师一起来解决性能问题。性能测试工程师监控到异常指标,分析定位到程序,开发工程师对程序进行优化。
  13. 评审(准出检查):对性能报告中的内筒进行评审,确认问题、评估上线风险。
  14. 编写测试报告,汇报测试工作:对测试结果进行记录总结,主要包括常见的性能测试指标(TPS、RT\CPU Using)。
    测试主要交付件有:
  • 测试计划;
  • 测试脚本;
  • 测试程序;
  • 测试报告或阶段性测试报告等。
posted @ 2022-05-04 16:59  NiceTwocu  阅读(58)  评论(0编辑  收藏  举报