目标

  1. 1. 掌握性能测试流程

一、为什么要掌握性能测试流程

  1. 1. 功能测试需要按照流程来推进,性能测试也同样,一套完整的测试流程是一次成功性能测试的基石;
  2. 2. 【面试】简述下性能测试过程...

二、性能测试步骤

  1. 1. 性能测试需求分析
  2. 2. 性能测试计划
  3. 3. 性能测试用例
  4. 4. 测试脚本编写
  5. 5. 测试场景设计
  6. 6. 测试场景运行
  7. 7. 场景运行监控
  8. 8. 运行结果分析
  9. 9. 系统性能调优
  10. 10. 性能测试总结

2.1 需求分析

  1. 说明:需求分析就是把真正需求搞清楚;
  2. 例如:
  3. 1). 我们需要贵单位对所有的功能都进行性能测试;
  4. 2). 系统用户登录响应时间小于3秒钟;
  5. 3). 系统支持20万用户并发访问;

2.2 性能测试计划

  1. 说明:
  2. 1). 性能测试计划是对性能测试的重要过程。
  3. 2). 在对需求文档经过认真分析后,作为性能测试管理人员,需要编写的第一份文档就是性能测试计划;
  4. 3). 性能测试计划中,需要阐述产品、项目的背景,将前期的需要测试性能需求明确,并落实到文档中。

2.3 性能测试用例

  1. 说明:性能测试需求最终要体现在性能测试用例设计中,性能测试用例应结合用户应用系统的场景,设计出相应的性能
  2. 测试用例,用例应能覆盖到测试需求。
  3. 提示:
  4. 1). 明确那些业务功能使用频繁;
  5. 2). 明确系统预期的用户规模、并发用户数、在线用户数;
  6. 3). 明确系统业务的处理能力要求,如:TPS、响应时间、系统资源利用率等;
  7. TPS :(Transaction per second)事务数/秒

2.4 脚本编写

  1. 说明:性能测试用例编写完成以后,接下来就需要结合用例的需要,进行测试脚本的编写工作。
  2. 提示:
  3. 1). 协议的正确选用;
  4. 2). 脚本保证其正确性,去除冗余代码;
  5. 3). 注重编码的规范和代码的编写质量;

2.5 场景设计

  1. 说明:测试场景的设计一个重要的原则就是依据测试用例,把测试用例设计的场景展现出来。
  2. 提示:
  3. 1). 虚拟用户数量及启动虚拟用户方式
  4. 2). 场景的相关设置(如:集合点)
  5. 3). 脚本是否存在依赖关系(登录与注册)

2.6 场景运行

  1. 说明:测试场景运行是关系到测试结果是否准确的一个重要过程。
  2. 注意事项:
  3. 1). 负载的测试机不能够运行设定的虚拟用户数;
  4. 2). 没有“预热”过程;
  5. 3). 没有模拟用户的真实环境;
  6. 4). 性能用例运行次数过少。

2.7 场景运行监控

  1. 说明:场景运行监控,可以在场景运行时决定要监控那些数据,便于后期分析性能测试结果。
  2. 提示:
  3. 1). 应用性能测试工具的重要目的就是可以提取到本次测试关心的数据指标内容;
  4. 2). 性能测试工具利用应用服务器取得在负载过程中相关计数器的性能指标。
  5. (计数器:计算、统计性能指标的工具)
  6. 注意:
  7. 1). 负载机的时钟要一致,保证在监控过程中的数据是同步的;
  8. 2). 尽量搜集与系统测试目标相关信息,无关内容不必进行监控;
  9. 3). 要以管理员的身份登录后

2.8 运行结果分析

  1. 说明:性能测试执行过程中,性能测试工具搜集相关性能测试数据,待执行完成后,这些数据会存储到数据表或者其他
  2. 文件中,为了定位系统性能问题,我们需要系统分析这些性能测试结果。
  3. 提示:
  4. 1). 一般使用“拐点分析”方法,利用性能计数器曲线图上的拐点进行分析的方法。
  5. (基本思想就是性能产生瓶颈的主要原因就是因为某个资源的使用达到了极限,此时表现为随着压力的增大,
  6. 系统性能却出现急剧下降,就产生了“拐点”现象。)

2.9 系统调优

  1. 说明:性能测试分析人员经过对结果的分析以后,有可能提出系统存在性能瓶颈。
  2. 提示:
  3. 1). 调优人员(开发人员、数据库管理员、系统管理员、网络管理员、性能测试分析人员)相关人员对系统进行调整;
  4. 2). 验证-性能测试人员继续进行第二轮、第三轮……的测试,与以前的测试结果进行对比,从而确定经过调整以后
  5. 系统的性能是否有提升。
  6. 注意:
  7. 系统调优由易到难的先后顺序如下:
  8. 1. 硬件问题;
  9. 2. 网络问题;
  10. 3. 应用服务器、数据库等配置问题;
  11. 4. 源代码、数据库脚本问题;
  12. 5. 系统构架问题。

2.10 性能测试总结

  1. 1. 性能测试流程
  2. 2. 系统调优执行什么原则及顺序是什么?