软件测试工具大全经过一年的更新,终于发布了。此版本将作为基准,后续仍会持续更新,为大家呈现更多优秀的测试工具。

软件测试工具大全,包括测试工具、框架和平台,偏向开源和免费。

说明

表示开源软件;

表示免费使用,或者个人免费 ;

一. 大前端

1.1 移动端

抓包工具

Lyrebird - 移动端的抓包及 Mock 平台。(美团)

spy-debugger - 适用于任何手机移动端 webview 的一站式页面调试、抓包工具。

nohost - 基于 Whistle 实现的多账号多环境远程配置及抓包调试平台。(腾讯)

性能测试

PerfDog - 一款用于采集手机(Android&iOS)性能数据的 PC 端工具。(腾讯)

mobileperf - 基于 Python 实现的 Android 性能采集工具。(阿里)

Pyroscope - 基于 Go 的开源实时性能分析平台。能帮你找出代码的性能问题、CPU 使用过高的原因,还有丰富的图表和调用树展示。

LoliProfiler - 用于 Android 游戏和应用程序的C/C ++ 内存分析工具。(腾讯)

MemoryLeakDetector - 西瓜视频安卓团队开发的原生内存泄漏监控工具。(字节)

Tailor - 西瓜视频安卓团队开发的一款通用的 hprof 裁剪压缩工具。(字节)

Booster - 一款易于使用、轻量级、功能强大且可扩展的质量优化工具包,专为移动应用程序设计。首要目标是解决APP复杂度增加带来的质量问题,如性能、稳定性、包大小等。(滴滴)

自动化

跨平台

Appium - 用于 iOS、Android 和 Windows Apps 的自动化。

Detox - 端到端的移动应用测试和自动化框架。

Karate - UI/API 自动化测试框架。

Android

SoloPi - 支持录制回放、一机多控和性能测试的 Android 自动化测试工具。(蚂蚁)

scrcpy- 显示和控制你的 Android 设备。(Genymobile)

minicap - 从 Android 设备中流式传输实时屏幕捕获数据。(STF)

adb_shell - ADB 的 Python 实现,具有 Shell 和 FileSync 功能。

python-adb - Python ADB + Fastboot实现。(Google)

ADB Event Mirror - 通过命令行实现 Android 设备的一机多控。

ADB Enhanced - 增强 ADB 命令。

uiautomator2 - Android Uiautomator2 Python包装器。(openatx)

Moby - E2E 测试框架,用于具有复杂环境要求的测试。(Google)

Docker-Android - Android in docker 解决方案,支持 noVNC 和视频录制。

Fastbot-Android - Android APP 稳定性测试工具。(字节)

Shot - 适用于 Android 的屏幕截图测试库。

iOS

WebDriverAgent - iOS 的 WebDriver 服务实现,可用于远程控制 iOS 设备。

python-wda - Facebook WebDriverAgent Python 客户端库。(openatx)

tidevice - iOS 自动化命令行工具。(阿里)

libimobiledevice - 使用本机协议与iOS设备上的服务进行通信。

pymobiledevice - libimobiledevice 跨平台软件库的 python 实现。

idb - 用于自动化 iOS 模拟器和设备的命令行工具。

EarlGrey - iOS UI自动化测试框架。(Google)

KIF - 保持功能正常 - iOS 功能测试框架。

SwiftMonkey - 对 iOS 应用程序进行随机 UI 测试的框架。

Fastbot-iOS - iOS APP 稳定性测试工具。(字节)

Mixbox - iOS UI 测试框架。

微信小程序

Minium - 微信小程序自动化框架, 提供了 Python 和 JavaScript 版本。(腾讯)

测试平台

STF - 基于 Agular 和 Node.js 实现的移动设备管理平台

atxserver2 - 基于 Python 实现的移动设备管理平台。

DoraemonKit - 一款功能齐全的客户端( iOS 、Android、微信小程序、Flutter )研发助手。(滴滴)

1.2 Web端

自动化

cypress - 对浏览器中运行的所有内容进行快速,轻松和可靠的测试。

qawolf - 将浏览器的测试速度提高了 10 倍。

TestCafe - 基于 Node.js 的端到端 Web 自动化测试工具。

Helium - 用于 Web 自动化的最佳 Python 库。

Selenoid - 使用 Docker 容器启动浏览器的 Selenium hub的强大实现。

Capybara - Web 应用程序的验收测试框架。

selenide - 使用 Java 进行简洁的 UI 测试。

splinter - 用于 Web 应用程序的 Python 测试框架。

gauge - 提供可靠的浏览器自动化测试框架。

Headless recorder - 记录浏览器交互并生成 Puppeteer 或 Playwright 脚本。

Selenium - 浏览器自动化框架和生态系统。

WebDriverManager - Selenium WebDriver 的自动化驱动程序管理。

Selenium Wire - 能够检测出浏览器发出的请求。图片

tape - 用于 node 和浏览器的 tap-production 测试工具。图片

稳定性

gremlins.js - 用于 Web 应用程序和 Node.js 的 Monkey 测试库。

