awesome-testing
- 整理各种测试工具,自动化测试工具,自动化测试框架,觉得有用记得star和fork。
- 整理软件测试面试题,自动化测试面试题, 通用面试题,Java面试题,Python面试题, 网络面试题,数据库面试题, 英语面试题
通用测试框架
- JUnit: 最著名的xUnit类的单元测试框架,但是不仅仅可以做单元测试。
- TestNG: 更强大的Java测试框架,灵活可扩展,支持注解和多线程。
- pytest: 最强大的Python测试框架,可定制性高,插件丰富。
- unittest: Python官方内置的测试框架。
- RobotFramework: 基于关键字驱动的测试框架,开源,易用。
- Cucumber: 开源的BDD自动化测试框架,支持Ruby和Java
- Behave: 基于Python的BDD自动化测试框架
- Gauge: 轻量级的跨平台测试自动化工具,可以以业务语言编写测试用例。
用例生成
- graphwalker: 基于模型的测试用例生成框架
- PICT: 微软公司开发的pairwise testing的用例生成工具
平台,用例和bug管理
- TestLink: 开源测试用例管理,测试计划,测试执行,测试报告。
- ZenTao: 禅道,国产开源工具,记录bug,用例管理,项目管理。
- Redmine: 用Ruby开发的基于web的项目管理软件
- jira: 缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理。
- YApi: 旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API
- MeterSphere: 一站式开源持续测试平台。
- BlazeMeter: 一站式持续测试平台。支持performance, functional, scriptless, API testing and monitoring, test data, and mock services
自动化工具
- Selenium: 业界最有影响力的Web自动化测试工具。
- Cypress: 基于js的web自动化测试工具。
- atalon: API,Web,移动端的自动化测试工具。
- Ranorex: 商业GUI自动化测试工具,支持桌面,Web,移动端。
- QTP/UFT 商业GUI桌面,Web的自动化测试工具。
- AutoIT: 用类Basic脚本编写Windows桌面GUI自动化的工具。
- Appium: 支持android和ios的移动端自动化测试工具.
- STF: STF(smartphone test farm) 移动设备管理工具,通过浏览器控制和管理移动设备。
- Macaca: 面向多端的自动化测试工具,由阿里巴巴开源。
- Airtest: UI自动化测试工具,支持App和游戏,网易开源。
- SoloPi: Soloπ是一个无线化、非侵入式的Android自动化工具,公测版拥有录制回放、性能测试、一机多控三项主要功能,能为测试开发人员节省宝贵时间。
- ChaosBlade: 阿里巴巴开源的一款简单易用、功能强大的混沌实验注入工具。
- ChaosMesh: 基于 Kubernetes 的云原生混沌工程平台。
性能测试
- Apache Bench: HTTP性能测试工具
- LoadRunner: HP的商业性能测试工具
- JMeter:基于Java的性能测试工具,开源。
- locust:基于Python的性能测试工具
- Taurus: 是 BlazeMeter 的核心组件,是一个开源自动化框架,用于运行各种开源负载测试工具和功能测试工具,支持的最流行开源压测工具有 JMeter、Selenum、Gatling、The Grnder、Locust 等。
- Tsung: 基于Erlang的性能测试工具,支持海量的并发,但是由于懂Erlang的人少,故业界用得也少。
- Siege: Siege是一个多线程HTTP负载测试和基准测试工具
- wrk: 一款现代HTTP基准测试工具。
- htop: 实时统计Linux系统资源占用率
- iftop: 实时统计Linux网络流量
- nload: Linux网速实时监控
- webpagetest:测量和分析网页性能工具,支持开发者下载源文件搭建私人的内部测试站点
- PageSpeed Insights:专注于改进网页性能的开发者工具,google出品。
代码质量
网络工具
- Fiddler: Fiddler是一个HTTP调试抓包工具。它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况。
- Tcpdump:网络抓包工具。
- Wireshark:有界面的网络包分析工具,支持Windows, Linux, Mac OS.
- GoReplay: 网络监控工具,可以做流量回放,压力测试,流量分析
- TcpCopy: 流量回放工具。
- Charles:抓包,弱网模拟,接口测试。
- TC Linux上控制网络流量的工具
- WANem: 广域网网络模拟器
- 网络损伤模拟仪: 硬件网络损伤仿真仪器,用于模拟广域网的各种弱网条件,例如丢包,延迟,低带宽等。
接口测试
- Postman: Postman is the complete toolchain for API developers, used by more than 5 million developers and 30,000 companies worldwide.
- SoapUI: 最流行的API测试工具。
- JMeter: 工业级的压力测试工具,也有人拿它做接口测试
- Fiddler: 是一个HTTP调试抓包工具。它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况。
- Hitchhiker: 是一款开源的支持多人协作的 Restful Api 测试工具,支持自动化测试, 数据对比,压力测试,支持脚本定制请求,可以轻松部署到本地,和你的team成员一起协作测试Api。
- Rest-Assured: 测试 RESTful Web Services 的 Java 类库
- Pact: 消费者驱动契约测试的一种实现,可以用来在消费者的代码里mock响应,在提供方的代码中验证交互。
测试报告
- ExtentReports: 一个优雅,互动,灵活细致的测试报告框架。
- Allure: 测试报告框架
- reportportal: AI-powered Test Automation Dashboard
- cucumber-reporting: HTML reports for Cucumber
- ReportNG: An HTML/XML Reporting Plug-in for TestNG
Mock
- Moco: 基于Java的Mock开源框架
- mockserver: 基于Java的Mock开源框架,可以通过client或者restful API远程控制mockserver的返回。
- Mockito: 用于Java单元测试的Mock测试框架
- WireMock: Free and Open Source tool for building mock APIs
- Mockoon: 本地运行模拟 API 的最简单,最快的方法
- Whistle:是基于 Node 实现的跨平台抓包调试代理工具,可以录制请求和响应,然后作为mock server回放。
流量回放
- vm-sandbox-repeater: 阿里开源的基于JVM-Sandbox的流量录制回放工具,提供入口请求(HTTP/Dubbo/Java)流量回放、子调用(Java/Dubbo)返回值Mock能力。