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 |
|---|---|---|---|
| gotestyourself/gotestsum gotestsum is a Go test runner that wraps 'go test -' to produce human-friendly formatted output and a test run summary. It also writes JUni… | 61 | 2728 | stable |
| gavv/httpexpect httpexpect is a Go library providing concise, declarative end-to-end HTTP and REST API testing via chainable request builders and response/… | 43 | 2724 | stable |
| WebDriverManager WebDriverManager is an open-source Java library that automates the management (download, setup, and maintenance) of browser drivers require… | 98 | 2691 | stable |
| yaojingang/yao-meta-skill Yao Meta Skill (YAO = Yielding AI Outcomes) is a Python-based system for engineering, evaluating, packaging, and governing reusable AI agen… | 56 | 2688 | active |
| openjdk/jmh JMH is the Java Microbenchmark Harness, a tool for building, running, and analysing nano/micro/milli/macro benchmarks on the JVM. It genera… | 70 | 2684 | stable |
| Cucumber Godog is the official Cucumber BDD framework for Go, letting teams write executable specifications in Gherkin's Given/When/Then format. It … | 84 | 2679 | active |
| ealush/vest Vest is a declarative validation framework for JavaScript/TypeScript that lets you write validation rules like unit tests using a Jest-styl… | 99 | 2668 | active |
| tebeka/selenium A Selenium WebDriver client library for the Go programming language, supporting the W3C WebDriver protocol with Firefox/Geckodriver and Chr… | 32 | 2662 | active |
| ray-x/go.nvim A feature-rich Neovim plugin for Go development, written in Lua, integrating gopls LSP, treesitter, DAP debugging, and AI assistance. It co… | 76 | 2661 | active |
| LibAFL LibAFL is a Rust library of reusable building blocks for constructing custom coverage-guided fuzzers, developed by the AFL++ team. It scale… | 90 | 2649 | active |
| google/googlesql GoogleSQL (formerly ZetaSQL) is a C++ analyzer framework that defines a SQL language—grammar, types, data model, semantics, and function li… | 94 | 2641 | active |
| cashapp/paparazzi Paparazzi is a Kotlin library from Cash App that renders Android views and Jetpack Compose screens as snapshots inside plain JVM tests, wit… | 90 | 2634 | active |
| nalexn/ViewInspector A Swift library for unit testing SwiftUI views by traversing the view hierarchy at runtime and exposing the underlying view structs. It use… | 88 | 2632 | active |
| alexfernandez/loadtest A Node.js CLI tool and library that runs load tests against HTTP or WebSocket URLs, with an Apache ab-compatible interface plus a --rps opt… | 57 | 2632 | active |
| NUnit NUnit is a unit-testing framework for all .NET languages, supporting everything from TDD unit tests to full system and integration testing.… | 93 | 2628 | stable |
| processone/tsung Tsung is a multi-protocol distributed load testing and benchmarking tool written in Erlang. It simulates thousands of clients to test the s… | 60 | 2628 | active |
| Testcontainers Testcontainers for Node.js is a TypeScript library that spins up lightweight, throwaway Docker containers of real dependencies like databas… | 98 | 2616 | active |
| Please Please is a high-performance, extensible, cross-language build system written in Go, emphasizing hermetic, reproducible builds with aggress… | 97 | 2616 | active |
| raviqqe/muffet Muffet is a fast website link checker written in Go that recursively scrapes and inspects all pages of a website for broken links. It suppo… | 95 | 2616 | active |
| googleprojectzero/winafl WinAFL is a Windows fork of American Fuzzy Lop (AFL) for coverage-guided fuzzing of Windows binaries, including closed-source black-box tar… | 61 | 2612 | active |
| linux-test-project/ltp The Linux Test Project is a collection of test suites and tools for validating the reliability, robustness, and stability of the Linux kern… | 91 | 2609 | active |
| integralfx/MemTestHelper A C# WPF desktop application that automates running HCI MemTest for verifying RAM stability during memory overclocking. It is part of the i… | 23 | 2602 | active |
| Netflix/pollyjs Polly.JS is a standalone, framework-agnostic JavaScript library for recording, replaying, and stubbing HTTP interactions in both Node and t… | 39 | 10249 | maintenance |
| google/jimfs Jimfs is an in-memory file system for Java 8+ that implements the java.nio.file abstract file system APIs. It lets code create and use virt… | 85 | 2563 | stable |
| agronholm/anyio AnyIO is a high-level asynchronous concurrency and networking library for Python that runs on top of either asyncio or Trio. It provides Tr… | 93 | 2556 | stable |
| tsdjs/tsd tsd is a CLI tool and library for testing TypeScript type definitions (.d.ts files). It statically analyzes .test-d.ts files containing ass… | 38 | 2553 | active |
| sparrowapp-dev/sparrow-app Sparrow is an open-source, AI-powered desktop and web application for API testing, debugging, documentation, and team collaboration, positi… | 74 | 2550 | active |
| cocotb/cocotb cocotb is a coroutine-based Python framework for writing testbenches that verify VHDL, Verilog, and SystemVerilog RTL designs via cosimulat… | 86 | 2538 | stable |
| nelmio/alice Nelmio Alice is a PHP library for generating expressive fixtures and fake data, built on top of FakerPHP. It lets developers define complex… | 74 | 2538 | active |
| qlustered/deepdiff DeepDiff is a Python library for deep comparison, search, and hashing of arbitrary Python objects, including nested dictionaries and iterab… | 83 | 2530 | active |
| SpectoLabs/hoverfly Hoverfly is a lightweight open-source API simulation and service virtualization tool written in Go. It captures HTTP/HTTPS traffic and repl… | 97 | 2524 | active |
| r-lib/devtools devtools is an R package that streamlines R package development with functions for loading, documenting, testing, building, and installing … | 85 | 2519 | stable |
| paratestphp/paratest ParaTest is a CLI tool that runs PHPUnit test suites in parallel across multiple processes. It requires zero configuration and can combine … | 98 | 2511 | active |
| microsoft/debugpy debugpy is Microsoft's Python debugger implementing the Debug Adapter Protocol (DAP). It supports running scripts with debugging enabled, a… | 91 | 2475 | active |
| symfony/phpunit-bridge A Symfony component providing utilities for PHPUnit, most notably management and reporting of user deprecation notices. It also offers Cloc… | 96 | 2463 | stable |
| xdissent/ievms A shell script that automates downloading and installing Microsoft's IE App Compat virtual machine images (IE6 through IE11 and MSEdge) int… | 23 | 9760 | maintenance |
| modernweb-dev/web Modern Web is a collection of guides, tools, and libraries for modern web development, built on web standards with minimal abstraction. Its… | 93 | 2452 | active |
| abseil/abseil-py Abseil Python Common Libraries (absl-py) is a collection of Python library code extracted from Google's production codebase. It provides ap… | 85 | 2451 | stable |
| RevylAI/greenlight Greenlight is an offline CLI compliance scanner that checks mobile apps against Apple App Store Review Guidelines and Google Play Developer… | 65 | 2436 | active |
| beberlei/assert A thin PHP assertion library providing assertions and guard methods for input validation in business models, libraries, and low-level appli… | 72 | 2434 | stable |
| Soda Core Soda Core is a data quality and data contract verification engine that lets teams define data quality contracts in YAML and validate schema… | 97 | 2431 | active |
| tapjs Node-tap is a Test-Anything-Protocol (TAP) test framework for JavaScript and TypeScript, providing a test runner CLI, assertion library, sn… | 94 | 2426 | active |
| aloisdeniel/flutter_device_preview A Flutter package that simulates how a running app looks and behaves on other devices — screen size, pixel ratio, safe areas, locale, text … | 82 | 2407 | active |
| FrancyJGLisboa/agent-skill-creator Agent Skill Creator is a Python tool that turns human expertise (sentences, documents, scripts) into tested, installable agent skills for A… | 60 | 2404 | active |
| antonbabenko/terraform-skill An Agent Skills-compatible plugin that gives AI coding agents (Claude Code, Cursor, Copilot, Gemini CLI, etc.) best-practice knowledge for … | 69 | 2399 | active |
| open-wc/open-wc Open Web Components (open-wc) is a collection of guides, recommendations, generators, and tools for developing web components in JavaScript… | 88 | 2398 | active |
| gkamradt/needle-in-a-haystack A benchmarking tool (niah / needlehaystack) that pressure-tests LLM long-context retrieval by sweeping context length x needle depth cells … | 66 | 2397 | active |
| nvh95/jest-preview Jest Preview is an npm library and CLI that renders the DOM output of Jest tests in a browser so developers can visually debug UI tests ins… | 62 | 2392 | active |
| google/souper Souper is a superoptimizer for LLVM IR that uses SMT solvers (like Z3) to synthesize shorter, equivalent instruction sequences. It identifi… | 10 | 2386 | active |
| oguimbal/pg-mem pg-mem is an in-memory emulation of a PostgreSQL database written in TypeScript, usable in Node.js or the browser. It lets you run SQL quer… | 50 | 2368 | active |
| uptrain-ai/uptrain UpTrain is an open-source Python platform for evaluating and improving LLM applications, offering 20+ preconfigured evaluation checks cover… | 23 | 2366 | active |
| jtpereyda/boofuzz boofuzz is a Python-based network protocol fuzzing framework and the successor to the Sulley Fuzzing Framework. It provides data generation… | 66 | 2365 | active |
| onsi/gomega Gomega is a matcher/assertion library for Go, best paired with the Ginkgo BDD test framework but usable with standard Go tests. It provides… | 98 | 2356 | stable |
| googleprojectzero/fuzzilli Fuzzilli is a coverage-guided fuzzer for JavaScript engines, built in Swift by Google Project Zero. It generates test programs via a custom… | 67 | 2354 | active |
| shinydevelopment/SimulatorStatusMagic SimulatorStatusMagic modifies the iOS Simulator's status bar to show a perfect, Apple-marketing-style state (9:41 AM, full battery, full si… | 74 | 2349 | active |
| jest-community/jest-extended jest-extended is a TypeScript library that adds many additional assertion matchers to Jest's expect API, covering arrays, strings, numbers,… | 81 | 2348 | active |
| testing-library/user-event user-event is a companion library for Testing Library that simulates real user interactions with the DOM by dispatching the full sequence o… | 94 | 2331 | active |
| marmelab/gremlins.js gremlins.js is a JavaScript monkey testing library for Node.js and the browser that unleashes random user-like actions (clicking, typing, s… | 23 | 9096 | maintenance |
| inbucket/inbucket Inbucket is a self-hosted disposable webmail (email testing) server that accepts messages for any address via built-in SMTP and exposes the… | 88 | 2309 | stable |
| testcontainers/testcontainers-python Testcontainers for Python is a library providing a friendly API to spin up Docker containers (databases, browsers, etc.) as runtime environ… | 89 | 2304 | active |
| Snaipe/Criterion Criterion is a cross-platform unit testing framework for C and C++ that automatically registers tests and provides a xUnit-style structure … | 67 | 2304 | active |
| PHPCompatibility A set of sniffs (rules) for PHP_CodeSniffer that checks PHP code for cross-version compatibility. It analyses codebases for compatibility w… | 77 | 2303 | active |
| danielpaulus/go-ios go-ios is a cross-platform, open-source implementation of iOS device automation features written in Go, usable as a CLI or Go library. It e… | 92 | 2290 | active |
| benkeen/generatedata Generatedata is a self-hosted web application and engine for generating random test data in many formats such as CSV, SQL, and JSON. It shi… | 86 | 2285 | active |
| Azure/Azurite Azurite is a lightweight, open-source emulator of Azure Storage that simulates the Blob, Queue, and Table services with minimal dependencie… | 88 | 2276 | active |
| preservim/vimux Vimux is a Vim plugin that lets you easily interact with tmux from within Vim, such as spawning a small tmux pane to run commands without l… | 50 | 2276 | stable |
| wemake-services/wemake-django-template A bleeding-edge Cookiecutter template for scaffolding Django projects with a strong focus on code quality, security, and scalability. It sh… | 66 | 2275 | active |
| kuberhealthy/kuberhealthy Kuberhealthy is a Kubernetes operator that runs synthetic monitoring checks as short-lived pods, defined via HealthCheck custom resources. … | 99 | 2271 | active |
| MCPJam/inspector MCPJam is an open-source testing and evaluation platform for MCP server developers, providing an inspector playground, OAuth/EMA debugger, … | 83 | 2270 | active |
| agiledragon/gomonkey gomonkey is a Go library that makes monkey patching in unit tests easy, allowing functions, member methods, interfaces, function variables,… | 88 | 2265 | active |
| pypa/cibuildwheel cibuildwheel is a Python tool that runs on CI servers to build and test Python wheels across macOS, Windows, and Linux for multiple Python … | 95 | 2264 | active |
| cameroncooke/AXe AXe is a Swift-based CLI tool for automating and inspecting iOS Simulators on macOS using Apple's private Accessibility APIs and HID input.… | 76 | 2263 | active |
| infection/infection Infection is a mutation testing framework for PHP that mutates source code to find gaps in test suites. It computes a Mutation Score Indica… | 100 | 2261 | active |
| proptest-rs/proptest A Rust crate providing Hypothesis-like property-based testing with automatic test case shrinking. It generates random inputs to verify that… | 66 | 2244 | stable |
| orchestral/testbench Orchestra Testbench is a Laravel testing helper that lets package developers write feature and integration tests by extending a preconfigur… | 95 | 2243 | active |
| PragmaticFlow/NBomber NBomber is a distributed load-testing framework for .NET that lets you write load test scenarios in plain C# or F# with no dependency on pr… | 88 | 2241 | active |
| typelevel/doobie doobie is a pure functional JDBC layer for Scala built on Cats and Cats Effect, providing a monadic API (ConnectionIO) for constructing typ… | 84 | 2225 | active |
| TommyLemon/APIAuto APIAuto is a web-based HTTP API tool combining machine-learning-powered no-code automated testing, code generation with static checks, and … | 80 | 2224 | active |
| dfeneyrou/palanteer Palanteer is a visual nanosecond profiler and logger for C++ and Python programs, with a single-header C++ instrumentation library and most… | 29 | 2215 | active |
| h2non/gock gock is a Go library for declarative HTTP traffic mocking that intercepts outgoing requests via http.RoundTripper and matches them against … | 23 | 2215 | stable |
| Sonic Cloud Real Machine Platform Sonic is an open-source cloud real machine platform for remote control, debugging, and automated testing of mobile devices such as Android,… | 10 | 2209 | active |
| mbj/mutant Mutant is a mutation testing tool for Ruby that systematically mutates your code and verifies your test suite catches each change. It integ… | 91 | 2207 | active |
| matryer/moq Moq is a Go code generation tool that creates mock structs from any Go interface for use in unit tests. It integrates with go generate and … | 81 | 2207 | active |
| Shoulda Shoulda is an umbrella Ruby gem that makes Rails tests easier to write and read by bundling Shoulda Context and Shoulda Matchers. It provid… | 39 | 2204 | stable |
| rswag/rswag Rswag extends rspec-rails request specs with a Swagger-based DSL for describing and testing Rails API operations, then generates OpenAPI (S… | 67 | 2202 | active |
| pointfreeco/swift-dependencies A Swift dependency management library inspired by SwiftUI's environment, for controlling dependencies like API clients, dates, and file acc… | 94 | 2195 | active |
| junit-team/junit4 JUnit 4 is a programmer-oriented unit testing framework for Java, following the xUnit architecture with annotations, assertions, and Hamcre… | 63 | 8512 | maintenance |
| hamcrest/JavaHamcrest JavaHamcrest is the original Java version of Hamcrest, a library of matcher objects that can be combined to create flexible, readable expre… | 23 | 2190 | stable |
| cpeditor/cpeditor CP Editor is a Qt-based, cross-platform IDE designed specifically for competitive programming. It automates compiling, running, and testing… | 88 | 2185 | active |
| Travis CI Travis CI is a hosted continuous integration and deployment platform for GitHub projects, configured via a simple .travis.yml file supporti… | 32 | 8486 | maintenance |
| SergeyPirogov/webdriver_manager A Python library that downloads, resolves, caches, and reuses browser driver binaries for Selenium-based browser automation. It removes the… | 89 | 2181 | active |
| rurban/smhasher SMhasher is a test suite for evaluating the quality and speed of non-cryptographic and cryptographic hash functions. It benchmarks throughp… | 75 | 2177 | active |
| swiftlang/swift-testing Swift Testing is a modern testing package for Swift with expressive, macro-based APIs like #expect for writing unit tests. It supports para… | 100 | 2175 | active |
| steipete/Aspects Aspects is a small Objective-C/Swift library for aspect-oriented programming that hooks into existing methods per class or per instance usi… | 10 | 8414 | maintenance |
| mistweaverco/kulala.nvim Kulala.nvim is a Neovim plugin providing a fully-featured HTTP, GraphQL, gRPC, and WebSocket client interface inside the editor. It support… | 82 | 2168 | active |
| smartystreets/goconvey GoConvey is a Go testing tool that integrates with `go test`, offering a BDD-style DSL (Convey/So assertions) plus an auto-updating web UI … | 23 | 8404 | maintenance |
| erikdoe/ocmock OCMock is an Objective-C implementation of mock objects for unit testing, supporting stubs, dynamic mocks, partial mocks, and strict expect… | 23 | 2165 | stable |
| bytedance/flutter_ume UME is an in-app debug kits platform for Flutter applications, providing 13 built-in plugin kits for UI inspection, device info, and perfor… | 10 | 2159 | active |
| FitNesse FitNesse is a fully integrated, stand-alone acceptance testing framework combined with a wiki, written in Java. It lets teams collaborative… | 59 | 2149 | stable |
| vvb2060/KeyAttestation An Android app for generating, parsing, and verifying Android key and ID attestation data. It performs self-testing locally with no network… | 39 | 2137 | active |