市面上流行的压力/负载/性能测试工具多是来自国外,近年来国内的性能测试工具也如雨后春笋崛起。同时由于开发的目的和侧重点不同,其功能也有很大差异,下面就为您简单介绍10款目前最常见的测试产品。
1、kylinTOP测试与监控平台(商用版)
kylinTOP测试与监控平台是一款B/S架构的跨平台的集性能测试、自动化测试、业务监控于一体的测试平台,该工具开放10个免费虚拟用户可供学习和使用。在易用性上较好,录制脚本支持最新版本的浏览器,对谷歌和火狐都支持非常好。对一些https.的网站证书问题,都为用户自动处理好了,可以轻松录制。录制过程高效便捷这是其它性能工具无法比拟的。仿真能力上是目前业界做的最好的性能工具,可以做到完全仿真浏览器行为,也就是单用户的HTTP请求瀑布图可以和浏览器器完全一样。总之它是目前国内一款非常难得好用的性能测试工具,可以完全替代国外的同类产品。目前在军工领域、测评检测机构、国有企业、银行体系、大型企业有着广泛的应用。支持的协议较多,尤其在视频领域支持的协议非常多,具有独特的优势。
2、kylinPET(商用)
kylinPET在外观设计思路上有点类似LoadRunner,由脚本编辑器、分析器、并发控制器、执行器四部分组成,运行环境支持windows,linux,统信操作系统,麒麟操作系统。kylinPET工具在脚本录制上具有强悍的表现,脚本录制支持的浏览器包括:Chrome,Firefox,ie,UOS浏览器、龙芯浏览器等。优其对脚本的调试功能,有着不一般的表现:录制与回放对比、回放结果可视化展示、关联功能扫描等。
性能最主要的功能是脚本制作、场景配置、指标统计与监控。kylinPET在这三个方面都做到了极致。下图所示的脚本回放调试,可以显示每个请求调试结果的瀑布图、回放与录制结果对比、验证页面等都做的非常完善。
不仅如此,在任务执行的指标监控上,也提供了可观测试的指标曲线图。
3、LoadRunner(商用)
是一款C/S架构的商业版性能测试工具,在国内存在的时间较早,在国内在使用较广泛,知名度较高。该工具免费开放了50个虚拟用户,可供学习和使用。在国内的网站上有破解版本,但是到了最新的12版本,不再有破解版。破解版的仿真度较差,HTTP的瀑布图是按两个两个并发(与浏览器行为不一样),最新版本的仿真度得到很大的改善,对于HTTP静态请求相似度请求提高到80%,而动态请求就要差很多。由于loadRunner起步早,支持的协议很多,很多不常用的协议都支持,如电子邮件相关协议都支持。但对一些视频协议支持的不太好。loadrunner目前对浏览器最新版支持的不太好,最新的loadrunner12只支持ie11,对其它浏览器如谷歌、火狐等支持的较差。在脚本录制方面有些网站录制不了。价格上比较昂贵,一般小企业无力承担。
4、Apache JMeter(开源免费)
JMeter是一款开源免费的压测产品,最初被设计用于Web应用功能测试使用,如今JMeter被国内企业用于性能测试。对于WEB服务器(支持浏览器访问),不建议使用Jmeter,因为jmeter的线程组都是线性执行的,与浏览器相差很大,测试结果不具有参考性。对于纯接口的部分场景(对接口调用顺序无严格要求)测试可以使用,但是要注意使用技巧,才能达到理想结果。Jmeter提供的脚本形态与kylinPET很相似,但执行行为相差很大。Jmeter在进行脚本调试时,关联参数都需要手工处理,需要消耗大量的时间。
5.OpenSTA(开源免费)
OpenSTA是一个免费的、开放源代码的web性能测试工具,能录制功能非常强大的脚本过程,执行性能测试。例如虚拟多个不同的用户同时登陆被测试网站。其还能对录制的测试脚本进行,按指定的语法进行编辑。在录制完测试脚本后,可以对测试脚本进行编辑,以便进行特定的性能指标分析。其较为丰富的图形化测试结果大大提高了测试报告的可阅读性。OpenSTA 基于CORBA 的结构体系,它通过虚拟一个proxy,使用其专用的脚本控制语言,记录通过proxy 的一切HTTP/S traffic。通过分析OpenSTA的性能指标收集器收集的各项性能指标,以及HTTP 数据,对系统的性能进行分析。虽然OpentSTA具有这么多的优点,缺点也很多。OpentSTA在2007年以后就已经停止维护,脚本录制对浏览的支持ie只支持到ie6,想使用的小朋友需要降低浏览器版本。OpentSTA脚本与LoadRunner类似,提供的是函数封后的脚本,需要增加一些学习成本。
6、Load impact(免费使用)
是一个在线可以免费测试网站负载能力,它就可以满足你的基本要求, 当然成为他的付费用户测试的项目将会更多。
Load impact是一款服务于DevOps的性能测试工具,支持各种平台的网站、Web应用、移动应用和API测试。Loadimpact可以帮助用户了解应用的最高在线用户访问量,通过模拟测试不同在线人数下网站的响应时间,估算出服务器的最大负载。
Load impact的使用非常简单,只需要输入网址进行测试,便可统计出加载网站的一些详细数据。包括整体加载和站内图片,javascript, CSS等代码载入。可以在右侧列表选择不同文件来同时对比最多三个对象的加载数据,并生成图表显示,方便网站设计者来分析。测试完成之后,网站还可以存储测试过的统计数据。
特别提醒:
1)由于此测试数据发生在国外,一般反映出的是国外用户访问您要测试的网站的速度参数,具有一定的参考性;
2)对于国内主机,并且主要客户来自于国内的用户来说请慎重将此数据作为依据。
7.locust(开源免费)
Locust 完全基本 Python 编程语言,采用 Pure Python 描述测试脚本,并且 HTTP 请求完全基于 Requests 库。除了 HTTP/HTTPS 协议,Locust 也可以测试其它协议的系统,只需要采用Python调用对应的库进行请求描述即可。但是需要手工编写脚本,有一定的难度。
总结
商用性能工具在易用性(脚本生成)、并发模型、统计指标上要比开源免费软件要好很多,可以大大提高工作效率,降低使用难度,在统计指标上要丰富的多。
免费开源软件的优点就是免费,不用花钱。但使用难度大,统计指标少,在仿真能力上比较弱。
如何选择主要看使用者的经济能力和使用频度。如果是使用频繁,免费的软件实际使用成本比商用软件还要贵。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取