性能测试流程,瓶颈分析

1.规范的性能测试流程

获得测试需求→测试计划→测试环境搭建→测试用例设计→测试数据准备→测试脚本编写→测试脚本执行→瓶颈分析定位→测试结果反馈→测试报告

2.流程节点解释

①获取测试需求:

提出人:甲方/业务方+开发人员

依据系统后期可能达到的访问量(甲方/业务方),以及系统架构、数据库,服务器等(开发人员)。确定“核心业务场景”以及“测试指标”。

②测试计划:

需“项目经理,甲方/业务方,测试人员”沟通确认。

③测试环境搭建→测试用例设计→测试数据准备→测试脚本编写→测试脚本执行:

这部分和功能测试流程大体一致。

侧重点在于测试环境的搭建(压力机构建),测试数据准备,脚本编写。

④瓶颈分析:

这是很重要的一个环节。

性能测试不是一蹴而就的,要达到压测需求,需反复调优和压测。

一下是我个人项目总结的几点:

1.压力机性能需满足压测需求

2.本地压测(脚本放在系统服务器上执行),排除网络因素,测试系统的健壮性。

3.模拟真实的业务场景(eg:设备是连接手机热点上报数据,压力机的网络连接为手机热点)

4.CPU上不去,脚本运行大量失败。(需经理和开发人员进行代码审核)

5.低并发,CPU过高。(需代码调优)

测试人员可以在服务器上,用top命令找出CPU占用率最大的线程。

top   //找到CPU占用率最大进程的PID,或者是待测脚本的PID
top -p [PID]     //只监控这个PID
H     //查看当前进程的线程信息,找到CPU消耗最高的线程ID
jstack 11567 [PID]     //做dump,输出整个进程信息

这样查出来的线程编号是:

线程ID转换为十六进制 = dump文件中的nid = 内存消耗最大的代码块,可以截取此部分给开发看

猜你喜欢

转载自www.cnblogs.com/bf-blackfish/p/11397767.html