参考:https://mp.weixin.qq.com/s/H_zNmpahULdSVfmGlW1VoQ
临近年底,软件测试工具****大全经过一年的更新,终于可以发布了。此版本将作为基准,后续仍会持续更新,为大家呈现更多优秀的测试工具。完整版在语雀上,结构更清晰,点击阅读原文即可查看。
软件测试工具大全,包括测试工具、框架和平台,偏向开源和免费。
一. 大前端
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 设备中流式传输实时屏幕捕获数据。
adb_shell - ADB 的 Python 实现,具有 Shell 和 FileSync 功能。
python-adb - Python ADB + Fastboot实现。
ADB Event Mirror - 通过命令行实现 Android 设备的一机多控。
ADB Enhanced - 增强 ADB 命令。
uiautomator2 - Android Uiautomator2 Python包装器。
Moby - E2E 测试框架,用于具有复杂环境要求的测试。
Docker-Android - Android in docker 解决方案,支持 noVNC 和视频录制
Fastbot-Android - Android APP 稳定性测试工具
Shot - 适用于 Android 的屏幕截图测试库。
iOSWebDriverAgent - 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 )研发助手。(滴滴)[图片上传中...(image-d65ce7-1638878578393-21)]
1.2 Web端
自动化
cypress - 对浏览器中运行的所有内容进行快速,轻松和可靠的测试。[图片上传中...(image-f3a8d3-1638878578393-20)]
qawolf - 将浏览器的测试速度提高了 10 倍。[图片上传失败...(image-ea8e4-1638878578397)]
TestCafe - 基于 Node.js 的端到端 Web 自动化测试工具。[图片上传中...(image-ce6225-1638878578393-19)]
Helium - 用于 Web 自动化的最佳 Python 库。[图片上传中...(image-d042d3-1638878578393-18)]
Selenoid - 使用 Docker 容器启动浏览器的 Selenium hub的强大实现。[图片上传中...(image-b9a06e-1638878578393-17)]
Capybara - Web 应用程序的验收测试框架。[图片上传中...(image-f2bdcc-1638878578393-16)]
selenide - 使用 Java 进行简洁的 UI 测试。[图片上传中...(image-14cea0-1638878578393-15)]
splinter - 用于 Web 应用程序的 Python 测试框架。[图片上传中...(image-ac233a-1638878578393-14)]
gauge - 提供可靠的浏览器自动化测试框架。[图片上传中...(image-ca3136-1638878578393-13)]
Headless recorder - 记录浏览器交互并生成 Puppeteer 或 Playwright 脚本。[图片上传中...(image-426fbe-1638878578393-12)]
Selenium - 浏览器自动化框架和生态系统。[图片上传中...(image-c154f9-1638878578393-11)]
WebDriverManager - Selenium WebDriver 的自动化驱动程序管理。[图片上传中...(image-971965-1638878578393-10)]
Selenium Wire - 能够检测出浏览器发出的请求。[图片上传中...(image-8f719b-1638878578393-9)]
tape - 用于 node 和浏览器的 tap-production 测试工具。[图片上传中...(image-f565c1-1638878578393-8)]
稳定性
- gremlins.js - 用于 Web 应用程序和 Node.js 的 Monkey 测试库。[图片上传中...(image-a92e8a-1638878578393-7)]
性能
- Front-End-Performance-Checklist - 唯一一个运行速度快于其他的前端性能检查表。[图片上传中...(image-f4be9d-1638878578393-6)]
其他
- jsoup - Java HTML 解析器。[图片上传中...(image-20786f-1638878578393-5)]
1.3 PC端
跨平台
Spectron - 使用 ChromeDriver 和 WebdriverIO 轻松测试你的 Electron 应用程序 。[图片上传中...(image-cc075-1638878578393-4)]
TagUI - 免费的 RPA 工具。[图片上传中...(image-9f1421-1638878578393-3)]
RPA-Python - 用 Python 编写 RPA。[图片上传中...(image-9c230-1638878578393-2)]
PyAutoGUI - 跨平台的 GUI 测试工具。[图片上传中...(image-54f4ba-1638878578393-1)]
Windows
- pywinauto - 基于 Python 的 Windows GUI 自动化。[图片上传中...(image-7c2092-1638878578393-0)]
macOS
二. 服务端
2.1 接口测试
Mock
vcrpy - 自动模拟 HTTP 交互。[图片上传失败...(image-90de1f-1638878578396)]
Mockoon - 本地运行模拟 API 的最简单,最快的方法。[图片上传失败...(image-e3c51a-1638878578396)]
hoverfly - 轻量级服务虚拟化/API 模拟工具。[图片上传失败...(image-bd2385-1638878578396)]
抓包
Fiddler - 跨平台的 Web 调试代理工具。[图片上传失败...(image-68d817-1638878578396)]
mitmproxy - 交互式 HTTPS 代理,支持 PC 和 APP 抓包。[图片上传失败...(image-4b146b-1638878578396)]
平台/GUI工具
Postman - API 开发协作平台。[图片上传失败...(image-bd7a09-1638878578396)]
YApi - 可本地部署的、打通前后端及测试的可视化的接口管理平台。[图片上传失败...(image-739bd3-1638878578396)]说明
[图片上传中...(image-ab046c-1638878619846-1)]
表示开源****软件;
[图片上传中...(image-bd67e-1638878619846-0)]
表示免费使用,或者个人免费 ;
hoppscotch - 类似 Postman 的开源 API 开发协作平台。[图片上传失败...(image-70e29a-1638878578396)]
Postcode - 类似 Postman 的 VS Code 插件。[图片上传失败...(image-f87b6e-1638878578396)]
Katalon Studio - 用于 Web、移动和 API 测试的最佳自动化测试工具。[图片上传失败...(image-b10401-1638878578396)]
MeterSphere - 一站式开源持续测试平台。[图片上传失败...(image-479c7a-1638878578396)]
流量回放
GoReplay - 使用 go 开发的浏量回放工具。[图片上传失败...(image-595a56-1638878578396)]
vcr - 记录测试套件的 HTTP 交互,并在以后的测试运行期间重播它们,以进行快速,确定性和准确的测试。[图片上传失败...(image-57210c-1638878578396)]
Sharingan - (写轮眼)是一个基于golang的流量录制回放工具。(滴滴)[图片上传失败...(image-4f4ac4-1638878578396)]
TCPCopy - 一个 TCP 流重放工具。[图片上传失败...(image-575bb6-1638878578396)]
框架
Dredd - 与语言无关的 HTTP API 测试工具。[图片上传失败...(image-834fb-1638878578396)]
HttpRunner* - *一个简单,优雅但功能强大的HTTP(S)测试框架。[图片上传失败...(image-46b824-1638878578396)]
hrun4j - 不仅是 Java 版 的 httprunner,而是一站式接口测试解决方案。[图片上传失败...(image-dada21-1638878578396)]
rest-assured - Java DSL,可轻松测试 REST 服务。[图片上传失败...(image-e7309c-1638878578396)]
Tavern - 用于自动化测试 RESTful API 的命令行工具和 Python 库和 Pytest 插件。[图片上传失败...(image-956456-1638878578396)]
其他
HTTPie - 类似 cURL 但用起来更人性化也更强大的 HTTP 命令行工具。[图片上传失败...(image-3ef6cc-1638878578396)]
Hurl - 运行以简单纯文本格式定义的HTTP 请求。[图片上传失败...(image-c62060-1638878578396)][图片上传中...(image.png-5a3185-1638878641236-0)]
2.2 数据库
DBeaver - 基于 Java 开发的通用数据库管理和开发工具。[图片上传失败...(image-b3c061-1638878578396)]
sysbench - 基于 LuaJIT 的可编写脚本的多线程基准测试工具,常用于数据库基准测试。[图片上传失败...(image-663b6-1638878578396)]
2.3 性能测试
JMeter - Apache JMeter。[图片上传失败...(image-55da91-1638878578396)]
k6 - 使用 Go 和 JavaScript 的现代负载测试工具。[图片上传失败...(image-172065-1638878578396)]
ali - 生成 HTTP 负载并实时绘制结果。[图片上传失败...(image-db26f1-1638878578396)]
Pumba - Docker 的混沌测试工具。[图片上传失败...(image-5dd29b-1638878578396)]
Vegeta - 多功能的 HTTP 负载测试工具。[图片上传失败...(image-3ca0ed-1638878578396)]
Locust - 用 Python 编写的可扩展用户负载测试工具。[图片上传失败...(image-b7b473-1638878578396)]
2.4 其他
- Testinfra - 测试你的基础设施。[图片上传失败...(image-3ea3a4-1638878578396)]
三. 领域测试
3.1 安全测试
sqlmap - 自动 SQL 注入和数据库接管工具。[图片上传失败...(image-55bbd4-1638878578396)]
Infection Monkey - 一个自动化的渗透测试工具。[图片上传失败...(image-e05ee-1638878578396)]
Bandit - 查找 Python 代码中常见安全问题。[图片上传失败...(image-397733-1638878578396)]
3.2 大数据
Synth - 声明性数据生成器。[图片上传失败...(image-357c2-1638878578396)]
Mimesis - 用于 Python 的高性能假数据生成器,它以多种语言提供用于多种用途的数据。[图片上传中...(image-b50d34-1638878578396-107)]
基准测试
YCSB - 云服务基准测试。(雅虎)[图片上传失败...(image-ebc1cd-1638878578396)]
HiBench - 大数据基准套件。(英特尔)[图片上传中...(image-f6d74-1638878578396-105)]
工具平台
DataQuality - DQ 是一个在大数据环境中构建并行和分布式质量检查的框架。它可用于计算指标并执行检查以确保结构化或非结构化数据的质量。它完全依赖于 Spark。[图片上传中...(image-6867fb-1638878578396-104)]
MobyDQ - 在数据管道上自动进行数据质量检查的工具。[图片上传中...(image-29fd62-1638878578396-103)]
Great Expectations - 通过数据测试、文档和分析,帮助数据团队消除管道债务。[图片上传中...(image-9f536c-1638878578396-102)]
Qualitis - 一个支持多种异构数据源的质量校验、通知、管理服务的数据质量管理平台,用于解决业务系统运行、数据中心建设及数据治理过程中的各种数据质量问题。[图片上传中...(image-669f49-1638878578396-101)]
3.3 人工智能
3.4 混沌工程
Chaos Monkey - 一种弹性工具,可帮助应用程序容忍随机实例故障。[图片上传中...(image-bf6558-1638878578396-100)]
chaos-monkey-spring-boot - 用于 Spring Boot 的 Chaos Monkey。[图片上传中...(image-23f2b1-1638878578395-99)]
kube-monkey - Netflix 的 Chaos Monkey 在 Kubernetes 集群中的实现。[图片上传中...(image-ff8a24-1638878578395-98)]
四. 测试管理
AgileTC - 敏捷的测试用例管理平台,支持测试用例管理、执行计划管理、进度计算、多人实时协同等能力。(滴滴)[图片上传中...(image-4acb4a-1638878578395-97)]
TestLink - 开源测试和需求管理系统。[图片上传中...(image-83c9a7-1638878578395-96)]
Kiwi - 领先的开源测试管理系统。
五. 测试框架
5.1 Mock
Java
Moco - 一个简单的 Mock 工具。[图片上传中...(image-a4f818-1638878578395-95)]
Mockito - 单元测试的 Mocking 框架。[图片上传中...(image-e29dce-1638878578395-94)]
WireMock - 适用于所有场合的 Web 服务测试替身。[图片上传中...(image-1229c8-1638878578395-93)]
Python
- pytest-mock - 与 pytest 一起使用的 Mock 工具。[图片上传中...(image-dd4fec-1638878578395-92)]
JavaScript
Nock - 适用于 Node.js 的 HTTP Mock 工具。[图片上传中...(image-9250f1-1638878578395-91)]
msw - Mock Service Worker (MSW) 是一个用于浏览器和 Node.js 的 API 模拟库。[图片上传中...(image-5fde36-1638878578395-90)]
Kotlin
- Mockk - Kotlin 的模拟库。[图片上传中...(image-77ec2a-1638878578395-89)]
Golang
- mockery - Golang 的模拟代码自动生成器。[图片上传中...(image-606dbc-1638878578395-88)]
5.2 覆盖率
Java
- Super-Jacoco - 基于 Jacoco、Git 二次开发打造的一站式 JAVA 代码全量/diff 覆盖率收集平台。(滴滴)[图片上传中...(image-290dde-1638878578395-87)]
Python
pytest-cov - 与 pytest 一起使用的覆盖率插件。[图片上传中...(image-6970f8-1638878578395-86)]
HTTPretty - Python 的 HTTP 客户端模拟工具。[图片上传中...(image-7ae929-1638878578395-85)]
5.3 单元测试
Python
- pytest - 最流行的 Python 测试框架。[图片上传中...(image-7d6b72-1638878578395-84)]
Swift
- Quick - Swift(和 Objective-C)测试框架。[图片上传中...(image-c4975d-1638878578395-83)]
JavaScript
Mocha - 用于 node.js 和浏览器的简单,灵活,有趣的 javascript 测试框架。[图片上传中...(image-8f1118-1638878578395-82)]
Jest - 令人愉快的 JavaScript 测试。[图片上传中...(image-e40a62-1638878578395-81)]
fast-check - 使用 TypeScript 编写的 JavaScript 属性测试框架。[图片上传中...(image-41ce7d-1638878578395-80)]
sinon - 在测试中提供独立的 spies, stub, mock 功能,通过所谓的测试替代(
test-double
)轻松消除测试的复杂度。[图片上传中...(image-c52cb7-1638878578395-79)]ts-jest - 用 Jest 测试 TypeScript 。[图片上传中...(image-1a66df-1638878578394-78)]
StrykerJS - JavaScript 变异测试。[图片上传中...(image-5c5882-1638878578394-77)]
testdouble.js - 精心设计的测试替身库。[图片上传中...(image-b6fad1-1638878578394-76)]
React
Enzyme - 用于 React 的 JavaScript 测试实用程序。[图片上传中...(image-efbea8-1638878578394-75)]
React Testing Library - 简单而完整的 React DOM 测试实用程序,鼓励良好的测试实践。[图片上传中...(image-de0d8f-1638878578394-74)]
react-cosmos - 用于隔离开发和测试 UI 组件的沙箱。[图片上传中...(image-636c53-1638878578394-73)]
Node.js
ava - Node.js 测试运行器。[图片上传中...(image-2a51b3-1638878578394-72)]
rewire - 轻松的进行 Node.js 单元测试。[图片上传中...(image-ec71ab-1638878578394-71)]
jasmine - 用于浏览器和 node.js 的简单 JavaScript 测试框架。[图片上传中...(image-185c17-1638878578394-70)]
node-tap - A TAP test framework for Node.js。[图片上传中...(image-beb48-1638878578394-69)]
Android
Robolectric - Android 单元测试框架。[图片上传中...(image-bdd79a-1638878578394-68)]
Truth - Java 和 Android 的流畅断言,类似 AssertJ。[图片上传中...(image-9996d6-1638878578394-67)]
Bash
Bats-core - Bash 自动化测试系统。[图片上传中...(image-4ba6e3-1638878578394-66)]
shUnit2 - 基于xUnit的单元测试框架。[图片上传中...(image-d5d3ae-1638878578394-65)]
Java
JUnit 5:下一代 JUnit。[图片上传中...(image-48272c-1638878578394-64)]
TestNG:TestNG 是一个受 JUnit 和 NUnit 启发的测试框架,但引入了一些使其更强大和更易于使用的新功能。[图片上传中...(image-eee8ae-1638878578394-63)]
Truth:使你的测试断言和失败消息更具可读性。[图片上传中...(image-b61f49-1638878578394-62)]
Kotlin
- Kotest****:灵活而全面的 Kotlin 测试工具。[图片上传中...(image-10af8-1638878578394-61)]
Android
- Robolectric:Android 单元测试框架。[图片上传中...(image-73d920-1638878578394-60)]
5.4 通用框架
robotframework - 用于验收测试和RPA的通用自动化框架。[图片上传中...(image-240116-1638878578394-59)]
taurus - 通过自动化友好的框架进行连续测试。[图片上传中...(image-683dac-1638878578394-58)]
5.5 测试报告
通用
- Allure - 灵活的轻量级多语言测试报告工具。[图片上传中...(image-2d57b6-1638878578394-57)]
iOS
- XCTestHTMLReport - 用于单元和 UI 测试的类似 Xcode 的 HTML 报告。[图片上传中...(image-8012b-1638878578394-56)]
5.6 静态检查
通用
SonarQube - 流行的代码扫描平台。[图片上传中...(image-df87e-1638878578394-55)]
Semgrep - 多种语言的轻量级静态分析。[图片上传中...(image-feb259-1638878578394-54)]
Infer - 用于 Java、C、C++ 和 Objective-C 的静态分析器。(facebook)[图片上传中...(image-98ec52-1638878578394-53)]
pmd - 一个可扩展的多语言静态代码分析器。[图片上传中...(image-b23714-1638878578394-52)]
Shell
- ShellCheck - Shell 静态分析工具。[图片上传中...(image-1ca7a3-1638878578394-51)]
Java
- Checkstyle - 帮助程序员编写符合编码标准的 Java 代码。它支持 Google Java 样式指南和 Sun 代码约定,但具有高度可配置性。[图片上传中...(image-ab8295-1638878578394-50)]
JavaScript
eslint - 查找并修复 JavaScript 代码中的问题。[图片上传中...(image-7cecca-1638878578394-49)]
standard - JavaScript 风格指南,带有 linter 和自动代码修复器。[图片上传中...(image-544010-1638878578394-48)]
Python
pyre-check - Facebook出品的静态类型检查器。[图片上传中...(image-abb1c-1638878578394-47)]
pytype - Google 出品的静态类型检查器。[图片上传中...(image-4b3c8e-1638878578394-46)]
pyright - 微软出品的静态类型检查器。[图片上传中...(image-571a4e-1638878578394-45)]
Mymy - Python 官方的静态类型检查器。[图片上传中...(image-14e0d-1638878578394-44)]
5.7 图像对比
pixelmatch:最小、最简单、最快的 JavaScript 像素级图像比较库。[图片上传中...(image-72e3c3-1638878578394-43)]
odiff:号称是世界上最快的逐像素图像视觉差异工具。[图片上传中...(image-95ff45-1638878578394-42)]
六. 不错的学习资料
Awesome JMeter - 涵盖 JMeter 使用不同方面的资源集合。[图片上传中...(image-3679-1638878578394-41)]
Software Quality Wiki - 软件质量维基百科。[图片上传中...(image-70a014-1638878578394-40)]
Awesome Cucumber - Cucumber 和 Gherkin 相关资源列表。[图片上传中...(image-a60862-1638878578394-39)]
Awesome Selenium - 很棒的 Selenium 资源列表。[图片上传中...(image-4fe96d-1638878578394-38)]
How They Test - 那些著名的软件公司是如何测试的?[图片上传中...(image-e9051c-1638878578394-37)]
Awesome Visual Regression Testing - 很棒的视觉回归测试工具。[图片上传中...(image-3a33a1-1638878578394-36)]
javascript-testing-best-practices - 全面详尽的 JavaScript 和 Node.js 测试最佳实践。
static-analysis - 适用于所有编程语言、配置文件、构建工具等的静态分析 (SAST) 工具的精选列表。
Awesome Guidelines - 高质量编码风格约定和标准的精选列表。
(完)