性能

Front-End-Performance-Checklist - 唯一一个运行速度快于其他的前端性能检查表。

其他

jsoup - Java HTML 解析器。

1.3 PC端

跨平台

Spectron - 使用 ChromeDriver 和 WebdriverIO 轻松测试你的 Electron 应用程序 。

TagUI - 免费的 RPA 工具。

RPA-Python - 用 Python 编写 RPA。

PyAutoGUI - 跨平台的 GUI 测试工具。

Windows

pywinauto - 基于 Python 的 Windows GUI 自动化。

macOS

二. 服务端

2.1 接口测试

Mock

vcrpy - 自动模拟 HTTP 交互。

Mockoon - 本地运行模拟 API 的最简单,最快的方法。

hoverfly - 轻量级服务虚拟化/API 模拟工具。

抓包

Fiddler - 跨平台的 Web 调试代理工具。

mitmproxy - 交互式 HTTPS 代理,支持 PC 和 APP 抓包。

平台/GUI工具

Postman - API 开发协作平台。

YApi - 可本地部署的、打通前后端及测试的可视化的接口管理平台。

hoppscotch - 类似 Postman 的开源 API 开发协作平台。

Postcode - 类似 Postman 的 VS Code 插件。

Katalon Studio - 用于 Web、移动和 API 测试的最佳自动化测试工具。

MeterSphere - 一站式开源持续测试平台。

流量回放

GoReplay - 使用 go 开发的浏量回放工具。

vcr - 记录测试套件的 HTTP 交互,并在以后的测试运行期间重播它们,以进行快速,确定性和准确的测试。

Sharingan - (写轮眼)是一个基于golang的流量录制回放工具。(滴滴)

TCPCopy - 一个 TCP 流重放工具。

框架

Dredd - 与语言无关的 HTTP API 测试工具。

HttpRunner - 一个简单,优雅但功能强大的HTTP(S)测试框架。

hrun4j - 不仅是 Java 版 的 httprunner,而是一站式接口测试解决方案。

rest-assured - Java DSL,可轻松测试 REST 服务。

Tavern - 用于自动化测试 RESTful API 的命令行工具和 Python 库和 Pytest 插件。

其他

HTTPie - 类似 cURL 但用起来更人性化也更强大的 HTTP 命令行工具。

Hurl - 运行以简单纯文本格式定义的HTTP 请求。

2.2 数据库

DBeaver - 基于 Java 开发的通用数据库管理和开发工具。

sysbench - 基于 LuaJIT 的可编写脚本的多线程基准测试工具,常用于数据库基准测试。

2.3 性能测试

JMeter - Apache JMeter。

k6 - 使用 Go 和 JavaScript 的现代负载测试工具。

ali - 生成 HTTP 负载并实时绘制结果。

Pumba - Docker 的混沌测试工具。

Vegeta - 多功能的 HTTP 负载测试工具。

Locust - 用 Python 编写的可扩展用户负载测试工具。

2.4 其他

Testinfra - 测试你的基础设施。

三. 领域测试

3.1 安全测试

sqlmap - 自动 SQL 注入和数据库接管工具。

Infection Monkey - 一个自动化的渗透测试工具。

Bandit - 查找 Python 代码中常见安全问题。

3.2 大数据

Synth - 声明性数据生成器。

Mimesis - 用于 Python 的高性能假数据生成器,它以多种语言提供用于多种用途的数据。

基准测试

YCSB - 云服务基准测试。(雅虎)

HiBench - 大数据基准套件。(英特尔)

工具平台

DataQuality - DQ 是一个在大数据环境中构建并行和分布式质量检查的框架。它可用于计算指标并执行检查以确保结构化或非结构化数据的质量。它完全依赖于 Spark。

MobyDQ - 在数据管道上自动进行数据质量检查的工具。

Great Expectations - 通过数据测试、文档和分析,帮助数据团队消除管道债务。

Qualitis - 一个支持多种异构数据源的质量校验、通知、管理服务的数据质量管理平台,用于解决业务系统运行、数据中心建设及数据治理过程中的各种数据质量问题。

3.3 人工智能

3.4 混沌工程

Chaos Monkey - 一种弹性工具,可帮助应用程序容忍随机实例故障。图片

chaos-monkey-spring-boot - 用于 Spring Boot 的 Chaos Monkey。图片

kube-monkey - Netflix 的 Chaos Monkey 在 Kubernetes 集群中的实现。图片

四. 测试管理

AgileTC - 敏捷的测试用例管理平台,支持测试用例管理、执行计划管理、进度计算、多人实时协同等能力。(滴滴)

TestLink - 开源测试和需求管理系统。

Kiwi - 领先的开源测试管理系统。

五. 测试框架

5.1 Mock

Java

Moco - 一个简单的 Mock 工具。

Mockito - 单元测试的 Mocking 框架。

WireMock - 适用于所有场合的 Web 服务测试替身。

Python

pytest-mock - 与 pytest 一起使用的 Mock 工具。

JavaScript

