性能测试知识科普(三)

简介: 还有在一些技术交流群,很多同学会说自己遇到的问题,如不知道怎么用jmeter参数化,locust的压测结果图表怎么看,怎么写gatling的压测脚本等等。并不是说觉得用工具low,而是遇到问题,我个人觉得首先应该分析问题,找到解决方法和策略,然后寻找合适的工具来辅助自己快速解决问题。

上一篇文章聊了性能测试中常见的测试策略以及如何选择合适的策略进行测试活动开展。这篇文章是性能测试知识科普的第三篇,我想聊聊很多性能测试小白最关心也最核心的问题——压测工具。


普遍存在的问题


聊压测工具之前,先聊一下我面试候选人时问的问题以及在技术交流群经常遇到的一个情况。面试候选人特别是性能测试岗位,我一般很少问测试工具的问题,大多问的是测试策略,针对特定场景如何设计压测方案以及如何定位排查性能瓶颈如何优化方面的问题。但大多数候选人的第一反应是用什么工具,第一步怎么操作第二步怎么操作,如果你问这个工具的原理和特性,又回答的支支吾吾。


还有在一些技术交流群,很多同学会说自己遇到的问题,如不知道怎么用jmeter参数化,locust的压测结果图表怎么看,怎么写gatling的压测脚本等等。并不是说觉得用工具low,而是遇到问题,我个人觉得首先应该分析问题,找到解决方法和策略,然后寻找合适的工具来辅助自己快速解决问题。


工具选型和推荐


聊完了对工具的认知后,接着聊聊如何选择合适的压测工具吧,这一段更适合性能测试新手或者小白,大佬请无视。当然,我理解让新手掌握学习枯燥无味的概念和方法论有点强人所难,并不是所有人都有时间和耐心去学习这些知识的。挑选了几个适合不同场景和不同阶段测试同学可以直接上手的工具,下面内容供参考:


工具名称 特性和脚本开发 适用场景 不足(对于新手)
Wrk 特性:体积小、安装便捷、纯命令行脚本开发:脚本参考官方文档的demo 适用于新服务研发自测或粗略的性能评估 不适合日常压测
Locust 特性:体积小、安装便捷、可视化界面配置脚本开发:简单脚本参考官方文档的demo或其他教程即可开始压测(需要写代码 满足日常压测和小团队使用 二次开发成本高
Jmeter 特性:体积小、安装便捷、支持拖拽、扩展组件多、可视化界面配置脚本开发:简单脚本参考官方文档的demo或其他教程即可开始压测(大部分场景无需写代码 满足团队和企业级日常压测所需 企业级使用需要二次开发和包装
Gatling 特性:体积小、安装便捷、多协议支持、扩展性较好脚本开发:简单脚本参考官方文档的demo或其他教程即可开始压测(需要写代码 满足团队和企业级日常压测所需 企业级使用需要二次开发和包装
Loadrunner 特性:体积巨大、安装繁琐、功能齐全、可视化界面配置脚本开发:简单脚本参考官方文档的demo或其他教程即可开始压测(大部分场景无需写代码 满足团队和企业级日常压测所需 企业级使用要钱


软件测试而非测试工具


很多同学把压测工具当作了性能测试核心,忽略了需求分析、测试策略、定位问题和优化方面,这样其实有点舍本逐末。软件测试只是整个交付环节里面的一部分,而软件研发交付本身是依赖于软件工程的方法论指导而实践出来的。


因此,我还是建议一些学性能测试或者做性能测试的同学,需求分析很重要,测试策略很重要,定位问题并找到合适的优化方案很重要,工具并没有那么重要。


工具只是在有解决方案的前提下,帮助你提高解决问题效率的辅助而已。


毕竟,做软件测试工作的是人,而非工具。人具有主观能动性和创造力,工具仅仅是辅助工具。


质量保障需要人去保障,工具只是辅助的提效工具。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
存储 SQL 数据采集
性能测试知识科普(七):监控能给你带来什么
当然这些指标是我们日常工作中经常遇到和会关注的,但实际上在性能测试过程中,要根据不同的业务场景、技术架构以及问题表现来关注分析不同的指标。而不是只关注自己看到的指标,填充到表格里提交一份所谓的压测报告就完事的。
性能测试知识科普(七):监控能给你带来什么
|
缓存 测试技术 数据处理
性能测试知识科普(六):三大模型
在性能测试工作中,业务模型、流量模型和数据模型是至关重要且必须在项目中构建的,否则很可能导致测试的场景和实际差距很大,测试结果也无法为性能分析和优化提供足够有说服力的支撑。为了便于大家理解三大模型
性能测试知识科普(六):三大模型
|
运维 监控 中间件
性能测试知识科普(五):能力分层
前面的文章分享了性能测试中的核心术语和指标、常用测试策略、压测工具选型以及性能需求分析的内容。写这篇文章的初衷是昨天有同学咨询我,希望通过付费方式让我教她性能测试,可以达到独立owner项目的程度。
性能测试知识科普(五):能力分层
|
缓存 负载均衡 监控
性能测试知识科普(四):分析需求
为了避免某个可用区由于网络硬盘等原因损坏导致服务不可用,跨可用区的服务部署是一种常见的容灾手段。
性能测试知识科普(四):分析需求
|
负载均衡 测试技术
性能测试知识科普(二)
在聊测试策略之前,很有必要聊聊性能测试的目的,或者性能测试的本质是要做什么,解决什么问题。只有想明白这点,后面的需求分析、工具选型、制定测试策略才能更好的开展。
性能测试知识科普(二)
|
缓存 监控 测试技术
性能测试知识科普(一)
换成高速收费站的场景,就是车到了收费窗口,我刷卡扫码支付,然后抬杆放行直到车出去下一个车进来。这个过程的耗时就是所谓的响应时间。至于我们常见的平均响应时间和99响应时间,只是不同维度的统计方法而已。
|
8月前
|
关系型数据库 MySQL Java
【JMeter】(3)---MySQL压测
【JMeter】(3)---MySQL压测
180 0
|
8月前
|
JSON Java 测试技术
【JMeter】(2)---HTTP压测
【JMeter】(2)---HTTP压测
103 0
|
6月前
|
消息中间件 弹性计算 Java
使用阿里云性能测试工具 JMeter 场景压测 RocketMQ 最佳实践
使用阿里云性能测试工具 JMeter 场景压测 RocketMQ 最佳实践
|
8月前
|
XML 前端开发 测试技术
使用 jMeter 对 SAP Spartacus 进行并发性能测试
使用 jMeter 对 SAP Spartacus 进行并发性能测试
78 0