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 |
|---|---|---|---|
| TestCafe TestCafe is a free, open-source Node.js framework for automating end-to-end web testing in JavaScript or TypeScript. It drives browsers dir… | 89 | 9896 | active |
| WebdriverIO WebdriverIO is a browser and mobile automation test framework for Node.js supporting the WebDriver, WebDriver BiDi, and Appium protocols. I… | 96 | 9852 | stable |
| Quick/Quick Quick is a behavior-driven development (BDD) testing framework for Swift and Objective-C, inspired by RSpec, Specta, and Ginkgo. It lets de… | 57 | 9828 | stable |
| symfony/console Symfony Console is a PHP component that eases the creation of beautiful and testable command-line interfaces. It provides command registrat… | 93 | 9812 | stable |
| Sinon.JS Sinon.JS is a standalone, test framework agnostic JavaScript library providing test spies, stubs, mocks, and fake timers. It integrates sea… | 66 | 9757 | stable |
| bchavez/Bogus Bogus is a fake data generator library for .NET languages (C#, F#, VB.NET), ported from faker.js with a FluentValidation-inspired fluent AP… | 54 | 9740 | active |
| Airtest Project Airtest Project is a cross-platform UI automation testing framework from NetEase for games and apps, using image recognition to locate UI e… | 63 | 9591 | active |
| apache/jmeter Apache JMeter is a 100% Java open-source application for load testing and measuring the performance of web applications and other services.… | 66 | 9552 | stable |
| PlatformIO PlatformIO Core is a cross-platform Python CLI and build system for embedded firmware development across many architectures (ESP32, ESP8266… | 85 | 9481 | active |
| facebook/chisel Chisel is a collection of LLDB commands implemented in Python that assist in debugging iOS and macOS apps. It extends the LLDB debugger wit… | 52 | 9178 | active |
| HypothesisWorks/hypothesis Hypothesis is the property-based testing library for Python, generating randomized test inputs from user-described strategies and shrinking… | 96 | 9092 | stable |
| Artillery Artillery is an open-source load testing platform and CLI for stress-testing HTTP APIs, GraphQL, WebSocket, Socket.IO, gRPC, and browser ap… | 90 | 9091 | active |
| onsi/ginkgo Ginkgo is a mature BDD-style testing framework for Go that builds on Go's native testing package. It provides an expressive DSL for structu… | 96 | 9058 | stable |
| karatelabs/karate Karate is an open-source Java-based test automation framework that unifies API testing (REST, GraphQL, SOAP, WebSocket), UI browser automat… | 99 | 8985 | active |
| kunchenguid/no-mistakes A local git proxy CLI that intercepts pushes and runs an AI-driven validation pipeline (review, tests, docs, lint) in a disposable worktree… | 81 | 8918 | active |
| Testcontainers Testcontainers is a family of libraries (Java, Go, .NET, Rust, and more) that provides lightweight, throwaway Docker containers for use in … | 88 | 8745 | stable |
| getmoto/moto Moto is a Python library that mocks AWS services so tests can run against simulated AWS infrastructure without real credentials or network … | 99 | 8705 | active |
| OpenShift Origin The openshift/origin repository now primarily maintains the openshift-tests binary, the conformance and end-to-end test suite for OpenShift… | 67 | 8696 | active |
| react-cosmos/react-cosmos React Cosmos is a sandbox for developing and testing React UI components in isolation, with a fixture-based file convention and a playgroun… | 92 | 8685 | active |
| Hardhat Hardhat is an Ethereum development environment for compiling, deploying, testing, and debugging Solidity smart contracts, built on a Rust-p… | 94 | 8509 | active |
| Prophecy Prophecy is a highly opinionated yet powerful and flexible PHP object mocking framework. Originally built for phpspec2, it works with any P… | 74 | 8466 | stable |
| openatx/uiautomator2 A Python library that wraps Android's UiAutomator framework, exposing device automation capabilities over HTTP so scripts can control Andro… | 93 | 8406 | active |
| cross cross is a zero-setup CLI tool for cross compiling and cross testing Rust crates, using Docker or Podman containers to provide complete cro… | 66 | 8330 | active |
| mherrmann/helium Helium is a Python library that provides a high-level, human-friendly API for browser automation on top of Selenium, supporting Chrome and … | 85 | 8318 | active |
| Chai Chai is a BDD/TDD assertion library for Node.js and the browser that can be paired with any JavaScript testing framework. It offers three a… | 98 | 8266 | stable |
| aquasecurity/kube-bench kube-bench is a Go-based tool that checks whether Kubernetes clusters are deployed securely by running the checks documented in the CIS Kub… | 95 | 8216 | active |
| thoughtbot/factory_bot factory_bot is a Ruby library for defining and building test data objects with a straightforward factory definition syntax. It supports mul… | 83 | 8169 | stable |
| evidentlyai/evidently Evidently is an open-source Python framework for evaluating, testing, and monitoring ML and LLM-powered systems, with 100+ built-in metrics… | 97 | 7984 | active |
| gruntwork-io/terratest Terratest is a Go library that makes it easier to write automated tests for infrastructure code such as Terraform, Packer, Docker, Kubernet… | 94 | 7981 | stable |
| chaos-mesh/chaos-mesh Chaos Mesh is an open-source, cloud-native chaos engineering platform for Kubernetes that injects controlled faults (pod, network, DNS, HTT… | 92 | 7938 | active |
| Scientist Scientist is a Ruby library for carefully refactoring critical code paths by running old and new implementations side by side in production… | 66 | 7769 | stable |
| nodejs/undici Undici is a fast HTTP/1.1 client library for Node.js, written from scratch, that also provides WHATWG-compliant fetch, WebSocket, EventSour… | 94 | 7708 | stable |
| axe-core axe-core is an open-source accessibility testing engine for websites and HTML-based UIs, with rules covering WCAG 2.0/2.1/2.2 and ARIA best… | 95 | 7626 | stable |
| jepsen-io/jepsen Jepsen is a Clojure library and framework for verifying the correctness of distributed systems under fault injection. It sets up systems on… | 95 | 7528 | active |
| krausest/js-framework-benchmark A benchmark suite comparing the rendering performance of ~186 JavaScript web frameworks by measuring DOM table operations, memory usage, an… | 95 | 7494 | active |
| mozilla/geckodriver geckodriver is a standalone proxy that exposes the W3C WebDriver protocol over HTTP and translates those calls into Firefox's Marionette re… | 80 | 7477 | stable |
| 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 |
| 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 |
| vektra/mockery mockery is a CLI tool that auto-generates mock implementations for Go interfaces using the stretchr/testify/mock package. It eliminates the… | 96 | 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… | 63 | 7132 | active |
| scikit-learn-contrib/imbalanced-learn imbalanced-learn is a Python library offering re-sampling techniques (over-sampling, under-sampling, and combinations) for datasets with st… | 76 | 7120 | stable |
| GoogleChrome/lighthouse-ci Lighthouse CI is a suite of tools for continuously running, saving, retrieving, and asserting against Lighthouse audit results in a CI pipe… | 79 | 7114 | active |
| autoscrape-labs/pydoll Pydoll is a Python library for automating Chromium-based browsers directly over the Chrome DevTools Protocol, with no WebDriver binary and … | 84 | 7107 | 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 |
| 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… | 87 | 6889 | stable |
| remote-android/redroid-doc redroid (Remote-Android) is a GPU-accelerated Android In Cloud (AIC) solution that boots many Android instances as containers on Linux host… | 66 | 6850 | active |
| 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 |
| AFL++ AFL++ is a superior, actively maintained fork of American Fuzzy Lop, a coverage-guided fuzzer with many mutators, power schedules, and inst… | 92 | 6782 | active |
| cppcheck-opensource/cppcheck Cppcheck is an open-source static analysis tool for C and C++ code that detects bugs, undefined behavior, and dangerous coding constructs w… | 90 | 6774 | 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 |
| mesonbuild/meson Meson is an open-source, high-performance build system written in Python that generates build files for backends like Ninja, Visual Studio,… | 98 | 6644 | stable |
| ChaosBlade ChaosBlade is an open-source chaos engineering toolkit from Alibaba for injecting faults into hosts, applications, and Kubernetes clusters … | 98 | 6461 | 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 |
| axboe/fio Fio is a flexible I/O benchmarking and workload simulation tool that spawns threads or processes performing user-defined I/O patterns via j… | 89 | 6391 | stable |
| google/syzkaller syzkaller is an unsupervised coverage-guided kernel fuzzer originally built for the Linux kernel and now supporting FreeBSD, Fuchsia, gViso… | 77 | 6352 | 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 |
| Trusted-AI/adversarial-robustness-toolbox Adversarial Robustness Toolbox (ART) is a Python library for machine learning security covering evasion, poisoning, extraction, and inferen… | 56 | 6250 | stable |
| 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 |
| asaskevich/govalidator govalidator is a Go package providing validators and sanitizers for strings, numerics, slices, and structs, inspired by validator.js. It su… | 66 | 6202 | stable |
| 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 |
| vavr-io/vavr Vavr (formerly Javaslang) is an object-functional library for Java 8+ providing persistent immutable collections, pattern matching, and fun… | 78 | 6178 | stable |
| C/C++ Extension for VS Code The official Microsoft C/C++ extension for Visual Studio Code, providing IntelliSense editing, code navigation, and debugging support for C… | 98 | 6174 | active |
| alchaincyf/darwin-skill Darwin.skill is an agent skill for Claude Code that autonomously optimizes other SKILL.md agent skills through an evaluate-improve-test-kee… | 58 | 6170 | 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 |
| VeriorPies/ParrelSync ParrelSync is a Unity editor extension that lets developers test multiplayer gameplay without building the project by opening cloned editor… | 58 | 6109 | active |
| Huachao/vscode-restclient A Visual Studio Code extension that lets you send HTTP requests and view responses directly in the editor, supporting GraphQL queries, cURL… | 54 | 6055 | 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 |
| Respect/Validation Respect/Validation is a standalone PHP validation library offering a fluent interface with over 150 fully tested validators. It simplifies … | 94 | 6031 | active |
| postmanlabs/postman-app-support Postman is a widely used API platform for building, testing, designing, and collaborating on APIs, offered as a desktop app and web service… | 75 | 6020 | 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 |
| YMFE/yapi YApi is a self-hostable, visual API management platform for defining, documenting, mocking, and testing HTTP interfaces across developers, … | 23 | 27716 | maintenance |
| samchon/typia Typia is a TypeScript transformer library that compiles pure TypeScript types into super-fast runtime validators, JSON serializers/parsers,… | 93 | 5921 | active |
| Giskard-AI/giskard-oss Giskard is an open-source Python library for testing, evaluating, and red-teaming LLM-based agents and RAG systems. Its v3 rewrite provides… | 95 | 5910 | 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 |
| Kickstarter The open-source Kickstarter iOS mobile application, written in Swift with ReactiveSwift and a functional reactive architecture. It serves a… | 100 | 5787 | active |
| 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 |
| LitmusChaos LitmusChaos is an open-source, CNCF-hosted chaos engineering platform for cloud-native Kubernetes infrastructure. It provides a ChaosCenter… | 100 | 5730 | stable |
| eradman/entr entr is a command-line utility that runs arbitrary commands whenever watched files change, using kqueue or inotify instead of polling. It i… | 76 | 5701 | active |
| 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 |
| 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 |
| 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 |
| epicweb-dev/epic-stack The Epic Stack is an opinionated full-stack web application starter and reference built on Remix, with foundational tooling (auth, testing,… | 79 | 5538 | active |
| miragejs/miragejs Mirage JS is a client-side API mocking library that lets frontend developers build, test, and prototype complete JavaScript applications wi… | 35 | 5531 | stable |
| Speykious/cve-rs cve-rs is a joke/educational Rust crate that reproduces classic memory vulnerabilities (use-after-free, buffer overflow, segfault) using on… | 33 | 5428 | active |
| 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 |