软件测试常见工具

软件测试常见工具

收集整理,测试相关工具、资源面试题等,欢迎补充完善

功能测试

测试工具

XMind: 思维导图工具,常用来梳理测试点,商业软件,支持免费试用,有功能限制

XShell: Windows平台远程Linux服务器连接及操作工具,商业软件,支持免费试用,有功能限制

项目/测试管理

Jira: 缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理

Xray: Jira用例管理插件, 支持BDD,收费插件,支持试用

Zephyr Squad: Jira用例管理插件,收费插件,支持试用

Tapd: 腾讯出品的项目管理平台,支持需求、迭代、任务、缺陷、测试用例管理等

PingCode: 新一代研发管理工具

TestLink: 开源测试用例管理,测试计划,测试执行,测试报告。

禅道: ,国产开源工具,记录bug,用例管理,项目管理。

Redmine: 用Ruby开发的基于web的项目管理软件

抓包工具

Chrome Devtools: Chrome浏览器自带的开发组工具,Network面板可用于抓包

Charles: 多平台HTTP接口抓包工具,商业软件,支持免费试用

Fiddler: HTTP抓包调试工具,支持Mock响应,弱网模拟等

Wireshark:基于网卡的抓包工具,支持HTTP、TCP、UDP等各种协议的抓包,支持各种操作系统

Whistle:基于Nodejs实现的跨平台抓包工具,支持Http,WebSocket及TCP请求

Mitmproxy: 开源HTTP抓包工具,支持使用代码编写抓包规则

AnyProxy: 阿里巴巴开源的基于Nodejs实现的HTTP抓包工具

Tcpdump:Linux服务端抓包命令

命令行工具

Idb: iOS调试命令行工具,仅支持macOS

Adb: Android SDK中内置的Android调试工具

笔记及流程图

Draw.io: 开源免费的流程图绘制工具

Obsidian: 免费的Markdown文档及知识管理工具,支持众多插件

有道云笔记: 网易免费的云笔记管理软件,支持Markdown及Word等格式

印象笔记: 功能丰富的云笔记软件,免费版支持2个端的同步

其他

爱思助手: iOS应用测试包安装工具

Allpairs: 正交试验用例生成工具

XMind2Excel: XMind测试用例转Excel用例工具

客户端专项

App性能测试

PerfDog: App性能监控及分析工具,已转为收费软件

稳定性测试

Monkey: Android SDK中内置的一款Android稳定性测试工具

Fastbot_Android: 字节开源的Android稳定性测试工具

Fastbot_iOS: : 字节开源的iOS稳定性测试工具

FastMonkey: 张昭开发的一款基于Swift的iOS稳定性测试统计已停止维护

SwiftMonkey: Zalando小组开发的一款iOS稳定性测试工具,已停止维护

WebDriverAgent: Facebook开发的iOS自动化测试驱动,可以配合Appium使用

弱网测试

Fiddler:使用Fiddler抓包工具可以模拟弱网

Charles: 使用Charles代理可以模拟弱网

TC: Traffic Control, Linux上网络流量控制工具

音视频质量

audio_video_streaming: 音视频流媒体相关知识

FFmpeg: 开源的音视频转换命令行工具

OpenCV: Python开源图像分析转换三方库

服务端测试

常用工具

Git: 代码版本管理命令行工具

Docker: 应用容器,轻量化虚拟机

接口测试

Postman: HTTP接口测试工具,支持HTTP,Websocket,GraphQ, gRPC接口测试,接口管理及Mock等

Bruno: 开源免费的HTTP测试工具,类似Postman,数据存在本地

JMeter: 工业级的压力测试工具,也可以做接口测试

SoapUI: 基于SOAP协议的WebService接口测试工具

SwitchHosts: Hosts配置及切换工具

接口管理及测试

YApi: 爱奇艺YMFE团队开源的接口管理平台,支持Mock接口

RAP2: 阿里开源的接口管理平台,支持Mock接口

ShowDoc: 开源接口文档管理工具,自带模版,方便使用

SwaggerUI: 与接口代码集成的接口测试插件,可以使用Web界面查看和调试开发好的接口

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

BlazeMeter: 一站式持续测试平台

ApiPost: 一款类似Postman的HTTP接口文档、设计、调试、自动化测试一体化协作工具

ApiFox: 另一款类似Postman的HTTP接口文档、设计、调试、自动化测试一体化协作工具

数据库客户端

