Open-source testing software
1069 open-source libraries, tools and applications tagged testing, ranked by how closely testing is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
1069 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| WireMock WireMock is a popular open-source tool for mocking HTTP-based APIs, runnable as an embedded Java library, standalone server, or container. … | 77 | 7388 | stable |
| Done-0/fuck-u-code A CLI code-quality analyzer that scores codebases 0-100 and produces humorous 'legacy-mess' reports across 14 languages using tree-sitter A… | 71 | 7303 | active |
| postmanlabs/newman Newman is a command-line collection runner for Postman that executes Postman collections directly from the terminal. It is extensible with … | 75 | 7253 | stable |
| google/error-prone Error Prone is Google's static analysis tool that hooks into the Java compiler to catch common programming mistakes as compile-time errors.… | 93 | 7252 | active |
| sverweij/dependency-cruiser A CLI tool that analyzes and validates dependencies in JavaScript, TypeScript, LiveScript, and CoffeeScript projects against user-defined r… | 97 | 7237 | active |
| vektra/mockery mockery is a CLI tool that auto-generates mock implementations for Go interfaces using the stretchr/testify/mock package. It eliminates the… | 95 | 7169 | active |
| rest-assured/rest-assured REST Assured is a Java DSL for testing and validating REST APIs with a fluent, dynamic-language-style syntax. It supports request specifica… | 70 | 7140 | active |
| Rod Rod is a high-level Go library that drives Chrome via the Chrome DevTools Protocol for web automation and scraping. It offers both high-lev… | 62 | 7132 | active |
| detekt detekt is a static code analysis tool for the Kotlin programming language that detects code smells and enforces configurable rule sets. It … | 68 | 7101 | active |
| kulshekhar/ts-jest ts-jest is a Jest transformer that enables testing TypeScript projects with Jest, providing source map support and full TypeScript feature … | 100 | 7071 | stable |
| JUnit JUnit is the standard programmer-friendly testing framework for Java and the JVM, composed of the JUnit Platform (test launcher foundation)… | 96 | 7059 | stable |
| mapbox/pixelmatch A tiny, dependency-free JavaScript library for pixel-level image comparison, originally built for comparing screenshots in tests. It works … | 94 | 6994 | stable |
| hamcrest/hamcrest-php The official PHP port of the Hamcrest matcher library, providing a fluent set of matchers for writing expressive assertions in tests. It fo… | 73 | 6984 | stable |
| JVM-Sandbox JVM-Sandbox is a real-time, non-invasive AOP framework container for the JVM, built on Java Instrumentation to dynamically enhance methods … | 65 | 6960 | active |
| Gatling Gatling is an open-source, code-first load testing tool and performance engineering platform. It uses a fully asynchronous, non-blocking ar… | 87 | 6955 | stable |
| Staticcheck Staticcheck is an advanced linter for the Go programming language that uses static analysis to find bugs, performance issues, and simplific… | 88 | 6906 | active |
| doctest/doctest doctest is a single-header C++ testing framework for unit tests and TDD, supporting C++11 through C++23. It is designed to be the fastest f… | 86 | 6889 | stable |
| Mobile Next Automation Platform An open-source Model Context Protocol (MCP) server that lets AI agents and LLMs control iOS and Android devices—emulators, simulators, and … | 84 | 6800 | active |
| sj26/mailcatcher MailCatcher is a Ruby gem that runs a lightweight fake SMTP server which catches all outgoing mail from an application and displays it in a… | 66 | 6780 | stable |
| requestly/requestly Requestly API Client is a lightweight, Git-native desktop API client for designing, building, and testing REST, GraphQL, SOAP, and gRPC API… | 87 | 6759 | active |
| spf13/afero Afero is a filesystem abstraction library for Go that provides a universal interface over multiple storage backends, including local disk, … | 73 | 6707 | stable |
| rust-lang/miri Miri is an interpreter for Rust's mid-level intermediate representation (MIR) that detects undefined behavior in Rust programs. It runs bin… | 77 | 6660 | active |
| devlooped/moq Moq is the most popular mocking framework for .NET, letting developers create mock objects from interfaces and classes using lambda express… | 86 | 6412 | active |
| lavague-ai/LaVague LaVague is an open-source Python framework for building AI Web Agents powered by a Large Action Model. It combines a World Model that inter… | 26 | 6392 | active |
| alipay/SoloPi SoloPi is an open-source wireless, non-intrusive mobile automation testing tool for Android (with a HarmonyOS branch), offering record-and-… | 97 | 6336 | active |
| bats-core/bats-core Bats-core is a TAP-compliant testing framework for Bash scripts, where each test case is a Bash function using shell commands as assertions… | 86 | 6305 | active |
| jagt/clumsy clumsy is a Windows utility that degrades network conditions in a controlled, interactive way by capturing live packets with WinDivert and … | 43 | 6270 | active |
| kif-framework/KIF KIF (Keep It Functional) is an iOS UI integration testing framework that automates app testing by driving the UI through accessibility attr… | 95 | 6247 | active |
| pywinauto/pywinauto pywinauto is a Python library for automating the Microsoft Windows GUI, sending mouse and keyboard actions to windows, dialogs, and control… | 57 | 6182 | active |
| maildev/maildev MailDev is a local SMTP server with a modern web interface that catches all emails sent by your application during development, so nothing … | 93 | 6145 | active |
| robolectric/robolectric Robolectric is the industry-standard unit testing framework for Android that runs tests in a simulated Android environment inside a JVM, av… | 88 | 6051 | active |
| goss-org/goss Goss is a YAML-based server testing and validation tool, a fast serverspec alternative that generates tests from the current system state. … | 84 | 5988 | active |
| tape-testing/tape tape is a minimalist TAP-producing test harness for Node.js and browsers. It lets you write tests as simple function calls with assertions … | 75 | 5797 | stable |
| Faker Faker is a PHP library that generates realistic fake data for testing, seeding databases, and anonymizing information. It provides a wide r… | 10 | 26626 | maintenance |
| mockk/mockk MockK is a mocking library for Kotlin providing a Kotlin-first DSL for creating mocks, stubbing behavior, and verifying calls. It supports … | 86 | 5761 | active |
| nyc nyc is the official command-line interface for Istanbul, a JavaScript code coverage tool that instruments ES5 and ES2015+ code with line co… | 64 | 5759 | stable |
| antiwork/shortest Shortest is an AI-powered end-to-end testing framework that lets developers write browser tests in plain English, executed via Anthropic's … | 64 | 5684 | active |
| executeautomation/mcp-playwright A Model Context Protocol (MCP) server that exposes Playwright browser automation to LLM clients like Claude Desktop, Cline, and Cursor IDE.… | 44 | 5664 | active |
| nunomaduro/phpinsights PHP Insights is a console tool that performs instant static analysis of PHP code quality, coding style, architecture, and complexity. It wo… | 91 | 5635 | active |
| phan/phan Phan is a static analyzer for PHP that finds bugs in code before it runs, focusing on type compatibility checking and minimizing false posi… | 99 | 5630 | active |
| google/clusterfuzz ClusterFuzz is Google's scalable fuzzing infrastructure that finds security and stability bugs in software, serving as the backend for OSS-… | 95 | 5613 | active |
| mgechev/revive Revive is a fast, configurable, and extensible linter for Go, serving as a drop-in replacement for golint. It supports TOML-based rule conf… | 95 | 5554 | active |
| Allure Report Allure Report is a flexible, multi-language test reporting tool that transforms test execution data into clear, interactive HTML reports. I… | 96 | 5553 | stable |
| miragejs/miragejs Mirage JS is a client-side API mocking library that lets frontend developers build, test, and prototype complete JavaScript applications wi… | 35 | 5528 | stable |
| PMD PMD is an extensible multilanguage static code analyzer that finds common programming flaws like unused variables, empty catch blocks, and … | 97 | 5494 | stable |
| Buildbot Buildbot is an open-source Python framework for automating software build, test, and release processes, including continuous integration an… | 73 | 5479 | stable |
| apache/groovy Apache Groovy is a multi-faceted programming language for the JVM that offers Java-like syntax with productivity features such as closures,… | 77 | 5474 | stable |
| brianvoe/gofakeit Gofakeit is a random fake data generator library for Go offering 310+ functions for names, emails, phones, companies, credit cards, and mor… | 71 | 5395 | stable |
| ThrowTheSwitch/Unity Unity is a lightweight unit testing framework for C, distributed as a single C file and a pair of headers with a rich set of assertion macr… | 81 | 5394 | stable |
| idb idb (iOS Development Bridge) is a command-line tool from Meta for automating iOS Simulators and Devices, consisting of a Swift companion se… | 99 | 5370 | active |
| cweill/gotests gotests is a Go command-line tool that automatically generates table-driven test boilerplate from source code by analyzing function and met… | 55 | 5335 | active |
| AnswerDotAI/nbdev nbdev is a notebook-driven development platform for Python that lets you write code, tests, and prose documentation in Jupyter Notebooks. I… | 94 | 5317 | stable |
| uber-go/goleak goleak is a Go library from Uber that detects goroutine leaks in tests by verifying no unexpected goroutines remain after test execution. I… | 65 | 5290 | stable |
| typicode/jsonplaceholder JSONPlaceholder is a free online fake REST API for testing and prototyping, serving common resources like posts, comments, and users. It is… | 32 | 5239 | stable |
| Credo Credo is a static code analysis tool for the Elixir language with a focus on code consistency and teaching. It highlights refactoring oppor… | 87 | 5222 | stable |
| Cucumber Cucumber is a testing tool that runs automated acceptance tests written in plain-language Gherkin syntax, supporting Behaviour-Driven Devel… | 95 | 5211 | stable |
| php-webdriver php-webdriver is the PHP language binding for the Selenium WebDriver protocol, allowing PHP code to control web browsers programmatically. … | 75 | 5197 | active |
| dubzzz/fast-check fast-check is a property-based testing framework for JavaScript and TypeScript, inspired by QuickCheck. It automatically generates test inp… | 98 | 5193 | active |
| python/typeshed Typeshed is a collection of static type stubs for the Python standard library, builtins, and many third-party packages. It provides the ann… | 75 | 5124 | active |
| callstack/agent-device A CLI, MCP server, and typed Node.js API that lets AI coding agents automate, inspect, and verify real mobile and desktop apps. It provides… | 79 | 5100 | active |
| facebook/memlab MemLab is an end-to-end testing and analysis framework from Meta for detecting JavaScript memory leaks and optimization opportunities. It d… | 77 | 5068 | active |
| stoplightio/prism Prism is an open-source CLI tool that turns OpenAPI v2/v3 documents or Postman Collections into a fully functional HTTP mock server with dy… | 93 | 5043 | active |
| MaaXYZ/MaaFramework MaaFramework is an automation black-box testing framework based on image recognition, rewritten from the experience of the MAA (MaaAssistan… | 94 | 5038 | active |
| ministackorg/ministack MiniStack is a free, MIT-licensed local AWS emulator that mimics 60+ AWS services (S3, SQS, SNS, DynamoDB, Lambda, EC2, RDS, ElastiCache, E… | 79 | 4996 | active |
| MockServer MockServer is an open-source HTTP(S) mock server and proxy for testing that can mock APIs, record and inspect live traffic, and inject fail… | 100 | 4995 | active |
| SimpleCov SimpleCov is a code coverage analysis library for Ruby built on Ruby's built-in Coverage library. It provides a clean API to filter, group,… | 99 | 4926 | stable |
| TestSprite/testsprite-cli TestSprite's official open-source CLI that uses AI to generate and run end-to-end tests against a live app from the terminal, reporting exa… | 82 | 4881 | active |
| Codeception Codeception is a full-stack testing framework for PHP that supports acceptance, functional, and unit testing in a single tool, built on top… | 98 | 4858 | stable |
| Mimesis Mimesis is a Python library for generating fake but realistic data across 47 locales, covering names, addresses, dates, financial data, and… | 98 | 4851 | stable |
| Quick/Nimble Nimble is a matcher framework for Swift and Objective-C that lets developers express expected outcomes of expressions with readable asserti… | 66 | 4839 | stable |
| kotest/kotest Kotest is a comprehensive, multiplatform testing framework for Kotlin offering a flexible test DSL, over 350 assertion matchers, and integr… | 100 | 4789 | active |
| capricorn86/happy-dom Happy DOM is a JavaScript implementation of a web browser without its graphical user interface, providing a DOM implementation for Node.js … | 95 | 4699 | active |
| TCPCopy TCPCopy is a TCP stream replay tool that captures live production traffic and replicates it against a test server. It enables realistic str… | 31 | 4686 | stable |
| google/go-cmp A Go library for comparing Go values in tests, intended as a more powerful and safer alternative to reflect.DeepEqual. It supports custom e… | 59 | 4678 | stable |
| nunomaduro/collision Collision is a PHP library that provides beautiful, readable error reporting for command-line applications. Built on top of Whoops, it is b… | 71 | 4658 | active |
| xUnit.net xUnit.net is a free, open-source unit testing framework for C#, F#, and Visual Basic on .NET, providing test discovery, assertions, extensi… | 93 | 4614 | stable |
| jacoco/jacoco JaCoCo is a free Java code coverage library that measures and reports code coverage via bytecode instrumentation through a Java agent, with… | 82 | 4611 | stable |
| testing-library/jest-dom A companion library for Testing Library that provides custom Jest matchers for asserting the state of DOM elements, such as visibility, att… | 91 | 4598 | stable |
| pa11y/pa11y Pa11y is an open-source automated accessibility testing tool that runs WCAG audits on web pages via a command-line interface or a Node.js A… | 87 | 4537 | active |
| spulec/freezegun FreezeGun is a Python library that lets tests 'travel through time' by mocking datetime and time module functions. It provides a decorator … | 47 | 4527 | stable |
| ory/dockertest A Go library that spins up ephemeral Docker containers (e.g., databases, message queues) for integration tests and tears them down automati… | 72 | 4526 | active |
| enzymejs/enzyme Enzyme is a JavaScript testing utility for React that makes it easier to assert, manipulate, and traverse React Components' output. Its API… | 50 | 19806 | maintenance |
| dreamhead/moco Moco is an easy-setup stub framework for the JVM that spins up mock HTTP, REST, WebSocket, and SSE servers from simple JSON configuration f… | 67 | 4444 | active |
| link1st/go-stress-testing A stress/load testing tool written in Go that simulates concurrent users with goroutines to measure QPS and connection capacity. It support… | 72 | 4408 | active |
| getsentry/responses A Python library for mocking out the `requests` HTTP library in tests. It lets you register fake responses with matching on method, URL, he… | 92 | 4342 | active |
| pointfreeco/swift-snapshot-testing A Swift library for snapshot testing that lets developers assert any value against a recorded reference image or text representation. It su… | 96 | 4341 | stable |
| BuilderIO/micro-agent Micro Agent is an open-source CLI AI agent that generates unit tests from a natural language prompt and then iterates on code until all tes… | 25 | 4335 | active |
| phpro/grumphp GrumPHP is a PHP code-quality tool implemented as a Composer plugin that registers git hooks in your repository. When a developer commits c… | 89 | 4316 | active |
| HttpRunner HttpRunner (hrp) is an open-source, Go-based all-in-one testing framework for API testing (HTTP/HTTP2/WebSocket/RPC), load testing, and mul… | 44 | 4302 | active |
| CodeceptJS CodeceptJS is a Node.js end-to-end testing framework with a BDD-style syntax where tests are written as user-perspective scenarios using an… | 99 | 4244 | active |
| crate-ci/typos typos is a fast source code spell checker written in Rust that finds and corrects spelling mistakes in codebases. It is designed for low fa… | 94 | 4182 | active |
| ansible/molecule Molecule is an Ansible-native testing framework for developing and testing Ansible collections, playbooks, and roles. It uses standard Ansi… | 94 | 4158 | active |
| magnitudedev/browser-agent Magnitude is an open-source, vision-first AI browser agent written in TypeScript that controls the browser through natural language command… | 56 | 4134 | active |
| troessner/reek Reek is a code smell detector for Ruby that examines classes, modules, and methods and reports code smells like uncommunicative names, long… | 75 | 4131 | active |
| bblimke/webmock WebMock is a Ruby library for stubbing HTTP requests and setting expectations on them at the HTTP client library level. It works with many … | 99 | 4050 | stable |
| xcpretty/xcpretty xcpretty is a fast, flexible command-line formatter for xcodebuild output, written in Ruby and distributed as a gem. It pipes raw xcodebuil… | 34 | 4034 | stable |
| QUnit QUnit is a dependency-free JavaScript unit testing framework originally developed for jQuery, now used widely including as the default for … | 87 | 4031 | stable |
| awaitility/awaitility Awaitility is a small Java DSL for synchronizing and testing asynchronous operations with readable, concise expectations. It handles pollin… | 63 | 4028 | stable |
| rnwood/smtp4dev smtp4dev is a fake SMTP email server for development and testing, with a web interface, terminal UI, and REST API. It captures outgoing mai… | 86 | 3981 | active |
| thomhurst/TUnit TUnit is a modern, fast .NET testing framework built on Microsoft.Testing.Platform that discovers tests at compile time via Roslyn source g… | 90 | 3979 | active |