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 |
|---|---|---|---|
| qawolf/cli QA Wolf CLI is a TypeScript command-line tool for running and managing QA Wolf end-to-end test flows locally or in CI, built on Playwright … | 98 | 3453 | active |
| json-schema-faker/json-schema-faker A JavaScript library that generates valid, realistic fake JSON data from JSON Schema definitions, supporting JSON Schema 2019-09 and 2020-1… | 86 | 3447 | active |
| travisjeffery/timecop Timecop is a Ruby gem that provides time travel, time freezing, and time acceleration capabilities for testing time-dependent code. It offe… | 75 | 3426 | stable |
| coveragepy/coveragepy Coverage.py is the standard code coverage measurement tool for Python, tracking which lines of code execute during test runs. It uses Pytho… | 99 | 3423 | stable |
| callstack/react-native-testing-library React Native Testing Library is a TypeScript library providing simple and complete testing utilities for React Native components, built on … | 98 | 3420 | active |
| Xdebug Xdebug is a PHP extension providing step debugging, profiling, tracing, code coverage, and improved error reporting for PHP applications. I… | 92 | 3416 | active |
| uber-go/mock GoMock (go.uber.org/mock) is a mocking framework for Go that generates mock implementations of interfaces via the mockgen code-generation t… | 69 | 3416 | active |
| shouldly/shouldly Shouldly is a .NET assertion library for unit tests that focuses on clear, expressive failure messages by embedding the asserted source exp… | 66 | 3414 | active |
| minitest Minitest is a small, fast, and readable testing suite for Ruby supporting TDD, BDD, spec-style expectations, and benchmarking. It ships as … | 70 | 3413 | stable |
| verus-lang/verus Verus is a verification tool for statically proving the correctness of Rust code against developer-written specifications, using SMT solver… | 96 | 3364 | active |
| bojand/ghz ghz is a command-line utility and Go package for benchmarking and load testing gRPC services. It supports unary, streaming, and duplex call… | 71 | 3358 | active |
| Byebug Byebug is a feature-rich debugger for Ruby implemented as a C extension using the TracePoint and Debug Inspector APIs. It provides stepping… | 68 | 3351 | active |
| pester/Pester Pester is the ubiquitous test and mock framework for PowerShell, providing a Describe/Context/It DSL with Should assertions and powerful co… | 96 | 3346 | active |
| ChangemakerStudios/Papercut-SMTP Papercut SMTP is a desktop application that runs a local SMTP server and displays every email your application sends, so nothing is ever de… | 91 | 3339 | active |
| testing-library/dom-testing-library DOM Testing Library is a lightweight JavaScript library providing utilities for querying and interacting with DOM nodes in tests, in a way … | 85 | 3335 | active |
| STF Smartphone Test Farm (STF) is a self-hosted web application for remotely controlling and debugging Android smartphones, smartwatches, and o… | 23 | 13948 | maintenance |
| SQLMesh/sqlmesh SQLMesh is a scalable data transformation framework for running and deploying SQL or Python data models, backward compatible with dbt. It p… | 95 | 3329 | active |
| bahdotsh/wrkflw A Rust CLI and TUI tool for validating and executing GitHub Actions workflows locally before pushing to GitHub. It supports Docker, Podman,… | 75 | 3328 | active |
| nextest-rs/nextest cargo-nextest is a next-generation test runner for Rust, running tests up to 3x faster than cargo test with per-test process isolation. It … | 94 | 3323 | active |
| krzysztofzablocki/LifetimeTracker LifetimeTracker is a Swift library for iOS that surfaces retain cycles and memory leaks in real time during development. It tracks object l… | 60 | 3312 | active |
| vadimcn/codelldb CodeLLDB is a VSCode extension providing a native-code debugger powered by LLDB, with a Rust-based adapter. It supports C++, Rust, and othe… | 92 | 3310 | active |
| WebPageTest The official open-source codebase for WebPageTest, the website performance testing service, which can be self-hosted as a private instance.… | 38 | 3295 | active |
| open-policy-agent/conftest Conftest is a CLI utility for writing tests against structured configuration data using the Open Policy Agent Rego language. It validates f… | 98 | 3274 | active |
| postmanlabs/httpbin httpbin is a simple HTTP request and response service written in Python with Flask that echoes back request details as JSON. It is used for… | 23 | 13625 | maintenance |
| shivammathur/setup-php A GitHub Action that installs PHP with specified extensions, php.ini configuration, coverage drivers (Xdebug, PCOV), and tools like Compose… | 92 | 3260 | active |
| inducer/pudb PuDB is a full-screen, console-based visual debugger for Python built on urwid. It provides GUI-like debugging features such as syntax-high… | 95 | 3250 | active |
| dmtrKovalenko/odiff ODiff is a very fast pixel-by-pixel image comparison library and CLI tool written in Zig with SIMD optimizations (SSE2, AVX2, AVX512, NEON)… | 91 | 3235 | active |
| lackeyjb/playwright-skill An Agent Skill and Claude Code plugin that lets coding agents write and execute Playwright automation scripts on the fly, from simple page … | 80 | 3221 | active |
| yannh/kubeconform Kubeconform is a fast Kubernetes manifest validator written in Go, inspired by Kubeval. It validates YAML manifests against JSON schemas, s… | 72 | 3210 | active |
| kubernetes-sigs/kwok KWOK (Kubernetes WithOut Kubelet) is a toolkit for simulating Kubernetes clusters with thousands of fake nodes and pods at very low resourc… | 82 | 3205 | active |
| crytic/echidna Echidna is a Haskell-based fuzzer for Ethereum smart contracts that performs property-based testing by generating sequences of contract cal… | 86 | 3186 | active |
| alexei-led/pumba Pumba is a chaos testing and network emulation CLI tool for Docker, containerd, and Podman containers. It can kill, stop, pause, or remove … | 95 | 3177 | active |
| coverlet-coverage/coverlet Coverlet is a cross-platform code coverage framework for .NET that supports line, branch, and method coverage. It integrates via multiple d… | 94 | 3174 | active |
| FlaUI/FlaUI FlaUI is a .NET library for automated UI testing of Windows applications (Win32, WinForms, WPF, Store Apps), wrapping Microsoft's native UI… | 63 | 3171 | active |
| NASA-SW-VnV/ikos IKOS is a static analyzer for C and C++ programs based on the theory of Abstract Interpretation, built on LLVM. It provides reusable abstra… | 57 | 3166 | active |
| vim-test/vim-test A Vim/Neovim plugin that wraps many test runners so you can run tests at different granularities (file, nearest test, suite) directly from … | 90 | 3164 | active |
| Stryker Stryker is a mutation testing tool family that measures the effectiveness of your unit tests by automatically inserting bugs (mutants) into… | 95 | 3156 | active |
| Phoronix Test Suite The Phoronix Test Suite is an open-source, cross-platform automated benchmarking and testing platform written in PHP. It provides an extens… | 66 | 3145 | stable |
| minitap-ai/mobile-use An open-source Python AI agent framework that controls real Android and iOS devices using natural language commands, built on LangGraph. It… | 69 | 3143 | active |
| thoughtbot/factory_bot_rails factory_bot_rails provides Rails integration for Factory Bot, a fixtures replacement library for defining test data with a straightforward … | 64 | 3139 | stable |
| wolfcw/libfaketime libfaketime is an LD_PRELOAD library that intercepts system calls retrieving the current date and time, reporting faked times to a single a… | 85 | 3122 | active |
| OpenVINS OpenVINS is an open-source C++ platform for visual-inertial navigation research, centered on a filter-based (MSCKF/EKF) estimator that fuse… | 44 | 3121 | active |
| neotest Neotest is an extensible framework for interacting with tests inside NeoVim, providing test running, result display, diagnostics, and summa… | 91 | 3114 | active |
| tlaplus/tlaplus The official TLA+ tools repository containing TLC, a model checker for TLA+ specifications, plus the SANY parser, PlusCal translator, REPL,… | 86 | 3114 | active |
| laravel-shift/blueprint Blueprint is a code generation tool for Laravel that builds multiple framework components (models, migrations, controllers, routes, factori… | 76 | 3112 | active |
| Selenium Selenium IDE is an open-source record-and-playback test automation tool for the web, available as a Chrome/Firefox browser extension and an… | 49 | 3111 | active |
| ReportGenerator ReportGenerator is a command-line tool that converts code coverage reports from tools like coverlet, OpenCover, dotCover, Cobertura, JaCoCo… | 95 | 3097 | active |
| InSpec Chef InSpec is an open-source testing framework for infrastructure that expresses compliance, security, and policy requirements as human- a… | 89 | 3097 | active |
| rewire rewire is a Node.js library that adds special setter and getter methods to CommonJS modules so tests can inject mocks, override private var… | 51 | 3089 | active |
| symfony/panther Symfony Panther is a PHP library for browser testing and web scraping that drives real browsers (Chrome, Firefox) via the W3C WebDriver pro… | 66 | 3067 | active |
| Remix Remix Project is a browser-based IDE and compiler toolset for developing, deploying, and debugging Ethereum smart contracts in Solidity and… | 97 | 3057 | active |
| flutter/agent-plugins A collection of official Flutter team plugins that bundle skills, MCP server configuration, and rules to extend AI coding agents with Flutt… | 65 | 3056 | active |
| hegelai/prompttools PromptTools is an open-source Python library for testing, experimenting with, and evaluating prompts, LLMs (OpenAI, Anthropic, LLaMA, etc.)… | 46 | 3056 | active |
| Sonobuoy Sonobuoy is a Go CLI diagnostic tool that runs Kubernetes conformance tests and custom plugins against a cluster to generate informative, n… | 77 | 3051 | active |
| chromium/badssl.com badssl.com is a hosted collection of test subdomains, each deliberately configured with a broken or unusual TLS/SSL setup (expired certific… | 67 | 3051 | active |
| Alinshans/MyTinySTL A C++11 reimplementation of a large portion of the C++ Standard Template Library, including containers, iterators, and algorithms. Original… | 23 | 12474 | maintenance |
| jbogard/Respawn Respawn is a .NET library that intelligently resets test databases to a clean state between integration tests. It analyzes foreign key rela… | 51 | 3027 | active |
| xd009642/tarpaulin Tarpaulin is a code coverage reporting tool for Rust projects built on the Cargo build system. It runs a project's tests and reports line c… | 98 | 3023 | active |
| kevin1024/vcrpy VCR.py is a Python library that records HTTP interactions to cassette files and replays them in later test runs, eliminating real network t… | 94 | 3020 | active |
| microsoft/playwright-dotnet The official .NET port of Playwright, a library for automating Chromium, Firefox, and WebKit browsers through a single API. It supports end… | 94 | 3019 | active |
| symfony/browser-kit Symfony BrowserKit is a PHP component that simulates the behavior of a web browser, enabling programmatic requests, link clicks, and form s… | 93 | 3008 | stable |
| confident-ai/deepteam DeepTeam is an open-source Python framework for red teaming LLM systems, AI agents, RAG pipelines, and chatbots. It simulates adversarial a… | 65 | 3005 | active |
| software-mansion/argent Argent is an agentic toolkit by Software Mansion that gives AI assistants (via an MCP server and skills) direct control of iOS simulators, … | 82 | 3003 | active |
| SadServers/sadservers SadServers is a SaaS platform for practicing Linux and DevOps troubleshooting skills on real ephemeral Linux servers in a Capture-the-Flag … | 75 | 2993 | active |
| tajo/ladle Ladle is a fast, zero-configuration environment for developing, testing, and documenting React components using the Component Story Format.… | 69 | 2989 | active |
| klee/klee KLEE is a dynamic symbolic execution engine and symbolic virtual machine built on LLVM, which executes programs with symbolic inputs to aut… | 88 | 2985 | active |
| nsubstitute/NSubstitute NSubstitute is a mocking library for .NET that generates substitute instances for interfaces and virtual members with a succinct, natural s… | 94 | 2978 | stable |
| mitsuhiko/insta Insta is a snapshot (approval) testing library for Rust that asserts values against managed reference snapshots. It includes a companion ca… | 98 | 2971 | stable |
| Database Cleaner A set of Ruby gems providing strategies for cleaning databases, primarily to ensure a clean state during tests. It supports multiple ORMs a… | 67 | 2967 | active |
| rust-headless-chrome/rust-headless-chrome A Rust library providing a high-level API to control headless Chrome or Chromium via the DevTools Protocol, serving as the Rust equivalent … | 79 | 2952 | active |
| softwaremill/elasticmq ElasticMQ is an in-memory message queue system that implements an Amazon SQS-compatible REST interface. It can run stand-alone (including v… | 86 | 2950 | active |
| microsoft/restler-fuzzer RESTler is the first stateful REST API fuzzing tool, automatically testing cloud services through their REST APIs to find security and reli… | 67 | 2946 | active |
| linux-can/can-utils A collection of Linux user-space utilities for the SocketCAN subsystem, written in C. It includes tools to display, send, generate, record,… | 67 | 2939 | active |
| Renode Renode is an open-source simulation and virtual development framework for complex embedded systems, letting you run unmodified firmware on … | 85 | 2938 | active |
| VibiumDev/vibium Vibium is a browser automation tool built on WebDriver BiDi that gives AI coding agents a way to verify their work by driving a real browse… | 80 | 2935 | active |
| foss42/apidash API Dash is an open-source, AI-powered cross-platform API client built with Flutter for creating and customizing HTTP and GraphQL requests,… | 66 | 2929 | active |
| Karma Karma is a JavaScript test runner that executes tests in multiple real browsers, originally built to make test-driven development easy and … | 58 | 11952 | maintenance |
| testem/testem Testem is a JavaScript test runner that executes tests in real desktop browsers (Chrome, Firefox, Safari, Edge), Node, or custom launchers.… | 98 | 2918 | active |
| hmlongco/Factory Factory is a lightweight, compile-time safe dependency injection library for Swift and SwiftUI, built around container-based factory regist… | 99 | 2917 | active |
| GHDL GHDL is an open-source analyzer, compiler, simulator, and experimental synthesizer for the VHDL hardware description language, supporting I… | 79 | 2907 | active |
| jest-community/vscode-jest A VS Code extension that integrates Jest testing directly into the editor, providing TestExplorer integration, watch mode, coverage display… | 55 | 2889 | active |
| addyosmani/web-quality-skills A collection of Agent Skills for optimizing web quality using Lighthouse, Chrome DevTools, Core Web Vitals, WCAG, and SEO guidance. It is s… | 57 | 2886 | active |
| Trusted-AI/AIF360 AI Fairness 360 is an open-source Python and R library from IBM Research providing fairness metrics, explanations, and bias mitigation algo… | 58 | 2872 | active |
| QMUI/LookinServer LookinServer is the iOS-side framework that pairs with the free Lookin macOS app to inspect and modify views in a running iOS app, similar … | 23 | 2867 | active |
| cashapp/turbine Turbine is a small Kotlin testing library for kotlinx.coroutines Flow. It wraps flows in a Turbine channel-based API with awaitItem/awaitCo… | 67 | 2864 | active |
| typegoose/mongodb-memory-server A Node.js library that programmatically downloads and spins up real MongoDB server binaries for testing, holding data in memory with zero o… | 97 | 2852 | active |
| nut.js nut.js is a cross-platform native UI automation and testing library for Node.js/TypeScript that controls mouse, keyboard, screen, and windo… | 23 | 2851 | active |
| AssertJ AssertJ is a Java library providing a rich set of strongly-typed, fluent assertions for unit testing with JUnit, TestNG, or any other test … | 85 | 2849 | stable |
| pexpect/pexpect Pexpect is a pure Python, Expect-like module for spawning and controlling interactive child applications in a pseudo-terminal. It lets scri… | 26 | 2849 | stable |
| WordPress/WordPress-Coding-Standards A set of PHP_CodeSniffer rules (sniffs) that enforce WordPress coding conventions in PHP code. It integrates with PHPCS, IDEs, and CI pipel… | 86 | 2834 | active |
| tokio-rs/loom Loom is a testing tool for concurrent Rust code that exhaustively explores possible interleavings of concurrent executions under the C11 me… | 50 | 2834 | active |
| sorry-cypress/sorry-cypress Sorry Cypress is an open-source, self-hosted alternative to the Cypress Dashboard that provides unlimited test parallelization, screenshots… | 38 | 2808 | active |
| BurntSushi/quickcheck A Rust library for automated property-based testing that randomly generates inputs for property functions and shrinks failing cases to mini… | 62 | 2803 | stable |
| ColinIanKing/stress-ng stress-ng is a command-line stress testing tool with 380+ stressors that exercise CPU, memory, filesystem, and OS kernel interfaces. It is … | 94 | 2793 | active |
| google/truth Truth is a fluent assertion library for Java and Android tests, maintained by the Guava team and used widely in Google's codebase. It provi… | 67 | 2793 | stable |
| ReactorKit/ReactorKit ReactorKit is a Swift framework for reactive and unidirectional application architecture, combining Flux patterns with reactive programming… | 56 | 2785 | active |
| flawiddsouza/Restfox Restfox is an offline-first, minimalistic HTTP and WebSocket testing client available as a web app (PWA) and desktop application. It suppor… | 77 | 2772 | active |
| DynamoRIO/drmemory Dr. Memory is a memory debugger that detects memory errors such as uninitialized reads, heap overflows, use-after-free, double frees, and m… | 60 | 2754 | active |
| bitwes/Gut GUT (Godot Unit Test) is a unit testing framework for the Godot game engine that lets you write tests for GDScript in GDScript. It includes… | 82 | 2750 | active |
| cobrateam/splinter Splinter is a Python library providing a simple, consistent API for browser automation and web application acceptance testing. It abstracts… | 36 | 2750 | active |