[雪峰磁针石博客]软件测试专家工具包2性能测试

Locust(推荐)

了解服务器端性能的好工具。 语言python3。源码 python3+ python2.7+ github上star和fork最多的性能测试工具。

Locust是易于使用、分布式的用户负载测试工具。用于网站(或其他系统)的负载测试,计算出系统可以处理并发用户数。

测试时大量蝗虫会攻击你的网站。每只蝗虫(或叫测试用户)可以自定义、测试过程由web界面实时监控。这能帮助测试并确定瓶颈。

Locust 完全基于的事件,单机可以支持数千用户。它不使用回调,而是基于轻量进程gevent, 能简单地实线各种场景。

流行的软件测试工具介绍

Multi-Mechanize(推荐)

Multi-Mechanize 是一个开源的性能和负载测试框架,它并发运行多个 Python 脚本对网站或者服务生成负载(组合事务)。测试输出报告保存为HTML或JMeter的兼容的XML。Multi-Mechanize最常用于web性能 和可扩展性(scalability)测试,也适用于任何python可以访问的API。尤其适合后台性能测试。稍微懂点编程的话,这个工具会远强过商业 的性能测试工具。

主要特性:

  • 支持各种 HTTP methods

  • 高级超链接和HTML表单支持

  • 支持 SSL

  • 自动处理 Cookies

  • 可设置HTTP头

  • 自动处理重定向

  • 支持代理

  • 支持 HTTP 认证

image

--基于python多进程和多线程实现,学习自行开发性能测试的佳品。 Python 2.6 or 2.7 较长时间没有更新,一般只建议改造使用。

image

nGrinder(推荐)

nGrinder是基于Grinder开源项目,由NHN公司的开发团队进行了重新设计和完善。nGrinder是一款非常易用,有简洁友好的用户界面和controller-agent分布式结构的强大的压力测试工具。 nGrinder测试基于python测试脚本(groovy也可),用户按照一定规范编写测试脚本,controller会将脚本一集需要的资源分发到agent,用jython执行。并且在执行的过程中收集运行情况、相应时间、测试目标服务器的运行情况等。并且保存这些数据生成测试报告,以供查看。 这款框架的一大特点就是非常的简单易用,安装也很容易,可以说是开箱即用。

源码地址:https://naver.github.io/ngrinder/ 性能测试工具nGrinder介绍

image.png

grinder

分布式结构的强大的压力测试工具 http://grinder.sourceforge.net/

image.png

GTmetrix

https://gtmetrix.com/ 基于Google的Pagespeed和Yslow,还可以监控网站。

  • 收集关键性能指标如页面加载时间,总页面大小和请求的总数。
  • 在真实Android设备上分析页面。
  • 从世界各地测试你的页面。

流行的软件测试工具介绍

流行的软件测试工具介绍

LoadWise

LoadWise是一个简单的性能负载测试工具,使用Firefox浏览器脚本记录器。 也可用于功能测试,免费版本只支持三个用户。

流行的软件测试工具介绍

流行的软件测试工具介绍

Badboy

Badboy是功能强大的开源工具,专门用于复杂的Web应用的自动化测试和负载测试。支持录制/回放界面、性能测试、报告等功能,很多地方和JMeter类似,在处理AJAX方面更好。

流行的软件测试工具介绍

Webperformance

Webperformance是商业负载测试工具,无需安装应用程序和配置服务器。测试启动可以创建基于URL和录制。

主页:http://www.webperformance.com/

流行的软件测试工具介绍

流行的软件测试工具介绍

webPagetest

WebPagetest是用于测量和分析网页性能的开源工具。提交URL后它产生的页面级指标问题的报告,包括加载时间,所有加载时间,第一个字节的时间,开始渲染时间,速度指标,DOM元素和返回码。

主页:http://www.webpagetest.org/

流行的软件测试工具介绍

百度也提供了类似功能,参见:http://developer.baidu.com/apm/

Loader.io

Loader.io是免费的负载测试服务,可以对你的webapps和API进行上千并发连接的压力测试。上传token文件验证网站之后即可实时或定时测试。

流行的软件测试工具介绍

主页:https://loader.io/

SourceMonitor

免费程序SourceMonitor可查看软件源代码大小及相对模块复杂度。

  • 分析速度:一万行/秒
  • 支持C++, C, C#, VB.NET, Java, Delphi, Visual Basic (VB6) or HTML
  • 在软件开发过程中保存检查点指标
  • 显示和打印度量表格和图表,包括Kiviat图。

主页:http://www.campwoodsw.com/sourcemonitor.html

流行的软件测试工具介绍

流行的软件测试工具介绍

性能测试参考资料:

https://blazemeter.com/blog/open-source-load-testing-tools-which-one-should-you-use

Bees with Machine Guns

进行负载测试的蜜蜂(微型EC2实例)。 语言python3+ python2.6+

Siege

http负载测试和基准测试工具。 Siege支持基本身份验证,Cookie以及HTTP和HTTPS协议,并允许用户使用可配置数量模拟Web浏览器访问Web服务器。

Apache Bench

ApacheBench 是一个用来衡量http服务器性能的单线程命令行工具。原本针对Apache http服务器,但是也适用于其他http服务器。

Httperf

测量Web服务器性能,并为生成各种HTTP工作负载和测量服务器性能提供灵活的工具。重点不是实施特定的基准,而是提供强大的高性能工具,有助于构建微观和宏观基准。 httperf的三个显着特征是强大,包括产生和维持服务器过载的能力;支持HTTP / 1.1和SSL协议;及其对新工作负载生成器和性能测量的可扩展性。

JMeter (推荐)

测试静态和动态资源(文件,servlet,Perl脚本,Java对象,数据库和查询,FTP服务器等)的性能。您还可以使用它来模拟服务器,网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。还可对性能进行图形分析,或者在繁重的并发负载下测试服务器/脚本/对象的行为。

Google PageSpeed Insights

分析网页内容并生成建议以加快网页加载速度的服务。

Sitespeed.io

根据性能最佳实践和时序指标分析您网站的速度和性能。您可以分析一个站点,分析和比较多个站点,或者在性能不合格时让持续集成服务器停止构建。

Google ngx_pagespeed

可加快您的网站速度并缩短网页加载时间。此开源Apache服务器模块自动将Web性能最佳实践应用于页面和关联资源CSS,JavaScript,图像。

Google mod_pagespeed

可加快您的网站速度并缩短网页加载时间。此开源nginx服务器模块自动将Web性能最佳实践应用于页面和关联资源CSS,JavaScript,图像。

参考资料

links