现在有很多的一体化测试平台,集成了评审--到用例--到用例评--到功能测试通过率和各种统计--到接口测试--到性能测试--线上真实流量进行线下放大压--到UI自动化测--bug管理于一身的自动化测试平台。比如杭州笨马,metersphere等等。

一. 前端

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 自动化。

二. 服务端

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 混沌工程

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 - 高质量编码风格约定和标准的精选列表。