总体流程
- 收集需求
- 开发测试脚本
- 执行测试
- 分析及报告
- 性能优化
- 执行测试
- 分析及报告
- 重复以上步骤...
收集需求
性能测试和功能测试工作流程上没什么不同,必须要收集需求,比如功能测试登录输入框最多输入10个字符,那么放在性能测试中,就是一个请求,或者一个事务响应时间是多少,或者CPU占用率保持多少以下。就是说我们必须要拿到项目经理或者产品经理强调的数值,强调的场景,有了场景后,才可以开发我们的脚本,可能有的人会问,如果没有需求,怎么测试,笔者建议以下2点:第一就是判断哪些场景是用户常使用的,第二就是看日志,一般系统都会收集用户行为,也就是我们常说的埋点,可以通过埋点看哪个时间段数值较多。
开发测试脚本
我们讲了那么多Jmeter,绝大部分是介绍了Jmeter组件的使用,并没有实战的案例。这里举个例子,比如我们登录事务,产品经理要求100并发,响应时间是3s。那么我们怎么设计脚本呢?其实很简单,不需要设计,直接录制就好了,那么怎么录制呢?可以参考我之前写的一篇文章19. Jmeter抓包之浏览器请求。然后把录制下来的请求,不需要的删除,线程组改成100,然后添加监听器,比如说我们可以添加聚合报告,或者使用Jmeter NON GUI模式,可以参考23. Jmeter GUI 及NON GUI实现分布式,去查看响应时间。
执行测试
脚本我们已经开发好了,那么我们是不是直接测试就行了呢?当然不是,我们必须要确定性能环境是隔离的,不能说我这边还在测试,那边还有人操作,那么测试出来的数据也是不准的,所以一定要保证环境隔离。
分析及报告
怎么分析呢?当然是根据响应时间进行判断,比如登录并发100要求是3s,那么实际上是5s,这个就不符合要求了,我们就需要到服务器去看哪些地方出现了瓶颈,这里就可以用到我们之前学的Nmon,可以参考25. 服务器性能监控之nmon工具介绍或者参考26. 60s快速定位服务器性能问题
当然Nmon只是众多性能监控工具中一个,还有很多其他工具,我们这里就不展开介绍。
性能优化
如果性能出现了瓶颈,那么我们肯定要优化,优化完了就完了吗?当然不是,我们根据优化后的系统再保持性能测试脚本不变,继续测试,查看优化是否符合预期。
好了以上就是性能测试总体流程,其实还有很多东西没说,我这里特别想讲讲性能监控,就是我们的CPU、内存、磁盘、网络,但是我打算放在另外一个专题仔细讲解。好了,这27节内容如果大家仔细看,我觉得做些简单的性能测试是完全没有问题的,想要深入的话,还得学学操作系统知识,因为性能测试一定离不开操作系统。
欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560
转载请注意出处,谢谢合作
网友评论