Navcat: 商业软件,包含MySQL、PostgreSQL、MongoDB、Redis等各种客户端

DBeaver: 开源的数据库客户端,支持MySQL、PostgresSQL等

Another Redis Desktop Manager: 另一款开源的Redis桌面客户端

服务端监控

综合监控工具

Zabbix: 经典的开源的Linux服务实时监控工具

Prometheus: 开源实时监控、时序数据库,监控数据采集,多和Grafana配合使用

Grafana: 开源监控表盘系统,多和Prometheus配合使用

Nightingale-夜莺监控: 滴滴开源版监控系统,支持对接各种数据库及监控表盘系统

Netdata: 开源高性能、云原生和本地监控工具

Falcon: 小米开源的一款企业级监考及报警系统。

数据库监控

Dolphie: 开源MySQL数据库实时监控平台

Anemometer: MySQL慢查询监控

DBA Dash: 开源SQL Server数据库监控

Swiple: 开源的数据库监控和自动报警平台,支持MySQL,PostgresSQL等

Redis Monitor: Redis自带的运行监控命令

数据库健康检查

MySQLTuner-perl: MySQL数库库配置检查

pgDoctor: 开源轻量级PostgresSQL运行状态检查

pg_Insights: 开源的PostgresSQL工具,支持数据库健康检查

pg-Index-Health-SQL: 开源的PostgresSQL工具,支持数据库健康检查

oracle-db-appdev-monitoring: Oracle数控监控检查及问题诊断

日志监控系统

ELK: 开源日志监控工具,Elasticsearch + Logstash + Kibana

微服务(分布式)链路监控(APM)

Dapper: 分布式监控架构(论文)

Apache SkyWalking: 开源分布式系统的应用程序性能监视工具

Pinpoint: 开源无侵入的,分布式应用程序性能监控工具,支持Java, Python, PHP

Linux命令行监控工具

htop: 实时统计Linux系统资源占用率的Linux命令行工具

iftop: 实时统计Linux网络流量的Linux命令行工具

nload: Linux网速实时监控的Linux命令行工具

流量回放

GoReplay: 网络监控工具,可以做流量回放,压力测试,流量分析

TcpCopy: 流量回放工具。

vm-sandbox-repeater: 阿里开源的基于JVM-Sandbox的流量录制回放工具,提供入口请求(HTTP/Dubbo/Java)流量回放、子调用(Java/Dubbo)返回值Mock能力

安全测试&渗透测试

AppScan: App安全测试工具

Metasploit: 广泛使用的渗透测试自动化框架

BurpSuite: 渗透测试工具套件

Kali Linux: 包含上百种渗透测试,如漏洞分析,Web应用程序,信息收集,无线攻击,逆向工程,密码破解,取证工具,Web应用程序,欺骗,嗅探相关工具的开源Linux系统

混沌测试

ChaosBlade: 阿里巴巴开源的一款简单易用、功能强大的混沌实验注入工具。

ChaosMesh: 基于 Kubernetes 的云原生混沌工程平台。

白盒测试

代码质量 &代码审查

SonarQube: 开源代码质量和安全的扫描工具,支持Python,Java等多种语言项目

Gerrit: 配合Git的代码审查工具

代码覆盖率

Goc: 开源的Golang项目代码覆盖率工具

Jacoco: 开源的Java项目代码覆盖率工具

CodePulse: 实时代码覆盖率工具

常见开发框架

OpenResty: 一款基于Nginx和Lua的高性能Web开发框架

COLA: 阿里巴巴推出的Java领域驱动Web开发框架

Spring Boot: Java Web应用开发框架,常结合Mybatis操作数据库,可结合Dubbo + Zookeeper开发微服务

