软件测试常见工具
收集整理,测试相关工具、资源面试题等,欢迎补充完善
功能测试
测试工具
项目/测试管理
- 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服务端抓包命令
命令行工具
笔记及流程图
- 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使用
弱网测试
音视频质量
- audio_video_streaming: 音视频流媒体相关知识
- FFmpeg: 开源的音视频转换命令行工具
- OpenCV: Python开源图像分析转换三方库
服务端测试
常用工具
接口测试
- 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命令行监控工具
流量回放
- 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 的云原生混沌工程平台。
白盒测试
代码质量 &代码审查
代码覆盖率
常见开发框架
- 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平台图形应用(游戏)性能测试工具
其他性能测试
数据库性能测试
存储性能测试
网络性能测试
- 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++
跨语言测试框架
-
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的自动化测试工具
持续集成
测试开发
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
前端
- 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区块链测试
用例生成
- Graphwalker: 基于模型的测试用例生成框架
- PICT: 微软公司开发的pairwise testing的用例生成工具
AI辅助测试
- AI辅助用例生成
- AI辅助用例检查