性能测试是每个公司都在想去开展的,作为评价 app 的一个重要指标,性能在测试过程中占有相当高的比重,但是目前很多公司都没有正常的开展此项测试,原因大概有三点,1、性能不会影响用户的正常使用,只会影响用户的体验 2、性能公司测试人员不足,无法满足开展条件 3、公司用户体量没到达需要测试性能的级别,但是无论如何在测试过程中性能测试不可不做。
首先可以聊一下,什么情况需要开展性能测试,再来聊一下性能测试的目的是什么,这些说明白后,再说性能测试该怎么去做,最后说一下性能测试的最终结果
每个公司的要求不一样,所以需要去开展性能测试的时间也有所不痛,大致分为以下几种:
1.产品上线前,要求必须要做性能测试
2.产品上线后出现性能问题(比较慢/卡),再测试
3.一些重大模块/新功能的时候,测试功能模块的性能
压测产品的性能的目的应该有三个情况
1.找出性能问题
2.性能测试报告-性能是否达标
3.标准,对比竞品,对比历史版本,性能指标
具体应该怎么做
1.性能需求
性能指标
并发用户数 通过公式去计算/指定
响应时间 不同模块要求不一样
平均响应时间 90%用户的响应时间
吞吐量/吞吐率
事务成功率 95%以上
资源指标
CPU,内存、使用率就控制在75%以下
网络,磁盘
2.制定性能测试计划
全部测试-1个星期可以完成
1天是编写用例、1天准备环境,2执行用例,1天测试报告与分析
部分测试-1-2天就能完成(具体情况具体分析)
3.性能测试用例
单个业务场景的测试
混合场景的测试
负载测试,不断加压
4.准备环境
1.设备
服务器
压测机-选择一台比较干净的机器
2.编写性能测试脚本
1.参数化
2.断言
3.动态关联
4.模拟用户的操作
3.测试数据
需要模拟大量用户操作,需要提前准备大量的测试数据
5.压测
1.监控服务器资源工具nmon--在脚本运行之前打开
2.运行脚本
单个场景压测-一般运行15-30分钟,并发用户数在原有基础上添加10%-20%
混合场景压测-运行30-60分钟
负载测试-没有时间限制,找出系统的瓶颈,什么时候会崩溃
6.测试报告与结果分析(1天)
1.测试资源
2.测试设计-计划
3.结果分析
4.测试结论
5.优化和建议
6.测试通过的标准
7.调优(排除法)
响应时间过长
1.资源使用率太高
2.中间件线程组太大
3.数据库-线程数、索引、SQL优化、索引命中率、sleep等待时间过长、临时表空间
4.代码质量问题
5.网络问题
资源使用率不足
1.线程数不够
2.带宽问题
3.中间件连接数
4.数据库的问题
5.代码质量
最后,通过性能测试找到系统瓶颈,完成性能测试,得出性能结果
#### 写在最后
我是小巴哥,一个陪你成长,实实在在分享 测试干货职场经验的人,欢迎关注!!!