Open-source testing software
1682 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.
1682 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| 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… | 66 | 5290 | stable |
| dherault/serverless-offline A Serverless Framework plugin that emulates AWS Lambda and API Gateway on your local machine. It starts an HTTP server that replicates the … | 98 | 5261 | active |
| Cucumber Cucumber is a testing tool that runs automated acceptance tests written in plain-language Gherkin syntax, supporting Behaviour-Driven Devel… | 89 | 5210 | 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 |
| otter-sec/anchor Anchor is the leading Rust-based framework for writing Solana programs (smart contracts), providing an eDSL, macros for security checks, an… | 96 | 5134 | stable |
| emqx/MQTTX MQTTX is an all-in-one, cross-platform MQTT 5.0 client toolbox from EMQ, available as a desktop GUI app, CLI, and web application. It provi… | 90 | 5073 | 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 |
| 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 | 5051 | 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 |
| 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 |
| ets-labs/python-dependency-injector Dependency Injector is a dependency injection (IoC) framework for Python, offering providers such as Factory, Singleton, Configuration, and… | 92 | 4916 | stable |
| Patchright Patchright is a patched, undetected fork of the Playwright browser automation framework that evades bot-detection systems like Cloudflare. … | 95 | 4904 | active |
| harlan-zw/unlighthouse Unlighthouse is an open-source CLI tool that runs Google Lighthouse audits on every page of a website, auto-discovering URLs via sitemaps, … | 99 | 4901 | active |
| reactive-streams/reactive-streams-jvm The Reactive Streams specification for the JVM, defining a minimal set of interfaces (Publisher, Subscriber, Subscription, Processor) for a… | 32 | 4880 | stable |
| 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 |
| 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 | 4803 | active |
| 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 |
| PrimeIntellect-ai/verifiers verifiers is a Python library for creating environments to train and evaluate large language models with reinforcement learning. It integra… | 89 | 4712 | 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 |
| nolanlawson/fuite fuite is a CLI tool that finds memory leaks in web apps by launching Chrome via Puppeteer, running scenarios (like clicking links and press… | 45 | 4621 | 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 |
| cyrus-and/chrome-remote-interface A Node.js library providing a JavaScript interface to the Chrome Debugging Protocol (CDP). It abstracts CDP domains into commands and event… | 58 | 4556 | 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 |
| unionai-oss/pandera Pandera is a Python library for statistical data validation of dataframe-like objects, supporting pandas, polars, PySpark, and others. It l… | 99 | 4481 | stable |
| 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 |
| tmenier/Flurl Flurl is a fluent URL builder and testable HTTP client library for .NET, available as a stand-alone URL builder (Flurl) or with HTTP featur… | 23 | 4402 | stable |
| 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… | 93 | 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 |
| puremourning/vimspector Vimspector is a multi-language graphical debugging plugin for Vim, built on the Debug Adapter Protocol (DAP). It provides an IDE-like debug… | 66 | 4324 | 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 |
| golang/vscode-go The official Go extension for Visual Studio Code, providing rich language support via the gopls language server. It offers IntelliSense, co… | 93 | 4259 | 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 |
| rust-lang/rust.vim rust.vim is the official Vim plugin for Rust development, providing file detection, syntax highlighting, formatting via rustfmt, and integr… | 32 | 4191 | stable |
| 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 |
| imbrn/v8n v8n is a fluent, chainable JavaScript validation library for validating any kind of data, from primitives to objects and arrays. It offers … | 23 | 4142 | stable |
| 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 |
| deepchecks/deepchecks Deepchecks is an open-source Python library for continuous validation of machine learning models and data, covering testing, CI integration… | 57 | 4060 | 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 |
| 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 |
| symfony/dom-crawler Symfony DomCrawler is a PHP component that eases DOM navigation for HTML and XML documents. It provides a Crawler class for querying and tr… | 93 | 4027 | stable |
| Lychee lychee is a fast, async, stream-based link checker written in Rust that finds broken hyperlinks and mail addresses in Markdown, HTML, reStr… | 91 | 4027 | active |
| shuzijun/leetcode-editor A JetBrains IDE plugin that lets users browse, solve, debug, and submit LeetCode problems directly from IntelliJ-based IDEs like IDEA, PyCh… | 92 | 3983 | active |
| 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 |
| Netflix/chaosmonkey Chaos Monkey is a chaos engineering tool from Netflix that randomly terminates virtual machine instances and containers in production to te… | 23 | 17146 | maintenance |
| Behat Behat is a behavior-driven development (BDD) testing framework for PHP that lets teams write executable business expectations in Gherkin sy… | 98 | 3972 | stable |
| tox-dev/tox tox is a command-line tool that automates and standardizes testing in Python by creating isolated virtual environments and running test com… | 95 | 3943 | active |
| a0rtega/pafish Pafish is a Windows testing tool that applies the same VM and sandbox detection techniques used by malware families to check whether an ana… | 10 | 3942 | active |
| cloudflare/miniflare Miniflare is a fully-local simulator for Cloudflare Workers written in TypeScript, running worker code in a sandbox that implements the Wor… | 10 | 3926 | active |
| americanexpress/jest-image-snapshot A Jest matcher that performs image comparisons using pixelmatch, behaving like Jest snapshots. It is most commonly used for visual regressi… | 79 | 3917 | active |
| sindresorhus/ow ow is a TypeScript library providing expressive, chainable runtime validation of function arguments and values with descriptive error messa… | 78 | 3862 | stable |
| ArchUnit ArchUnit is a free, extensible Java library for checking the architecture of Java code by analyzing bytecode and asserting rules as plain u… | 93 | 3847 | stable |
| pantsbuild/pants Pants is a fast, scalable build system and developer workflow tool designed especially for monorepos containing multiple projects and langu… | 97 | 3844 | active |
| ryanb/letter_opener A Ruby gem that intercepts outgoing email in development and previews it in the browser instead of sending it. It integrates with Rails Act… | 64 | 3838 | stable |
| fluentassertions/fluentassertions Fluent Assertions is a .NET library providing an extensive set of extension methods for writing readable, fluent assertions in TDD and BDD-… | 98 | 3816 | active |
| FactoryBoy/factory_boy factory_boy is a Python test fixtures replacement inspired by Ruby's factory_bot. It lets developers define declarative factories for creat… | 56 | 3811 | stable |
| nabla-c0d3/sslyze SSLyze is a fast SSL/TLS scanning tool and Python library that analyzes a server's TLS configuration, including certificates, cipher suites… | 77 | 3780 | stable |
| JetBrains/intellij-platform-plugin-template An official JetBrains GitHub template repository that scaffolds new IntelliJ Platform plugin projects in Kotlin. It preconfigures Gradle bu… | 91 | 3765 | active |
| fortio/fortio Fortio is a Go-based load testing library, CLI tool, and web UI originally built for Istio. It generates load at a specified queries-per-se… | 99 | 3734 | stable |
| thunderclient/thunder-client-support Thunder Client is a lightweight REST API client extension for VS Code and JetBrains IDEs, offering GUI-based request testing, collections, … | 96 | 3725 | active |
| webhintio/hint webhint is a customizable linting engine for the web that checks sites and code for accessibility, performance, security, cross-browser com… | 61 | 3698 | active |
| p-org/P P is a state machine based programming language for formally modeling and specifying complex distributed systems as collections of communic… | 85 | 3690 | active |
| CIDER CIDER is an Emacs package that turns Emacs into a full interactive development environment for Clojure and ClojureScript. It connects to a … | 91 | 3681 | active |
| schemathesis/schemathesis Schemathesis is a Python-based API testing tool that automatically generates test cases from OpenAPI and GraphQL schemas using property-bas… | 96 | 3680 | active |
| Gauge Taiko is a free and open-source Node.js library for browser automation and end-to-end testing of modern web applications, supporting Chromi… | 90 | 3674 | active |
| Deequ Deequ is a Scala library built on Apache Spark for defining 'unit tests for data' that measure data quality in large datasets. It computes … | 96 | 3648 | active |
| auchenberg/volkswagen A satirical Node.js library that detects when tests are running on a CI server and forces them to pass, inspired by the Volkswagen emission… | 60 | 15464 | maintenance |
| Spock Spock is a testing and specification framework for JVM developers that combines BDD-style readable specifications with powerful built-in mo… | 71 | 3629 | active |
| jsx-eslint/eslint-plugin-jsx-a11y An ESLint plugin that statically checks JSX elements for accessibility (a11y) issues in React applications. It analyzes the AST to catch co… | 57 | 3625 | active |
| alicebob/miniredis Miniredis is a pure Go implementation of (parts of) the Redis server designed for use in Go unit tests. It runs an in-memory Redis server w… | 87 | 3623 | stable |
| Shoulda A Ruby gem providing RSpec- and Minitest-compatible one-liner matchers for testing common Rails functionality like validations, association… | 80 | 3581 | stable |
| millionco/expect Expect is a CLI tool and MCP skill that reads your git changes, generates a test plan, and runs it in a real browser using Playwright. It i… | 61 | 3551 | active |
| argos-ci/jest-puppeteer jest-puppeteer is a Jest preset that integrates Puppeteer for browser-based end-to-end testing. It manages browser lifecycle and exposes a … | 64 | 3543 | stable |
| AutoFixture/AutoFixture AutoFixture is an open-source .NET library that automates the creation of test data and object graphs, minimizing the 'Arrange' phase of un… | 81 | 3540 | stable |
| ctimmerm/axios-mock-adapter An axios adapter that intercepts and mocks HTTP requests made with the axios client. It lets developers define canned responses, delays, ne… | 49 | 3540 | stable |
| behave behave is a behavior-driven development (BDD) testing framework for Python that runs tests written in Gherkin natural-language syntax backe… | 78 | 3534 | active |
| grosser/parallel_tests A Ruby gem that speeds up test suites by splitting Minitest, RSpec, Cucumber, Spinach, and Turnip tests into balanced groups and running th… | 75 | 3524 | active |
| firasdib/Regex101 Regex101 is a popular web application for building, testing, and debugging regular expressions with support for multiple regex flavors. Thi… | 62 | 3522 | active |
| mxschmitt/playwright-go Playwright for Go is a Go library that automates Chromium, Firefox, and WebKit browsers through a single API, supporting both headless and … | 90 | 3510 | active |
| beartype/beartype Beartype is a pure-Python, PEP-compliant runtime type checker that validates type hints at near-real-time speed with O(1) constant-time che… | 83 | 3506 | active |
| model-checking/kani Kani is a bit-precise model checker for Rust that formally verifies safety and correctness properties of Rust programs. It uses proof harne… | 93 | 3504 | active |
| WordPress/wordpress-develop The official Git mirror of the WordPress core development repository (synced from Subversion), containing the PHP, MySQL, and JavaScript so… | 77 | 3486 | stable |
| VerifyTests/Verify Verify is a .NET snapshot (approval) testing library that serializes test results and compares them against stored snapshot files. It integ… | 95 | 3472 | active |
| modelscope/evalscope EvalScope is a Python framework from the ModelScope community for evaluating large language models, vision-language models, embedding model… | 91 | 3454 | active |