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 |
|---|---|---|---|
| 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 |
| 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 |
| mfussenegger/nvim-lint An asynchronous linter plugin for Neovim (>= 0.9.5) that spawns external linters, parses their output, and reports results via vim.diagnost… | 76 | 2783 | active |
| vim-syntastic/syntastic Syntastic is a Vim plugin that runs external syntax checkers and linters on files and displays errors in the location list. It is now depre… | 10 | 11212 | maintenance |
| 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 |
| 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 |
| 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 |
| Pronto Pronto is a Ruby gem that runs automated code review by analyzing only the changes in a diff rather than the whole codebase. It integrates … | 71 | 2672 | 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 |
| 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 |
| 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 |
| Ericsson/codechecker CodeChecker is an analyzer tooling, defect database and viewer extension for static and dynamic analyzer tools like Clang Static Analyzer a… | 97 | 2630 | 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 |
| phpmetrics/PhpMetrics PhpMetrics is a static analysis tool for PHP that computes quality metrics about projects and classes. It generates a beautiful, readable H… | 83 | 2614 | 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 | 2611 | active |
| yandex/yandex-tank Yandex.Tank is an extensible open-source load and performance testing tool for Linux, supporting multiple load generators such as Phantom, … | 66 | 2599 | 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 |
| terryyin/lizard Lizard is an extensible cyclomatic complexity analyzer supporting many popular languages including C/C++, Java, Python, and JavaScript, wit… | 96 | 2563 | active |
| 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… | 84 | 2563 | 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 |
| 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 |
| kisielk/errcheck errcheck is a static analysis tool for Go that finds silently ignored error return values. It can be run as a CLI or integrated via the go/… | 91 | 2531 | 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 |
| 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 |
| symfony/phpunit-bridge A Symfony component providing utilities for PHPUnit, most notably management and reporting of user deprecation notices. It also offers Cloc… | 95 | 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 |
| phpmd/phpmd PHPMD is a static analysis tool for PHP source code, a PHP equivalent of the Java PMD tool built on top of PHP Depend's metrics. It scans c… | 66 | 2455 | stable |
| 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 |
| 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 |
| 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 |
| tinylibs/tinybench Tinybench is a tiny (~10KB) JavaScript benchmarking library built on Web APIs with accurate timing via process.hrtime or performance.now. I… | 98 | 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 |
| 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 |
| 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… | 73 | 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 | 9100 | maintenance |
| fcsonline/drill Drill is a lightweight HTTP load testing tool written in Rust, designed as a JVM-free alternative to tools like JMeter. Benchmark plans are… | 84 | 2311 | active |
| 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 … | 66 | 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… | 76 | 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… | 91 | 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 |
| 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 |
| 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 |
| tddworks/baguette Baguette is a Swift CLI and WebSocket server that provides headless control of iOS simulators without opening Xcode or Simulator.app. It su… | 82 | 2248 | 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 |
| daimon3332/address A self-hosted web application that generates realistic residential addresses and synthetic test profiles for 27 countries and regions, buil… | 81 | 2226 | 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… | 90 | 2208 | 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 … | 95 | 2204 | 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 |
| pointfreeco/swift-dependencies A Swift dependency management library inspired by SwiftUI's environment, for controlling dependencies like API clients, dates, and file acc… | 93 | 2195 | active |
| joshuayoes/ios-simulator-mcp A Model Context Protocol (MCP) server that lets AI assistants interact with iOS simulators. It exposes tools for booting simulators, taking… | 80 | 2194 | 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 |
| 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 |
| 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… | 99 | 2175 | 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 |
| 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 |
| bcoe/c8 c8 is a CLI tool that generates code coverage reports for Node.js applications using Node's built-in V8 coverage output, formatted with Ist… | 83 | 2122 | active |
| Blazemeter/taurus Taurus (bzt) is an automation-friendly framework for continuous performance and functional testing that wraps tools like JMeter, Gatling, L… | 88 | 2116 | active |
| mountebank-testing/mountebank Mountebank is an open-source service virtualization tool that creates over-the-wire test doubles for many protocols including HTTP, TCP, gR… | 79 | 2105 | active |
| streamich/memfs memfs is a TypeScript library providing in-memory implementations of the Node.js `fs` module API and the browser File System Access API, pl… | 93 | 2095 | active |
| jakerella/jquery-mockjax A jQuery plugin that mocks and simulates ajax requests and responses so front-end code can be tested without a live server. It intercepts $… | 87 | 2084 | stable |
| prospector-dev/prospector Prospector is a Python static analysis tool that aggregates results from tools like Pylint, pycodestyle, and McCabe to report errors, poten… | 93 | 2083 | active |
| jarcoal/httpmock httpmock is a Go library for easily mocking HTTP responses from external resources in tests. It lets you register responders for exact URLs… | 83 | 2078 | stable |
| go-critic/go-critic go-critic is an opinionated Go source code linter offering nearly 100 checks for bugs, performance, and style issues not covered by other l… | 93 | 2076 | active |
| MatrAIx-ai/MatrAIx-Persona-8B MatrAIx is a population-scale, persona-driven evaluation framework that instantiates sampled persona records as LLM agents to simulate hete… | 56 | 2074 | active |
| basecamp/gh-signoff A GitHub CLI extension (written in Shell) that brings CI in-house: you run your test suite on your own machine and then run `gh signoff` to… | 82 | 2073 | active |
| Microcks Microcks is an open source, cloud native platform for API mocking and testing that turns OpenAPI, AsyncAPI, gRPC, GraphQL, Postman and Soap… | 96 | 2067 | active |
| pytest-dev/pytest-cov pytest-cov is a pytest plugin that adds code coverage measurement to pytest runs, built on top of the coverage package. It provides extras … | 75 | 2065 | stable |
| Kong/insomnia-mockbin Insomnia Mockbin is the backend service powering the API mocking capability of Kong's Insomnia platform. It lets developers create custom m… | 67 | 2058 | active |
| test-prof/test-prof TestProf is a Ruby gem providing a toolbox of profilers and helpers for analyzing and speeding up test suites, with integrations for ruby-p… | 74 | 2050 | active |
| pytest-dev/pytest-mock A pytest plugin that provides a `mocker` fixture wrapping the mock package's patching API. It automatically undoes mocks after each test an… | 73 | 2041 | stable |
| SublimeLinter SublimeLinter is the code linting framework for the Sublime Text editor. It provides the core infrastructure for running external linters a… | 88 | 2039 | active |
| ConSol/docker-headless-vnc-container A collection of Docker images providing headless VNC desktop environments with Xfce4 or IceWM, a VNC server, and noVNC HTML5 access. Images… | 62 | 2039 | active |
| ReportPortal ReportPortal is a self-hosted, service-oriented platform for aggregating, analyzing, and visualizing results from automated test runs. It i… | 92 | 2033 | active |
| rubik/radon Radon is a Python CLI tool and library that computes code quality metrics such as cyclomatic complexity, raw metrics (SLOC, comments), Hals… | 32 | 2031 | stable |