性能测试的基本流程
1、明确性能测试的需求
2、指定性能测试方案
至少包括:
测试背景、测试目的、测试范围、测试的进出条件、测试的退出条件、测试的指标要求、测试的策略、测试时机、测试风险和测试资源。
例如:
1)、测试进入条件
(1)不遗留L1的缺陷
(2)性能测试数据准备完毕
(3)系统功能测试已经结束
2)、测试的退出条件
(1)各场景执行达到测试场景的需求。
(2)系统出现大量错误,暂停执行性能测试
3)测试的指标要求
关键功能的响应时间和用户数如图所示:
关键功能 | 平均使用次数 | 平均用户数 | 高峰段用户数 | 平均响应时间长 | 可接受最长响应时间长 | 使用的时间端 |
***功能 | 20 000 | 23 000 | <3s | <=7s | 8:00~21:00 | |
***功能 | 20 000 | 23 000 | <3s | <=6s | 8:00~21:00 | |
***功能 | 20 000 | 23 000 | <3s | <=6s | 8:00~21:00 | |
***功能 | 20 000 | 23 000 | <3s | <=7s | 8:00~21:00 | |
***功能 | 20 000 | 23 000 | <2s | <=4s | 8:00~21:00 | |
***功能 | 20 000 | 23 000 | <4s | <=15s | 8:00~21:00 | |
***功能 | 20 000 | 23 000 | <3s | <=6s | 8:00~21:00 |
4)测试的策略
测试环境指标折算
测试环境平均并发数=(最大在线人数*10%)/n
其中,n时胜场环境和测试环境服务器配置折算比,例如n=公倍数((生产web服务器数/测试web服务器),(生产app服务器数/测试app服务器数))*(生产服务器内存/测试服务器内存),一般算下来n=4.
存量数据:
按照日均xxx任务量来推算存量数据。为了确保系统高可用率机迅速响应,系统会对数据做定期归档
存量数据类型 | 归档时间 |
xxx信息 | xxx秒 |
xxx信息 | xxx秒 |
xxx结果 | xxx秒 |
xxx历史 | xxx秒 |
xxx信息 | xxx秒 |
组合场景测试:
(1)用下一任务功能获取优先级最高的任务
(2)编辑客户信息
(3)保费计算
(4)投保单录入
(5)记录电销结果
这5项内容应该是坐席操作最多的功能,比例①:②:③:④:⑤=3:2:2:1:3
测试通过标准:
(1)平均响应时间长满足测试的指标要求。
(2)90%响应时长满足测试指标要求。
(3)2小时压力测试中脚本没有报错
测试场景总的指导原则:
设置场景:每1秒增加5个用户,以x个并发为基础,逐渐递增至目标并发数,直到服务器吞吐率不再增加,响应时长随用户增加比例稳定同比增加。达到并发量之后再持续运行脚本x小时左右。场景中的并发用户均匀启动和停止。
后台监控:
后台监控工具的选择:
是否需要 | 监控对象 | 监控指标 | 使用工具 |
是 | web、app主机 | CPU、MEMORY、I/O | openview |
是 | 数据库服务器 | CPU、MEMORY、I/O | openview |
是 | 数据库 | TOP SQL等 | APM |
是 | 中间件 | 等待队列 | CONSOLE |
3、编写性能测试案例
测试人员应该以性能测试需求和性能测试方案作为输入,以便产出性能测试案例,例如下图所示: 《性能测试案例范例》
测试案例名称 | 测试的步骤 | 描述 | 预期结果 |
性能测试-登陆(身份验证) | 步骤1 |
计算=性能测试并发用户数,方法参 见《xxx项目_性能测试方案》 |
确定从哪测试并发用户数 |
步骤2 |
准备性能测试脚本 |
性能测试脚本完成 | |
步骤3 |
为性能测试准备存量数据,其中: xx信息 xxxx条数据 xx信息 xxx条数据xx结果 xxx条数据 xx历史 xxx条数据 xx信息 xxx条数据 |
准备存量数据完成 | |
步骤4 |
执行脚本,验证系统是否满足相关性能测试指标 平均响应时长<x秒 90%响应时长<=x秒 |
系统满足相关性能测试指标
|
|
步骤5 |
执行x小时压力测试(稳定性测试)
|
①系统满足相关性能测试指标 ②x小时压力测试中脚本没有报错 |
4、执行性能测试案例
性能处死案例只是一个直到性的测试文件,具体如何王城性能测试工作,要依赖于测试人员的技能和具体的性能测试工具。
5、分析性能测试结果
分析性能测试结果非常重要,而且很有难度。可以这么说,会执行性能测试案例的人是“徒弟”,能够全面分析性能测试结果的人是“师父”。
6、生成性能测试报告
一份性能测试报告,至少应该包含如下内容:
1、测试基本信息:测试目的、报告目标读者、术语定义、参考资料
2、测试环境描述:包含服务器/硬件环境、网络环境、测试工具、测试人员
3、性能测试案例执行分析:需要详细描述每个测试案例的执行情况,以及对应的测试结果分析
4、测试结果综合分析机建议:对本次性能测试做综合分析,冰给出测试结论和改进的建议。
5、测试经验总结。