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

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: Locust(推荐) 了解服务器端性能的好工具。 语言python3。源码 python3+ python2.7+ github上star和fork最多的性能测试工具。 Locust是易于使用、分布式的用户负载测试工具。

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 较长时间没有更新,一般只建议改造使用。

![
](https://upload-images.jianshu.io/upload_images/12713060-2ad4113d61eb2f47.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

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,图像。

参考资料

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
21天前
|
安全 前端开发 测试技术
如何选择合适的自动化安全测试工具
选择合适的自动化安全测试工具需考虑多个因素,包括项目需求、测试目标、系统类型和技术栈,工具的功能特性、市场评价、成本和许可,以及集成性、误报率、社区支持、易用性和安全性。综合评估这些因素,可确保所选工具满足项目需求和团队能力。
|
20天前
|
安全 网络协议 关系型数据库
最好用的17个渗透测试工具
渗透测试是安全人员为防止恶意黑客利用系统漏洞而进行的操作。本文介绍了17款业内常用的渗透测试工具,涵盖网络发现、无线评估、Web应用测试、SQL注入等多个领域,包括Nmap、Aircrack-ng、Burp Suite、OWASP ZAP等,既有免费开源工具,也有付费专业软件,适用于不同需求的安全专家。
41 2
|
19天前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
|
19天前
|
测试技术 数据库连接 数据库
测试脚本的编写和维护对性能测试结果有何影响?
测试脚本的编写和维护对性能测试结果有着至关重要的影响,
27 1
|
1月前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
36 1
|
1月前
|
测试技术
软件测试的艺术:从新手到专家的转变
在数字化时代,软件已成为我们生活和工作中不可或缺的一部分。因此,确保软件的质量和性能至关重要。本文将探讨软件测试的重要性,以及如何从一名初学者成长为一名软件测试领域的专家。我们将通过分析软件测试的基本概念、关键技能和最佳实践,来揭示这一过程的内涵和意义。
|
1月前
|
测试技术 UED 开发者
软件测试的艺术:从新手到专家的旅程
在数字化时代,软件测试不仅是确保产品质量的关键步骤,也是提升用户体验的重要手段。本文将探索软件测试的基本概念、重要性以及如何从一名新手成长为测试领域的专家。我们将通过具体案例分析,揭示软件测试过程中的常见问题和解决策略,帮助读者理解并掌握软件测试的核心技能。
|
2月前
|
Java 流计算
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
44 1
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
|
1月前
|
测试技术 持续交付 UED
软件测试的艺术:从新手到专家的旅程
在软件开发的世界中,测试不仅是一项技术活动,更是一种艺术。本文将带领读者探索软件测试的奥秘,从基础概念到高级策略,揭示如何通过细致的测试流程提升软件质量。我们将一起了解测试的重要性,学习不同的测试类型,掌握编写有效测试用例的技巧,并探讨自动化测试和持续集成的实践。无论你是刚入行的新手还是希望深化知识的专家,这篇文章都将为你提供宝贵的见解和实用的建议。
|
2月前
|
架构师 算法 测试技术
软件测试的艺术:从初学者到专家的转变
本文将深入探讨软件测试的重要性,以及如何从一名初学者成长为一名专业的软件测试工程师。我们将从基础概念开始,逐步深入到高级测试策略和工具,帮助读者建立扎实的理论基础和实践技能。此外,我们还将讨论当前市场上的一些主流测试工具和技术,以及如何在职业生涯中不断进步和发展。