06_性能测试流程
一、为什么要掌握性能测试流程?
1、功能测试需要按照流程来推进,性能测试也同样,一套完整的测试流程是一次成功性能测试的基石;
2、【面试】简述下性能测试过程..
二、性能测试流程
1、性能测试需求分析 2、性能测试方案和计划 3、性能测试用例 4、测试脚本编写/录制 5、搭建场景 6、运行脚本 7、系统性能调优 8、性能测试报告总结
提示:根据不同的性能测试工具以上流程会有稍微差别,但主要流程是不变的。
【功能测试流程】 1、需求评审 2、编写测试方案和计划 3、编写测试用例和用例评审 4、执行用例和bug跟踪 5、编写测试报告
2.1性能需求分析 说明:性能需求分析是整个性能测试工作展开的基础,性能需求分析做的好不好直接影响到性能测试的结果,性能需求分析的目标:
1、熟系被测试系统
熟系被测系统的业务功能 功能结构图 业务流程图
熟系被测系统的技术架构 开发实现技术框架
2、明确测试内容
从业务角度明确测试内容
确定关键业务,即:用户使用频率较高的业务功能。 【关键业务】
从技术角度明确测试内容
如:通常逻辑复杂度较高的业务也是CPU密集运算较大的地方,考量服务器CPU在预定性能指标下是否达标。 【消耗较大业务】
如:通常数据量较大的业务很占系统内存,考量服务器内存在预定性能指标下是否达标。
3、明确测试策略 【根据目标来明确】
负载测试
压力测试
稳定性测试
并发测试: 大量用户同时访问系统,是否存在异常
4、明确测试指标
无明确需求指标
通过查找相关资料,和类似的系统对比,以及对未来流量的预估,确定性能测试需求的指标
有明确需求指标
类似如下指标:
1、下订单业务并发20个用户
2、平均响应时间小于等于3S
3、事务成功率为100%
4、CPU使用率小于等于85%
只需要根据执行分析结果与预期指标做对比,如果有不满足的,就需要分析问题。
2.2 性能测试计划及方案
说明:性能测试实施第一份文档,也是最重要的一份文档。
主要内容:
1、项目背景
2、测试目标
确定此次性能测试的目标
3、人员安排
明确性能测试的时间,计划需要多少人来进行测试
4、时间进度
| 性能测试 | 工作日 | 开始时间 | 结束时间 |
| 测试用例设计 | |||
| 测试环境搭建 | |||
| 测试数据准备 | |||
| 脚本开发及执行 | |||
| 测试结果分析 |
5、性能测试环境
系统架构
软硬件配置
测试数据
原则:尽量与生产环境保持一致
6、测试工具
性能测试工具、监控工具等
7、测试策略
确定性能测试类型
负载测试
压力测试
稳定性测试
并发测试
确定性测试场景
单一场景
服务器同一时刻只进行统一业务操作,如抢红包。
混合场景
服务器同意时刻处理不同业务操作,如网上商城搜索商品,加入购物车、下订单、支付等。
8、风险控制 人力风险和技术风险
2.3 性能测试用例
说明:用例应用能覆盖到测试需求,主要包括(测试步骤、并发数、目标值、场景策略)
2.4 测试脚本编写/录制
说明:性能测试用例编写完成以后,接下来就需要结合用例的需要,进行测试脚本的编写工作。
提示:录制或编写,根据不同的工具要注意代码冗余。
2.5搭建场景 说明:测试场景的设计一个重要的原则就是依据测试用例,把猜测是用例设计的场景展现出来。 提示: 1、虚拟用户数量及启动虚拟用户方式 2、场景的相关设置(如:集合点) 3、脚本是否存在依赖关系(登录域注册)
2.6 运行脚本
说明:运行脚本就是运行场景。
注意:
1、负载的测试机不能够运行设定的虚拟用户数 测试机硬件达不到要求,测试机资源不足达不到要求。 一个用户大概消耗1M,1000个用户1G,2万个用户则会出现资源不足。
2、没有“预热”过程 缓存 模拟用户真实操作 浏览器缓存
3、没有模拟用户的真实环境
4、性能用例运行次数过少 当测试的时间足够多的的情况 测试的结果才会对!
2.7 系统性能调优
说明:性能测试分析人员经过对结果的分析以后,有可能提出系统存在性能瓶颈。
提示:
1)具体的性能调优人员(开发人员主导、数据库管理员、系统管理员、网络管理员、性能测试分析人员)相关人员对系统进行调整;
2)验证-性能测试人员继续进行第二轮、第三轮的测试,与以前的测试结果进行对比,从而确定经过调以后系统的性能是否有所提升。 性能测试的过程比较痛苦,周期长。
回归:
注意:
系统调优由易到难的先后顺序如下:
1.硬件问题 申请资源
2.网络问题 申请网络资源
3.应用服务器,数据库等配置问题;
4.源代码,数据库脚本问题; 嵌套查询效率较低
5、系统架构问题 QQ已经换了5次架构
2.8 性能测试报告总结
说明:性能测试总结要包含以下内容:
1)性能测试需要覆盖情况,性能测试过程中出现的问题,如何取分析、调优、解决的; 测试用例多少 bug多少 解决了多少 测试缺陷 解决了多少 测试缺陷分布
2)测试人员、进度控制与实际执行偏差和性能测试过程中遇到各类风险是如何控制的 遗留的问题 场景未覆盖到 风险预估
3)经过该项目性能测试后,有哪些经验和教训等内容。 总结 本次性能测试是否通过 做的好的经验 做的不好的地方

浙公网安备 33010602011771号