文章目录
- 一、如何开展工作
- 二、性能测试流程
-
- [2.1 性能测试需求分析](#2.1 性能测试需求分析)
- [2.2 性能测试计划及方案](#2.2 性能测试计划及方案)
- [2.3 性能测试用例](#2.3 性能测试用例)
- [2.4 建立测试环境](#2.4 建立测试环境)
- [2.5 测试脚本编写/录制](#2.5 测试脚本编写/录制)
- [2.6 执行测试脚本](#2.6 执行测试脚本)
- [2.7 性能测试监控](#2.7 性能测试监控)
- [2.8 性能分析和调优](#2.8 性能分析和调优)
- [2.9 性能测试报告总结](#2.9 性能测试报告总结)
一、如何开展工作
yacas
思考:为什么要掌握性能测试流程?
解答:功能测试需要按照流程来推进, 性能测试也同样, 一套完整的测试流程是一次成功性能测试的基石
软件测试工程师,初入职,如何开展工作:
1、部署环境(工作环境)
2、了解项目需求
-约产品经理讲解
-约测试主管
-约项目组经验丰富的同事
3、了解项目的进度
4、了解自己所负责的测试内容,梳理自己工作计划
二、性能测试流程
yacas
1. 性能测试需求分析
2. 性能测试计划及方案
3. 性能测试用例
4. 建立测试工具环境(项目环境早在功能测试之前已经搭建好)
5. 测试脚本编写/录制
6. 执行测试脚本
7. 性能测试监控
8. 性能分析和调优
9. 性能测试报告总结
提示: 使用不同的性能测试工具时, 主要流程是不变的

2.1 性能测试需求分析
说明: 性能需求分析是整个性能测试工作开展的基础, 性能需求分析做的好不好直接影响到性能测试的结果。
性能需求分析的目标:

1、明确被测系统
yacas
- 熟悉被测系统的业务功能
- 熟悉被测系统的技术架构
2、明确性能测试内容
yacas
从业务角度明确测试内容
- 确定关键业务。 即:用户使用频率较高的业务功能。
从技术角度明确测试内容
- 如:通常逻辑复杂度较高的业务也是CPU密集运算较大的地方,考量服务器CPU在预定性能指标下是否达标.
- 如:通常数据量较大的业务很占用系统内存,考量服务器内存在预定性能指标下是否达标。
3、明确性能测试策略
yacas
- 基础测试
- 负载测试
- 稳定性测试
- ·········根据实际系统的业务,分析是否需要并发测试、压力测试等。
4、明确性能测试指标
yacas
无明确需求指标:
- 通过查找相关资料,和类似的系统对比,以及对未来流量的预估,确定性能测试需求的指标。
有明确需求指标:
- 只需要根据执行分析结果与预期指标做对比,如果有不满足的,就需要分析问题所在。
------例如, 类似如下指标
•下订单业务并发20个用户
•平均响应时间要小于等于3s
•事务成功率为100%
•CPU使用率小于等于85%
2.2 性能测试计划及方案
说明: 性能测试实施第一份文档, 也是最重要的一份文档 。
从模板内容来说,与功能测试基本一致,主要就是写清楚测什么、谁来测、怎么测。
yacas
1. 项目背景---------简介
2. 测试目的
3. 测试范围---------对于需求分析中的性能测试内容
4. 测试策略---------对应于需求分析中的测试策略
5. 风险控制---------技术风险、人力风险
6. 交付清单---------每个阶段的产出物
7. 进度与分工-------谁在什么时候做什么事
| 1.测什么 | 2.谁来测 | 3.怎么测 |
|---|---|---|
| 项目背景 | 进度与分工 | 测试策略 |
| 测试目的 | 交付清单 | |
| 测试范围 |
2.3 性能测试用例
要素:用例标题、用例编号、用例描述、用例前置条件、用例步骤和预期结果、用例实际结果。
(实际结果:需要监控的各项性能指标)

2.4 建立测试环境
1、在进行性能则试之前,需要先完成性能 测试工具 环境的搭建工作。
2、部署性能测试 使用的 项目环境。
- 要求:硬件、软件、网络 必须与线上环境完全一致。(一般情况下可以要求运维和开发工程师协助完成 )
- 一部分项目,直接使用线上环境展开性能测试
2.5 测试脚本编写/录制
说明: 性能测试用例编写完成以后, 接下来就需要结合用例的需要, 进行测试脚本的编写工作。
提示: 录制或编写, 根据不同的工具要注意代码冗余。
注意:没有能力写脚本的人,才会进行录制,极力不推荐使用脚本录制。
2.6 执行测试脚本
说明: 先保证脚本调试通过之后, 才能进入正式压测阶段。
执行测试脚本时, 要先进行性能运行场景的设置, 再运行脚本。
2.7 性能测试监控
性能监控就是监控服务器的各项性能指标。 例如: 监控CPU、 内存、 网络、 TPS、 磁盘IO等
结合工具+命令来监控。
2.8 性能分析和调优
说明:性能测试分析人员经过对结果的分析以后,如果不符合性能需求,则会提出性能bug,然后由开发人员进行后续的调优。
提示:
- 调优--开发人员为主导,运维工程师(系统工程师、网络工程师)、DBA(数据库管理员)、性能测试分析人员配合进行。
- 验证--性能测试人员继续进行第二轮、第三轮......的测试,与以前的测试结果进行对比,从而确定经过调整以后系统的性能是否有提升。
yacas
系统调优由易到难的先后顺序如下:
1. 硬件问题(CPU、内存、硬盘)
2. 网络问题
3. 中间件(应用服务器)、 数据库等配置问题
4. 源代码、 数据库脚本问题
5. 系统构架问题
2.9 性能测试报告总结
测试报告是对性能测试工作的总结,为软件后续验收和交付打下基础。
性能测试总结要包含以下内容:
- 生成的性能测试报告图表(以 图 和 表 为主)。
- 体现测试过程中,出现性能瓶颈的位置、原因、解决的思路、调优的方法。
- 当前项目在测试过程中的风险如何处理,未来项目存在哪些性能风险。
- 总结项目测试过程中的经验和教训,以备后续项目反复出现!
yacas
测试报告的主要内容:
- 测试工作的经过回顾
- 缺陷分析和调优
- 风险评估
- 性能测试结果
- 测试工作总结与改进