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 |
|---|---|---|---|
| cloudflare/pint pint is a Prometheus rule linter and validator written in Go by Cloudflare. It checks alerting and recording rules for problems, either off… | 98 | 1048 | active |
| splitwise/super_diff SuperDiff is a Ruby gem that provides an intelligent diff engine for comparing complex data structures in RSpec tests. It replaces RSpec's … | 80 | 1048 | active |
| cdklabs/cdk-nag cdk-nag is a library that checks AWS CDK applications and CloudFormation templates for best practices using pre-built rule packs such as AW… | 91 | 1047 | active |
| buffer/thug Thug is a Python low-interaction honeyclient that mimics the behavior of a web browser to detect and emulate malicious web content. It comp… | 92 | 1046 | active |
| rstudio/pointblank pointblank is an R package for methodically validating data in data frames and database tables, producing data quality reports. It also mai… | 79 | 1046 | active |
| KhronosGroup/Vulkan-ValidationLayers Khronos' official Vulkan validation layers that intercept Vulkan API calls to verify correct usage of the explicit Vulkan API, catching err… | 95 | 1045 | active |
| F2etest F2etest is a self-hosted multi-browser compatibility testing solution from Alibaba that provides a cloud of real browsers via Guacamole HTM… | 32 | 3559 | maintenance |
| cms-dev/cms CMS (Contest Management System) is a distributed, self-hosted platform for running and organizing programming contests, originally built fo… | 70 | 1042 | active |
| Vue Test Utils Official unit testing utility library for Vue.js 2 components, providing mount/shallowMount wrappers and DOM interaction helpers. It is the… | 23 | 3544 | maintenance |
| AppiumTestDistribution/AppiumTestDistribution AppiumTestDistribution (ATD) is a Java library for running Appium mobile tests in parallel across connected Android and iOS real devices, e… | 52 | 1040 | active |
| bitjson/typescript-starter An interactive CLI project generator that scaffolds new TypeScript libraries or Node.js projects with preconfigured tooling. It sets up tes… | 32 | 3541 | maintenance |
| forcedotcom/salesforcedx-vscode The official Salesforce Extensions for Visual Studio Code, providing Salesforce DX development tooling including Apex language support, deb… | 95 | 1038 | active |
| Halmos Halmos is a symbolic testing tool for EVM smart contracts, primarily targeting Solidity projects via a Foundry frontend. It leverages exist… | 46 | 1033 | active |
| thoughtbot/fishery Fishery is a TypeScript-first library for defining factories that build JavaScript objects as test data, inspired by Ruby's factory_bot. It… | 62 | 1032 | active |
| microsoft/HydraLab Hydra Lab is a Microsoft open-source framework for building your own cloud testing infrastructure with a center-agent distributed design fo… | 75 | 1030 | active |
| nvim-lua/plenary.nvim A Lua utility library for Neovim providing commonly needed modules such as async coroutines, job control, path handling, directory scanning… | 63 | 3497 | maintenance |
| Microsoft Quantum Development Kit The Microsoft Quantum Development Kit provides tooling for the Q# quantum programming language, including a compiler, language service, sta… | 94 | 1024 | active |
| mattheworiordan/capybara-screenshot A Ruby gem that automatically captures screenshots and HTML snapshots of the page whenever a Capybara-driven test fails in Cucumber, RSpec,… | 50 | 1022 | active |
| alumnium-hq/alumnium Alumnium is an AI-native library and MCP server for end-to-end testing that layers natural-language actions, checks, and data extraction on… | 90 | 1016 | active |
| tarpas/pytest-testmon pytest-testmon is a pytest plugin that tracks dependencies between tests and executed code using coverage data, then selects and runs only … | 50 | 1016 | active |
| authorjapps/zerocode Zerocode TDD is an open-source, no-code automated testing framework for REST/SOAP APIs, Kafka data streams, databases, ETL pipelines, and l… | 92 | 1015 | active |
| robotframework/RIDE RIDE is a desktop IDE built specifically for editing Robot Framework test and task data files. It provides a graphical editor with syntax h… | 90 | 1014 | active |
| aflnet/aflnet AFLNet is a greybox fuzzer for network protocol server implementations, extending American Fuzzy Lop with state-feedback derived from serve… | 39 | 1014 | active |
| sabuhish/fastapi-mail Fastapi-mail is a lightweight Python library for sending emails from FastAPI applications, supporting individual and bulk messages, attachm… | 93 | 1013 | active |
| FFLib Apex Common A common Apex library for Salesforce implementing Apex Enterprise Patterns such as Service Layer, Unit of Work, and Data Mapper. It helps s… | 76 | 1012 | active |
| bouk/monkey A Go library that enables monkey patching of functions and instance methods at runtime by rewriting the running executable to insert jumps … | 10 | 3422 | maintenance |
| samuelcolvin/dirty-equals dirty-equals is a Python library that overloads __eq__ to provide declarative, partial-match assertion helpers for unit tests. It lets you … | 69 | 1007 | active |
| lukas-krecan/JsonUnit JsonUnit is a Java library that simplifies JSON comparison in unit tests. It provides integrations with AssertJ, Hamcrest, Kotest, and Spri… | 77 | 1006 | active |
| attentiveness/reading iReading is an open-source reading app for Android and iOS built with React Native, Redux, Redux-Saga, and react-navigation. It serves as b… | 23 | 3407 | maintenance |
| model-bakers/model_bakery Model Bakery is a Python library that provides smart object factories for creating Django model instances in tests. It auto-fills model fie… | 97 | 1005 | active |
| sc-forks/solidity-coverage solidity-coverage (Solcover) is a Hardhat plugin that measures code coverage for Solidity smart-contract test suites. It instruments contra… | 52 | 1001 | active |
| PSPDFKit-labs/bypass Bypass is an Elixir library for spinning up a lightweight mock HTTP server (a Plug) inside tests to return prebaked responses to client req… | 42 | 1001 | stable |
| pmndrs/react-nil react-nil is a React null renderer that lets you run React components without any view layer, in Node or anywhere else. It provides the ful… | 34 | 1000 | active |
| burke/zeus Zeus is a CLI tool that preloads a Rails (or other Ruby) application so common development commands like console, server, generators, and t… | 87 | 3319 | maintenance |
| MobileNativeFoundation/bluepill Bluepill is a command-line tool that runs iOS UI and unit tests in parallel across multiple simulators on a single macOS machine. Originall… | 23 | 3204 | maintenance |
| Gauge Gauge is a lightweight, cross-platform test automation framework for writing acceptance tests in Markdown-based business-readable specifica… | 99 | 3192 | maintenance |
| alibaba/macaca Macaca is an open-source automation testing solution for native, hybrid, mobile web, and desktop web applications, built on the W3C WebDriv… | 32 | 3183 | maintenance |
| qax-os/goreporter goreporter is a Go CLI tool that concurrently runs a suite of linters (gofmt, govet, golint, staticcheck, errcheck, gocyclo, etc.) plus uni… | 23 | 3122 | maintenance |
| alexforencich/verilog-ethernet A collection of Verilog Ethernet components for FPGA implementation, covering gigabit, 10G, and 25G packet processing with MAC, PCS/PMA PHY… | 32 | 3115 | maintenance |
| lukeed/uvu uvu is an extremely fast and lightweight test runner for Node.js and the browser, with an optional built-in assertion library. It supports … | 66 | 3029 | maintenance |
| boo1ean/casual Casual is a fake data generator library for JavaScript/Node.js that produces random names, addresses, emails, text, and other common data t… | 32 | 3001 | maintenance |
| SalomonBrys/ANR-WatchDog ANR-WatchDog is an Android library that detects Application Not Responding (ANR) errors by watching the UI thread and throwing a meaningful… | 23 | 2977 | maintenance |
| 2d-inc/developer_quest Developer Quest is a Flutter game demo built for Google I/O 2019 where players become a tech lead, slay bugs, and manage a team. It also se… | 32 | 2969 | maintenance |
| curtis0x/fake-s3 Fake S3 is a lightweight Ruby server that mimics the Amazon S3 API, supporting commands like put, get, list, copy, and bucket creation. It … | 10 | 2922 | maintenance |
| aappleby/smhasher SMHasher is a C++ test suite that evaluates the distribution, collision, and performance properties of non-cryptographic hash functions. It… | 69 | 2892 | maintenance |
| MicrosoftDX/Vorlonjs Vorlon.JS is an open-source, extensible, platform-agnostic tool for remotely debugging and testing JavaScript running on any device with a … | 10 | 2891 | maintenance |
| RobotiumTech/robotium Robotium is an Android UI test automation framework for writing black-box functional, system, and acceptance tests for native and hybrid An… | 32 | 2854 | maintenance |
| power-assert Power Assert is a JavaScript assertion library that provides descriptive assertion failure messages through the standard Node.js assert int… | 32 | 2804 | maintenance |
| jeanphix/Ghost.py Ghost.py is a scriptable WebKit-based web client library for Python, built on PySide2/Qt5, allowing programmatic page loading and content i… | 32 | 2752 | maintenance |
| thlorenz/proxyquire A Node.js library that proxies the require function so dependencies can be overridden with stubs or mocks during testing without modifying … | 35 | 2745 | maintenance |
| segmentio/daydream Daydream is a Chrome extension that records your browser actions and generates a Nightmare or Puppeteer script from them. It supports recor… | 10 | 2744 | maintenance |
| tpope/vim-dispatch dispatch.vim is a Vim plugin by Tim Pope that runs builds and test suites asynchronously via adapters like tmux, screen, iTerm, Windows, an… | 32 | 2735 | maintenance |
| tj/should.js should.js is an expressive, readable, BDD-style assertion library for Node.js and browsers that is test framework agnostic. It extends Obje… | 32 | 2731 | maintenance |
| pod4g/hiper Hiper is a Node.js CLI tool that loads a web page repeatedly in a headless Chrome browser and statistically analyzes PerformanceTiming metr… | 32 | 2721 | maintenance |
| eth-brownie/brownie Brownie is a Python-based development and testing framework for Ethereum smart contracts targeting the EVM, supporting Solidity and Vyper. … | 84 | 2719 | maintenance |
| square/spoon Spoon is a tool from Square that distributes Android instrumentation test execution across all connected devices and emulators simultaneous… | 10 | 2682 | maintenance |
| Ganache Ganache is a personal blockchain for Ethereum development, providing a local simulated network with GUI (Electron) and CLI variants for dep… | 10 | 2623 | maintenance |
| alibaba/tidevice A Python-based command-line tool for communicating with iOS devices over USB without needing iTunes or Xcode. It supports app installation/… | 47 | 2605 | maintenance |
| dbt dbt Core is an open-source command-line tool that lets data analysts and engineers transform data in warehouses using SQL select statements… | 95 | 14039 | experimental |
| Serverspec Serverspec is a Ruby library for writing RSpec tests that verify servers are configured correctly, executing commands locally, via SSH, Win… | 64 | 2520 | maintenance |
| GoogleContainerTools/container-structure-test A CLI framework by Google for validating the structure of container images via YAML or JSON test configs. It supports command tests, file e… | 73 | 2499 | maintenance |
| lloyd/node-memwatch A native Node.js module for detecting and isolating memory leaks. It emits leak and heap stats events and provides a HeapDiff class to comp… | 32 | 2498 | maintenance |
| reduxjs/redux-mock-store A mock Redux store for testing async action creators and middleware by recording dispatched actions. The Redux team now deprecates it in fa… | 23 | 2497 | maintenance |
| huggingface/evaluate Hugging Face's library for easily evaluating machine learning models and datasets with dozens of standardized metrics, comparisons, and mea… | 74 | 2491 | maintenance |
| pytest-dev/pytest-testinfra Testinfra is a pytest plugin for writing unit tests in Python that verify the actual state of servers managed by tools like Ansible, Salt, … | 72 | 2478 | maintenance |
| plumatic/schema A Clojure/ClojureScript library for declaratively describing data shapes and validating data against those schemas. It supports descriptive… | 72 | 2463 | maintenance |
| YellowLabTools/YellowLabTools Yellow Lab Tools is a web performance and front-end code quality auditing tool that loads a webpage, collects metrics via Phantomas/Puppete… | 23 | 2461 | maintenance |
| dancryer/PHPCI PHPCI is a free, open-source continuous integration server designed specifically for PHP projects, built with simplicity in mind. It clones… | 10 | 2387 | maintenance |
| didi/sharingan Sharingan is a Go-based traffic recording and replay tool that captures real production request traffic (including downstream calls) and re… | 10 | 2381 | maintenance |
| nizos/tdd-guard TDD Guard is a Claude Code plugin that automatically enforces test-driven development by intercepting agent actions via hooks and blocking … | 73 | 2349 | maintenance |
| onmyway133/PushNotifications A cross-platform desktop app (macOS, Windows, Linux) built with Electron for testing push notifications on iOS and Android. It supports sen… | 23 | 2316 | maintenance |
| madrobby/scriptaculous script.aculo.us is an open-source JavaScript library providing visual effects, animation, drag-and-drop, and interface behaviors, built as … | 32 | 2310 | maintenance |
| GoogleChrome/accessibility-developer-tools A JavaScript library from Google Chrome providing accessibility-related testing and utility code. Its core is an accessibility audit engine… | 10 | 2309 | maintenance |
| specta/specta Specta is a lightweight TDD/BDD testing framework for Objective-C and Cocoa, providing an RSpec-like DSL built on top of XCTest. It offers … | 32 | 2308 | maintenance |
| shaojiankui/SmartPush SmartPush is a macOS desktop application for testing Apple Push Notification service (APNs) deliveries to iOS devices. Built on PushMeBaby,… | 23 | 2287 | maintenance |
| spekframework/spek Spek is a specification-style test framework for Kotlin on the JVM, supporting BDD/TDD-style test writing with a DSL. It provides a runner … | 23 | 2219 | maintenance |
| peerigon/updtr updtr is a CLI tool that updates outdated npm dependencies by installing the latest version and running your test suite for each one, rolli… | 23 | 2209 | maintenance |
| github/accessibilityjs A client-side JavaScript library that scans the DOM for common accessibility errors such as missing alt attributes, unlabeled inputs, and b… | 10 | 2166 | maintenance |
| gabrielfalcao/HTTPretty HTTPretty is a Python library that mocks HTTP clients by intercepting requests at the socket level, faking the entire socket module. It let… | 32 | 2148 | maintenance |
| dapptools Dapptools is a suite of Unix-philosophy CLI tools for Ethereum smart contract development, including dapp (build/test/fuzz/deploy), seth (E… | 23 | 2123 | maintenance |
| DonJayamanne/pythonVSCode The original Python extension for Visual Studio Code, providing IntelliSense, debugging, linting, formatting, refactoring, testing, and Jup… | 49 | 2117 | maintenance |
| naver/ngrinder nGrinder is an enterprise-level performance and stress testing platform consisting of a web-based controller and load-generating agents. It… | 10 | 2101 | maintenance |
| uiautomator A Python wrapper around Android's uiautomator testing framework that lets you control and inspect Android devices over adb from Python code… | 23 | 2097 | maintenance |
| Automattic/expect.js A minimalistic BDD-style assertion library for Node.js and browsers, based on should.js. It provides a chainable expect() API that works st… | 32 | 2092 | maintenance |
| MockyAbstract/Mocky Mocky is a free online service (with self-hostable source) for generating custom HTTP responses to mock web service backends. It consists o… | 23 | 2076 | maintenance |
| marcotcr/checklist CheckList is a Python library for behavioral testing of NLP models, implementing the ACL 2020 paper 'Beyond Accuracy: Behavioral Testing of… | 32 | 2051 | maintenance |
| google/martian Martian is a programmable HTTP/S proxy library written in Go, designed primarily for testing. It lets developers intercept, inspect, and mo… | 10 | 2040 | maintenance |
| powerfulseal/powerfulseal PowerfulSeal is a chaos engineering tool that injects failures into Kubernetes clusters to expose weaknesses before they cause outages. It … | 23 | 1983 | maintenance |
| jorgenschaefer/elpy Elpy is an Emacs package that turns Emacs into a full Python IDE by combining and configuring several Emacs Lisp and Python packages. It pr… | 70 | 1931 | maintenance |
| zalando/SwiftMonkey SwiftMonkey is a Swift framework for randomised monkey testing of iOS apps, generating random user input events through Xcode's UI testing … | 10 | 1931 | maintenance |
| shouldjs/should.js should.js is an expressive, readable BDD-style assertion library for Node.js and browsers that is test framework agnostic. It extends Objec… | 10 | 1888 | maintenance |
| observing/pre-commit An npm package that automatically installs a git pre-commit hook into your repository, running your npm test or other package. scripts befo… | 55 | 1883 | maintenance |
| WebDriverAgent tooling A Python client library for Facebook's WebDriverAgent, enabling programmatic control and testing of iOS devices over HTTP. It implements th… | 71 | 1882 | maintenance |
| Forethought-Technologies/AutoChain AutoChain is a lightweight, extensible Python framework for building custom LLM-powered generative agents with custom tools, inspired by La… | 52 | 1882 | maintenance |
| velesin/jasmine-jquery A JavaScript library that extends the Jasmine testing framework with custom jQuery matchers and an API for loading HTML, CSS, and JSON fixt… | 10 | 1880 | maintenance |
| alibaba/testable-mock TestableMock is a lightweight mocking library for JVM unit tests that replaces methods (including private, static, and constructors) via a … | 32 | 1835 | maintenance |
| lausobo/Nocilla Nocilla is an Objective-C library for stubbing HTTP and HTTPS requests in iOS and macOS unit tests, inspired by WebMock. It intercepts requ… | 23 | 1825 | maintenance |
| vadymmarkov/Fakery Fakery is a Swift port of Ruby's Faker library that generates realistic fake data such as names, addresses, phone numbers, and company info… | 23 | 1822 | maintenance |
| tpope/vim-fireplace A Vim plugin by Tim Pope providing Clojure REPL support via nREPL, with transparent auto-connection to Leiningen, Boot, and Clojure CLI pro… | 32 | 1758 | maintenance |
| intoli/remote-browser Remote Browser is a JavaScript library for programmatically controlling browsers like Chrome and Firefox, built on the standard Web Extensi… | 32 | 1751 | maintenance |