参考: B站“黑马程序员”发布的视频教程。
性能测试的流程
:需求分析——》测试计划及方案——》测试执行——》结果分析。
一、需求分析的目的
性能需求分析是整个性能测试工作开展的基础
,性能需求分析做得好不好直接影响到性能测试的结果。
二、需求分析的结论或目标
1、明确被测系统
① 系统架构
例如:
② 系统要求
开发语言:PHP
运行环境:Linux/Windows,Nginx/APACHE,PHP 5.5–7.0,MYSQl 5.5-7.0
2、明确测试内容
明确测试的性能点(如常用业务模块)。
例如:该电商网站业务包括注册与登录,首页,热点商品展示,商品详情页,我的账户,搜索,支付等。
3、明确测试策略
例如:基准测试、 压力测试、负载测试、稳定性测试
4、明确测试指标
① 无明确需求指标
需要自己挖掘或者团队一起分析。
只能靠自己查找相关资料,和类似的系统对比,以及对未来流量的预估,确定性能测试需求的指标。
② 明确需求指标
明确具体的数值,只需要根据执行分析结果与预期指标做对比,如果有不满足的,就要分析问题所在。例如:
对某业务并发20个用户。
平均响应时间要 ≤ 三秒。
事务成功率为100%。
CPU使用率 ≤ 85%。
③ 确定性能指标
响应时间,并发用户数,TPS,资源利用率。
TPS的确定:
根据28定律
,80%的用户请求集中在20%的热点数据或时间段。
**例如:**某电商要求每天完成交易额2亿。客单价200~500之间,以300计算。
分析:
采用28定律,以24小时计算。
每天交易数=200000000/300=6666666.666666。
每小时交易数=6666666*0.8/(24 * 0.2)=111111.1111
结果: tps=111111/3600秒=30.86
三、性能测试计划及方案
1、测试计划
① 测试目标
确定此次性能测试的目标。例如登录、支付。
② 人力资源
明确性能测试的时间。计划需要多少人来进行测试。
③ 时间进度
性能测试 | 工作日 | 开始时间 | 结束时间 |
---|---|---|---|
测试用例设计 | |||
测试环境搭建 | |||
测试数据准备 | |||
脚本开发及执行 | |||
测试结果分析 |
④ 风险
列出可能存在的风险。
2、测试方案
① 测试环境
架构设计
软硬件配置:服务器、数据库
尽可能和生产环境一致
② 测试工具
性能测试工具:LoadRunner、Jmeter
监控工具:Linux
nmon
:分析Linux性能的免费工具,可以查CPU,内存,硬盘,网络等。
rpc
:安装在Linux,结合LoadRunner来使用。
jvisualVm
:主要监控JAVA程序,监控内存等wyth。
Spotlight
:监控数据库相关的信息。
监控工具:Windows
Spotlight
:监控数据库相关的信息。
perfmon.exe:性能监视器,Windows自带测试策略满足在规定的服务器
3、测试策略
满足在规定的服务器资源性能指标范围内,模拟不同的用户数量的性能测试,以确定系统能够承受的最大并发数。
① 一般的性能测试
单一场景
登录。
下单。
混合场景
登录》查看商品》下单。
② 稳定性测试
混合场景下,在负载测试的并发数下。延长测试时长至到至少3*24小时,考察系统的稳定性。
四、性能测试用例设计及执行
1、性能测试用例设计
① 按场景设计分类
预期性能指标的测试
、单业务并发性能的测试
、混合场景并发性能测试
。
② 测试用例设计
测试性能点
登录、注册。
用例的编写:预期性能指标的测试
用例编号 | 用例目的 | 测试数据 |
---|---|---|
登录-001 | 测试100个虚拟用户并发时,系统登录的响应时间 | 3000 |
操作步骤 | 期望的性能 |
---|---|
1、打开浏览器 | |
2、输入网址:http://shopadmin.eduwork.cn/login | |
3、输入用户名,密码 | |
4、点击“登录”按钮 | <1s |
5、点击“退出登录”按钮 | |
6、关闭浏览器 |
用例的编写:单业务并发性能的测试
用例的编写:混合场景并发性能测试
2、性能测试用例执行
① 脚本编写
根据测试用例编写对应脚本。
② 场景监控设计
把编写好的脚本去设计执行。
③ 运行场景
④ 监控场景
使用工具对服务器进行监控。
⑤ 测试报告
压测结果
通过表格方式描述结果是否满足需求
监控图
包括性能指标的结果及图形。tps、响应时间等。
性能评估
根据结果进行性能分析及评估,提供可优化的方案。