1.Apache JMeter
https://github.com/apache/jmeter
Apache JMeter是一个开源免费功能、性能测试软件。可以测量静态和动态Web应用程序的性能和负载。还可用于模拟服务器、服务器组网络或对象,以测试其强度或分析不同负载类型下的整体性能。并支持生成一个完整的动态HTML报告。
2.Selenium
https://github.com/SeleniumHQ/selenium
Selenium是一个Web应用程序的自动化测试工具。它封装了各种工具和 支持Web浏览器自动化的库。它能够模拟用户与浏览器交互,支持用代码实现 W3C WebDriver规范 与大部分浏览器进行交互。
Selenium的核心是WebDriver, 一种用于编写指令集的接口,通过编写几行代码执行这些指令集就可以可以控制许多浏览器动作。以java为例:
package dev.selenium.hello;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class HelloSelenium {
public static void main(String[] args) {
WebDriver driver = new ChromeDriver();
driver.get("https://selenium.dev");
driver.quit();
}
}
3.SoapUI
https://github.com/SmartBear/soapui
SoapUI是一个开源的API测试自动化框架。它通过soap/http协议来检查、调用、实现对Web服务的功能测试、负载测试、功能符合性测试。该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。把一个或多个测试套件(TestSuite)组织成项目,每个测试套件包含一个或多个测试用例(TestCase),每个测试用例包含一个或多个测试步骤,包括发送请求、接受响应、分析结果、改变测试执行流程等。
4.K6
https://k6.io/
https://github.com/grafana/k6
K6是一个负载和性能测试工具,用于测试云原生应用程序。K6提供了各种插件,便于轻松地将K6集成到现有的技术栈中。k6通过自定义测试场景执行不同类型的负载测试,如:峰值测试、冒烟测试、浸泡测试等。您还可以使用k6浏览器模块对前端服务执行负载测试。
5.Tsung
https://github.com/processone/tsung
Tsung是一个负载和压力测试工具。支持多协议分布式负载测试,支持的协议包括:HTTP、WebDAV、SOAP、 PostgreSQL、MySQL、LDAP、MQTT、AMQP和Jabber/XMPP。可以用来测试基于C/S架构的应用程序。
6.Testcontainers
https://testcontainers.com/
https://github.com/testcontainers/
Testcontainers是一个开源测试框架,用于测试基于Docker容器的数据库、消息代理、Web浏览器等一次性轻量级实例。不需要模拟复杂的环境配置,只需要用代码定义测试依赖,然后运行测试,就可以创建或者删除容器。
7.TarsBenchmark
https://github.com/TarsCloud/TarsBenchmark
TarsBenchmark是一个用于测试微服务的工具。是专门为tars服务量身订做的接口和压测工具,可以集成到到 TARS microservices 框架。
包括以下特点:
- 网络高性能:8核机器TPS支持超过20W/S;
- 通讯扩展性:网络层支持TCP/UDP两种协议;
- 协议扩展性:应用层支持Http,Tars也保持对第三方协议开放;
- 完善的实时统计与监控支持:提供周期内的请求数/TPS/耗时/成功率分布;