Nock - 适用于 Node.js 的 HTTP Mock 工具。

msw - Mock Service Worker (MSW) 是一个用于浏览器和 Node.js 的 API 模拟库。

Kotlin

Mockk - Kotlin 的模拟库。

Golang

mockery - Golang 的模拟代码自动生成器。

5.2 覆盖率

Java

Super-Jacoco - 基于 Jacoco、Git 二次开发打造的一站式 JAVA 代码全量/diff 覆盖率收集平台。(滴滴)

Python

pytest-cov - 与 pytest 一起使用的覆盖率插件。

HTTPretty - Python 的 HTTP 客户端模拟工具。

5.3 单元测试

Python

pytest - 最流行的 Python 测试框架。

Swift

Quick - Swift(和 Objective-C)测试框架。

JavaScript

Mocha - 用于 node.js 和浏览器的简单,灵活,有趣的 javascript 测试框架。

Jest - 令人愉快的 JavaScript 测试。

fast-check - 使用 TypeScript 编写的 JavaScript 属性测试框架。

sinon - 在测试中提供独立的 spies, stub, mock 功能,通过所谓的测试替代(test-double)轻松消除测试的复杂度。

ts-jest - 用 Jest 测试 TypeScript 。

StrykerJS - JavaScript 变异测试。

testdouble.js - 精心设计的测试替身库。

React

Enzyme - 用于 React 的 JavaScript 测试实用程序。

React Testing Library - 简单而完整的 React DOM 测试实用程序,鼓励良好的测试实践。

react-cosmos - 用于隔离开发和测试 UI 组件的沙箱。

Node.js

ava - Node.js 测试运行器。

rewire - 轻松的进行 Node.js 单元测试。

jasmine - 用于浏览器和 node.js 的简单 JavaScript 测试框架。

node-tap - A TAP test framework for Node.js。

Android

Robolectric - Android 单元测试框架。

Truth - Java 和 Android 的流畅断言,类似 AssertJ。

Bash

Bats-core - Bash 自动化测试系统。

shUnit2 - 基于xUnit的单元测试框架。

Java

JUnit 5:下一代 JUnit。

TestNG:TestNG 是一个受 JUnit 和 NUnit 启发的测试框架,但引入了一些使其更强大和更易于使用的新功能。

Truth:使你的测试断言和失败消息更具可读性。

Kotlin

Kotest:灵活而全面的 Kotlin 测试工具。

Android

Robolectric:Android 单元测试框架。

5.4 通用框架

robotframework - 用于验收测试和RPA的通用自动化框架。

taurus - 通过自动化友好的框架进行连续测试。

5.5 测试报告

通用

Allure - 灵活的轻量级多语言测试报告工具。

iOS

XCTestHTMLReport - 用于单元和 UI 测试的类似 Xcode 的 HTML 报告。

5.6 静态检查

通用

SonarQube - 流行的代码扫描平台。

Semgrep - 多种语言的轻量级静态分析。

Infer - 用于 Java、C、C++ 和 Objective-C 的静态分析器。(facebook)

pmd - 一个可扩展的多语言静态代码分析器。

Shell

ShellCheck - Shell 静态分析工具。

Java

Checkstyle - 帮助程序员编写符合编码标准的 Java 代码。它支持 Google Java 样式指南和 Sun 代码约定,但具有高度可配置性。

JavaScript

eslint - 查找并修复 JavaScript 代码中的问题。

standard - JavaScript 风格指南,带有 linter 和自动代码修复器。

Python

pyre-check - Facebook出品的静态类型检查器。

pytype - Google 出品的静态类型检查器。

pyright - 微软出品的静态类型检查器。

Mymy - Python 官方的静态类型检查器。

5.7 图像对比

pixelmatch:最小、最简单、最快的 JavaScript 像素级图像比较库。

odiff:号称是世界上最快的逐像素图像视觉差异工具。

六. 不错的学习资料

Awesome JMeter - 涵盖 JMeter 使用不同方面的资源集合。

Software Quality Wiki - 软件质量维基百科。

Awesome Cucumber - Cucumber 和 Gherkin 相关资源列表。

Awesome Selenium - 很棒的 Selenium 资源列表。

How They Test - 那些著名的软件公司是如何测试的?

Awesome Visual Regression Testing - 很棒的视觉回归测试工具。

javascript-testing-best-practices - 全面详尽的 JavaScript 和 Node.js 测试最佳实践。

static-analysis - 适用于所有编程语言、配置文件、构建工具等的静态分析 (SAST) 工具的精选列表。

Awesome Guidelines - 高质量编码风格约定和标准的精选列表。

软件测试工程师自学教程:

这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】

接口性能测试 — 软件测试人必会618实战场景分析

软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.

美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看

测试开发之全面剖析自动化测试平台 — 软件测试人的必经之路

软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试

Jmeter实战讲解案例 — 软件测试人必会

最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

我推荐一个【Python自动化测试交流群:746506216】,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,助你快速进阶Python自动化测试/测试开发,走向高薪之路。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