性能测试准备工作与流程
声明:本文只是个人总结,能力有限,如有错误的地方,欢迎批评改正,共同学习成长
性能测试的准备工作
性能测试虽然是对业务性能的测试,但是在压测的前提是业务必须已经通了,建议在需求阶段就介入了解,以便对需求有更深入的了解,在后续的场景设计上也能更加完善
需求分析与评审
并不是每家公司都有完善的性能测试目标与流程,有些公司可能就是领导拍脑门说,小王,你测试一下这个接口的性能,能够支持多少并发?测完写个报告给我
这时,没做过性能测试的人可能就蒙了,怎么测?从哪开始?然后网上百度了一下,下载一个jmeter就开始测试。其实这些都不能算是正确的测试流程。正确的测试流程是在拿到一个需求后,要和产品进行讨论,在当前业务的范围内,制定一个合理的并发目标,设计相关的场景,然后出具一份性能需求,并发送给相关人员(主要是为了避免以后背锅)。
这里说的目标包括有并发数,响应时间,CPU的利用率等等。
制定测试计划与方案
拿到了需求,就根据需求进行场景的设计,项目的架构分析,需要什么样的资源,什么配置的服务器等等,出具一份测试计划,并发送给相关人员。
测试环境准备
有了需求,也有了计划,这时候,我们就需要准备测试环境,测试数据等,可以请公司开发、运维一起帮忙。如果有需要大量的测试数据,也需要提前准备
脚本准备
环境准备完成后,需要进行压测脚本的准备,一般的话jmeter可以满足大部分的压测需求
少量压测
环境脚本都齐全后,先对脚本进行少量压测,比如可以先压测1个用户,5分钟等等,来测试环境是否通顺
执行测试计划并进行监控
环境没有问题的话就进行真实的场景压测,可以根据测试计划进行压测。
在压测的过程当中,还需要对服务器进行监测,比如CPU,内存,等等,是否存在瓶颈。因为瓶颈的分析不是一两句话能够说清,后续有空会单独出一篇相关文章。
定位瓶颈并优化
对压测的服务进行监测,定位性能瓶颈,还需要对其进行优化,这里可以和开发一起讨论,如何将性能优化至最合适的配置
复测
优化后再次测试,直至达到要求为止
出具报告
测试完成后,还需要出具一份测试报告,包括测试了什么接口?测试的结果是什么?优化了哪些内容?优化前后性能提升在什么地方?等等。最好附以图表的形式,让领导能清晰的看到对比结果。