[Spring Cloud](https://spring.io/projects/spring-cloud]: Spring整套微服务框架,包含Gatewary广告,Bug消息总线,注册中心Nacos、Consul服务治理,Sentinel熔断限流,OpenFeign接口框架等

Gin: Golang Web服务开发框架,常结合Gorm操作数据库

Go-zero: Golang微服务开发框架

ThinkPHP: 轻量级PHP Web应用开发框架

Koa: Nodejs Web应用开发框架

Cocos: 2D/3D游戏开发框架

CEF:基于Chromium浏览器的桌面应用开发框架

Electron: 基于前Javascript, HTML及CSS的桌面应用开发框架

性能测试

HTTP接口性能测试

LoadRunner: HP的商业性能测试工具

JMeter:开源的基于Java的接口压力测试工具,也有Websocket压力测试插件

Locust:基于Python的性能测试工具,Web界面

Wrk: 一款现代HTTP基准测试工具,Linux命令

Apache Bench: HTTP接口性能测试命令

Siege: Siege是一个多线程HTTP负载测试和基准测试工具

Web页面性能测试

Chrome LightHouse: Chrome浏览器自带的页面性能测试工具

WebPageTest:测量和分析网页性能工具,支持开发者下载源文件搭建私人的内部测试站点

PageSpeed Insights:专注于改进网页性能的开发者工具,google出品

App性能测试/监控

PerfDog: App性能监控及分析工具,已转为收费软件

PC应用性能

PresentMon: Windows平台图形应用(游戏)性能测试工具

其他性能测试

数据库性能测试

Sysbench: 多线程MySQL数据库测试命令行工具

Pgbench: PostgresSQL数据库性能测试工具

存储性能测试

Vdbench: 可以产生大量的IO读写,以测试存储性能

MemTester: 内存压力测试工具

网络性能测试

IPerf: 主机TCP, UDP及SCTP网卡带宽(性能)测试工具

自动化测试

测试框架

Python

Pytest: 最强大的Python测试框架,可定制性高,插件丰富

Pytest-Selenium: Pytest调用Selenium测试插件

Playwright-Pytest: Pytest配合Playwright测试插件

Pytest-Level: 为Pytest用例增加优先级标记及筛选方法

Pytest-Html: Pytest生成HTML报告插件

Allure-Pytest Pytest框架Allure报告插件,用于生成美观的测试报告

Pytest-base-url Pytest插件,为用例设置基础URL(方便切换环境)

Pytest-timeout Pytest插件,为用例设置超时时间,防止卡死

Pytest-rerunfailures Pytest插件,在用例运行失败后自动重试

Pytest-xdist Pytest插件,启动多个进程执行用例

Unittest: Python官方内置的测试框架

Nose: 更易用的Unittest测试框架扩展框架

Nose2: 更易用的Unittest测试框架扩展框架

Unitplus: Unittest测试框架扩展,为用例添加优先级、归属人、tags等多种属性及筛选方法

HTMLReport: Unittest生成HTML测试报告

Robot Framework: 基于关键字驱动的测试框架,开源,易用

Robot Framework RequestsLibrary: Robot Framework进行HTTP接口测试

Robot Framework Selenium2Library: Robot Framework调用Selenium测试WebUI

Robot Framework AppiumLibrary: Robot Framework调用Appium测试AppUI

Behave: 基于Python的BDD自动化测试框架

Allure-Behave : Behave框架Allure报告插件

QTAF: 腾讯推出的测试框架,类似Unittest

Java

JUnit: 最著名的xUnit类的单元测试框架,但是不仅仅可以做单元测试。

TestNG: 更强大的Java测试框架,灵活可扩展,支持注解和多线程。

Spock: Java及Groovy应用的BDD测试框架

Cucumber-JVM: Java版Cucumber,一款BDD测试框架

Rest-assured: Java一款易用的的测试HTTP接口测试框架

Maven: Java项目构建及依赖管理框架

Golang

Testify: Golang三方具单元测试框架,包含测试套件、常用断言及Mock工具等

HttpRunner: 基于YAML测试文件的HTTP及UI测试库

C++

GTest: Google一款C++单元测试框架

Bazel: 一款C++项目构建及测试框架

跨语言测试框架

Cucumber: BDD测试框架

Cucumber-Ruby: Ruby语言BDD测试框架

Cucumber-JVM:Java语言BDD测试框架

Cucumber-JS: JavaScript语言BDD测试框架

GoDog: Golang语言BDD测试框架

SpecFlow : C#语言BDD测试框架

Behave : Python语言BDD测试框架

Cucumber Rust:Rust语言BDD测试框架

Behat : PHP语言BDD测试框架

Allure: 测试报告框架,支持Pytest, Cucumber等

Allure-Pytest Pytest框架Allure报告插件,用于生成美观的测试报告

Allure-Behave : Behave框架Allure报告插件

其他

Gauge: 轻量级的跨平台测试自动化工具,可以以业务语言编写测试用例。

WebUI自动化

Selenium: 业界最有影响力的Web自动化测试工具。

Cypress: 自带浏览器,基于Javascript的Web自动化测试工具,较Selenium更快

Playwright :微软开源的一款Python异步Web测试库,支持多种浏览器,较Selenium更快

Puppeteer: 基于Javascript的的异步Web测试库,较Selenium更快

AppUI自动化

Android & iOS自动化

Appium: 支持android和ios的移动端自动化测试工具

Macaca: 面向多端的自动化测试工具,由阿里巴巴开源。

Airtest: UI自动化测试工具,支持App和游戏测试,网易开源。

SoloPi: Soloπ是一个无线化、非侵入式的Android自动化工具,公测版拥有录制回放、性能测试、一机多控三项主要功能,能为测试开发人员节省宝贵时间。

Uiautomator2: Python版Uiautomator封装,Android设备测试框架

ATX: 网易推出的AppUI测试框架,支持Android和iOS

STF: STF(Smartphone Test Farm) 移动设备管理工具,通过浏览器控制和管理移动设备。

Flutter App自动化

Flutter测试: Flutter中文文档-测试 Flutter App

鸿蒙App自动化

微信小程序自动化

MiniTest: 属于小程序和小游戏的自动化测试框架

桌面客户端自动化

Pyautogui: 基于截图识别等桌面自动化框架

Atalon: API,Web,移动端的自动化测试工具。

Ranorex: 商业GUI自动化测试工具,支持桌面,Web,移动端。

AutoIT: 用类Basic脚本编写Windows桌面GUI自动化的工具。

QTP/UFT 商业GUI桌面,Web的自动化测试工具

持续集成

Jenkins: 使用广泛的开源持续集成网站,拥有丰富的插件,支持应用定时打包、构建、自动化测试等

GitLab CI: 开源GitLab平台的基于YAML配置的应用持续集成语法

测试开发

IDE&编辑器

PyCharm: Jetbrains推出的Python开发工具,有社区免费版

IDEA: Jetbrains推出的Java开发工具,有社区免费版

Visual Studio Code: 微软推出的全能代码编辑器,支持多种语言和各种插件

Zed: 新一代支持协作编码的代码编辑器

Python

Django: Python全能Web开发框架

Flask: Python微型Web开发框架

FastAPI: Python高性能Web接口开发框架

SQLAlchemy: Python数据库操作ORM库

Java

Spring Boot:易用的Java Web开发框架

Mybatis:Java数据库操作框架

Golang

Gin: 简单易用的的Golang Web开发框架

Gorm: Golang数据库操作ORM框架

前端

Vue: 渐进式Web前端开发框架,有Vue2和Vue3两个版本

Element UI: 饿了么推出的Web前端组件库,支持Vue

React: Meta推出的前端开发框架

AntDesign:阿里推出的Web前端组件库,支持React

TDesign: 腾讯推出的前端组件库,支持Vue,React等

其他

车载测试

CANoe: Vector推出的汽车HIL和SIL项目的开发和测试工具

CANdelaStudio: Vector推出的高效汽车数据诊断系统

DiVa: Vector推出的汽车电子控制单元,自动化验证和诊断工具

vTESTstudio: Vector推出的可视化汽车嵌入式系统自动化测试工具

python-can: CAN协议硬件Python操作库

搜索测试

评价指标:准确率、精确率、召回率、MAP(Mean Average Precision-平均精度)和NDCG(Normalized Discounted Cumulative Gain-归一化折合增益值)、无结果率、MRR(平均倒数排名)、点击率等

主要测试方法:A/B Testing,基于专家(主管)评价,或基于点击率统计评价

大数据测试

Apache Hadoop: 开源大数据计算框架

Apache Hive: 开源大数据分布式容错数据仓库系统

Apache Spark: 开源大数据实时计算统一分析引擎

AI大模型测试

算法测试

Web3区块链测试

Remix:以太坊只能合约开发IDE,支持合约编程,编译,调试及部署

Hardhat: 基于Javascript或Typescript的以太坊应用测试框架

用例生成

Graphwalker: 基于模型的测试用例生成框架

PICT: 微软公司开发的pairwise testing的用例生成工具

AI辅助测试

AI辅助用例生成

AI辅助用例检查

参考

springcloud-learning

网易严选算法模型质量保障

Python机器学习笔记:常用评估模型指标的用法

App专项测试

jumper2014/awesome-testing

TheJambo/awesome-testing

atinfo/awesome-test-automation

车载测试介绍

CAN总线简介

怎样量化评价搜索引擎的结果质量

相关数据