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 |
|---|---|---|---|
| Playwright Playwright is an open‑source framework for web automation and end‑to‑end testing. It provides a single API to control Chromium, Firefox, an… | 100 | 98243 | active |
| Playwright Playwright is a framework for web testing and browser automation that drives Chromium, Firefox, and WebKit through a single API, available … | 100 | 98243 | stable |
| puppeteer/puppeteer Puppeteer is a JavaScript/TypeScript library that provides a high‑level API to control Chrome or Firefox via the DevTools Protocol or WebDr… | 95 | 95714 | active |
| LocalStack LocalStack is a fully functional local AWS cloud stack that emulates dozens of AWS services. It lets developers build, test, and debug clou… | 10 | 65143 | active |
| Cypress Cypress is a fast, easy-to-use testing framework for end‑to‑end and component testing of web applications. It runs directly in the browser … | 98 | 51046 | active |
| Bruno Bruno is an open-source desktop IDE for exploring and testing REST and GraphQL APIs, positioned as a lightweight alternative to Postman and… | 98 | 47313 | active |
| jestjs/jest Jest is a JavaScript testing framework that provides a complete and easy-to-use solution for unit, integration, and snapshot testing. It ru… | 98 | 45485 | active |
| Black Black is an opinionated, deterministic Python code formatter that reformats code to a single consistent style. It runs as a CLI, integrates… | 94 | 41865 | stable |
| ShellCheck ShellCheck is a GPLv3 static analysis tool that finds bugs, pitfalls, and style issues in bash/sh shell scripts. It runs from the terminal,… | 68 | 40190 | stable |
| google/googletest GoogleTest is Google's C++ xUnit testing and mocking framework, merging the formerly separate GoogleTest and GoogleMock projects. It provid… | 84 | 39642 | stable |
| Playwright A Model Context Protocol (MCP) server from Microsoft that exposes Playwright browser automation capabilities to LLMs and MCP clients. It le… | 83 | 38481 | active |
| Selenium Selenium is an open‑source umbrella project that provides tools and libraries for automating web browsers. It implements the W3C WebDriver … | 99 | 34559 | active |
| k6 k6 is an open‑source load‑testing tool written in Go with a JavaScript/TypeScript scripting engine. It lets developers define performance t… | 99 | 31932 | active |
| k6 Grafana k6 is an open-source load and performance testing tool with a Go-based engine and tests written in JavaScript or TypeScript. It sup… | 99 | 31932 | stable |
| locustio/locust Locust is an open-source load and performance testing framework where test scenarios are written in plain Python code. It supports distribu… | 95 | 28227 | active |
| Floci Floci is a free, open-source local AWS emulator that runs 83 AWS services (S3, SQS, DynamoDB, Lambda, ECS, and more) on your machine via Do… | 83 | 26923 | active |
| stretchr/testify Testify is a Go library that provides a rich set of testing utilities, including easy-to-use assertions, mocking support, and test suite ma… | 87 | 26219 | active |
| tsenart/vegeta Vegeta is a versatile HTTP load testing tool and Go library that drills HTTP services with a constant request rate. It is usable both as a … | 68 | 25203 | stable |
| Mocha Mocha is a feature‑rich JavaScript test framework that runs on Node.js and in the browser. It provides a flexible BDD/TDD interface, asynch… | 99 | 22902 | active |
| Mocha Mocha is a feature-rich JavaScript test framework that runs on Node.js and in the browser, supporting TDD and BDD styles with flexible inte… | 99 | 22902 | stable |
| Appium Appium is an open‑source automation framework that enables UI testing of native, hybrid, mobile web and desktop applications. It implements… | 94 | 22094 | active |
| jsdom jsdom is a pure‑JavaScript implementation of the DOM, HTML, and related web standards for Node.js. It lets you create and manipulate a virt… | 95 | 21716 | active |
| jsdom jsdom is a pure-JavaScript implementation of web standards like the WHATWG DOM and HTML Standards for Node.js. It emulates enough of a web … | 95 | 21716 | active |
| catchorg/Catch2 Catch2 is a modern, C++-native unit testing framework supporting TDD and BDD styles, with no external dependencies. It also provides basic … | 94 | 21515 | stable |
| AVA AVA is a fast, minimal test runner for Node.js that provides a concise API and runs tests concurrently. It isolates each test file, support… | 78 | 20824 | active |
| AVA AVA is a minimalist test runner for Node.js with a concise API, detailed error output, and concurrent test execution in isolated worker thr… | 78 | 20824 | active |
| didi/DoKit DoKit (DoraemonKit) is an efficiency platform for the full lifecycle of pan-frontend product development, offering in-app debug toolkits fo… | 78 | 20418 | active |
| PHPUnit PHPUnit is a programmer‑oriented unit testing framework for PHP, following the xUnit architecture. It can be installed via PHAR or Composer… | 95 | 20066 | active |
| segment-boneyard/nightmare Nightmare is a high-level browser automation library for JavaScript. It provides a simple API to control Chromium or Electron for tasks lik… | 23 | 19772 | active |
| testing-library/react-testing-library React Testing Library is a lightweight JavaScript library that provides utilities for testing React components by interacting with the DOM … | 89 | 19655 | active |
| Faker Faker is a Python library that generates realistic fake data such as names, addresses, and text. It is commonly used for populating databas… | 94 | 19447 | active |
| Faker Faker is a Python library that generates realistic fake data such as names, addresses, and text. It is commonly used to seed databases, cre… | 94 | 19447 | stable |
| probelabs/goreplay GoReplay is an open‑source command‑line tool that captures live HTTP traffic from a network interface and replays it against a test environ… | 48 | 19323 | active |
| Orange-OpenSource/hurl Hurl is a command‑line tool written in Rust that executes HTTP requests defined in a simple plain‑text format. It can also assert on respon… | 80 | 19214 | active |
| Keploy Keploy is an open‑source, code‑less testing platform that records real API traffic and database interactions to generate automated integrat… | 96 | 18641 | active |
| Keploy Keploy is a developer-centric API and integration testing platform that records real application traffic, database queries, and streaming e… | 96 | 18641 | active |
| Mock Service Worker Mock Service Worker (MSW) is an API mocking library for JavaScript that intercepts HTTP, GraphQL, and WebSocket requests in browsers via th… | 94 | 18275 | stable |
| Vitest Vitest is a next-generation JavaScript/TypeScript testing framework built on top of Vite, offering Jest-compatible APIs with fast watch mod… | 94 | 17202 | stable |
| Semgrep Semgrep is a fast, open-source static analysis tool that searches code, finds bugs, and enforces secure coding standards using rules that l… | 95 | 16978 | active |
| budtmo/docker-android Docker-Android is a Docker image that runs Android emulators with configurable device profiles, noVNC screen viewing, log sharing, and vide… | 97 | 15950 | active |
| Jasmine Jasmine is a behavior-driven development (BDD) testing framework for JavaScript that runs in browsers and Node.js. It provides a clean desc… | 91 | 15811 | stable |
| Maestro Maestro is an open-source end-to-end UI testing framework for Android, iOS, and web apps that uses human-readable YAML flows interpreted at… | 95 | 15739 | active |
| facebook/infer Infer is a static analysis tool, written in OCaml, that detects bugs in Java, C, C++, Objective-C, and Erlang code before it ships. It inte… | 80 | 15722 | active |
| microsoft/pyright Pyright is a full-featured, standards-based static type checker for Python built by Microsoft, designed for high performance on large codeb… | 98 | 15694 | active |
| Faker Faker is a TypeScript library for generating massive amounts of realistic fake data such as names, addresses, dates, and financial records … | 92 | 15518 | stable |
| Mockito Mockito is the most popular mocking framework for unit tests written in Java, with a clean API for creating test doubles and verifying inte… | 81 | 15457 | stable |
| web-infra-dev/midscene Midscene.js is an open-source TypeScript SDK that acts as a GUI agent for E2E testing and UI automation, using multimodal vision models to … | 85 | 15063 | active |
| Playwright for Python Playwright for Python is a library to automate Chromium, Firefox, and WebKit browsers with a single API, supporting both sync and async Pyt… | 95 | 15058 | stable |
| pytest-dev/pytest pytest is a mature Python testing framework that makes it easy to write small tests with plain assert statements while scaling to complex f… | 87 | 14539 | stable |
| Playwright A command-line interface for Playwright browser automation designed for coding agents like Claude Code and GitHub Copilot. It provides toke… | 99 | 14472 | active |
| forwardemail/supertest SuperTest is a Node.js library for testing HTTP servers using a fluent, chainable API built on top of superagent. It provides high-level HT… | 99 | 14401 | stable |
| PHPStan PHPStan is an open-source static analysis tool for PHP that discovers bugs in code without running it. It understands PHPDocs, supports gen… | 94 | 14125 | stable |
| MeterSphere MeterSphere is an open-source continuous testing platform with a built-in AI assistant for generating test cases. It combines test case man… | 94 | 13584 | active |
| rust-lang/rust-clippy Clippy is the official Rust linter, a collection of over 800 lints that catch common mistakes and suggest more idiomatic code. It integrate… | 76 | 13558 | stable |
| chromedp chromedp is a Go library for driving Chrome and other browsers via the Chrome DevTools Protocol, with no external dependencies. It supports… | 98 | 13301 | active |
| nock/nock Nock is an HTTP server mocking and expectations library for Node.js. It intercepts HTTP requests made by code under test and returns predef… | 94 | 13126 | stable |
| seleniumbase/SeleniumBase SeleniumBase is an all-in-one Python browser automation framework for web testing, crawling, and scraping, built on Selenium/WebDriver with… | 93 | 13040 | active |
| RuboCop RuboCop is a Ruby static code analyzer (linter) and code formatter that enforces the community Ruby Style Guide. It can automatically fix m… | 100 | 12914 | stable |
| google/oss-fuzz OSS-Fuzz is Google's free continuous fuzzing service for open source software, combining fuzzing engines like libFuzzer, AFL++, and Honggfu… | 77 | 12743 | active |
| Atomic Red Team Atomic Red Team is a library of small, portable detection tests mapped to the MITRE ATT&CK framework, letting security teams validate their… | 75 | 12582 | active |
| Shopify/toxiproxy Toxiproxy is a TCP proxy written in Go for simulating network and system conditions such as latency, bandwidth limits, and connection failu… | 65 | 12364 | stable |
| wix/Detox Detox is a gray box end-to-end testing and automation framework for mobile apps, primarily React Native, running tests on real devices and … | 89 | 12031 | active |
| Nightwatch.js Nightwatch.js is an integrated end-to-end testing framework for Node.js built on the W3C Webdriver API, developed at BrowserStack. It suppo… | 82 | 11953 | stable |
| faker-ruby/faker A Ruby library for generating realistic fake data such as names, addresses, emails, phone numbers, and finance details. It supports over 40… | 86 | 11937 | stable |
| robotframework/robotframework Robot Framework is a generic open-source automation framework for acceptance testing, ATDD, and robotic process automation (RPA). It uses a… | 96 | 11916 | stable |
| Pest Pest is an elegant PHP testing framework built on top of PHPUnit, offering a functional test API with expressive expect() assertions, datas… | 92 | 11724 | active |
| google/osv-scanner OSV-Scanner is Google's official CLI and Go library frontend to the OSV.dev vulnerability database, scanning project dependencies across ma… | 99 | 11184 | active |
| SonarQube SonarQube is a continuous code inspection platform that performs static analysis to track code quality, security vulnerabilities, and techn… | 96 | 11035 | stable |
| mockery/mockery Mockery is a flexible PHP mock object framework for creating test doubles in unit tests. It provides a human-readable DSL for defining expe… | 94 | 10725 | stable |
| super-linter/super-linter Super-linter is a containerized collection of curated linters and code analyzers for many programming languages, runnable as a GitHub Actio… | 88 | 10608 | active |
| axllent/mailpit Mailpit is a lightweight, zero-dependency email and SMTP testing tool for developers that acts as a local SMTP server and captures outgoing… | 95 | 10590 | active |
| tylertreat/comcast Comcast is a Go CLI tool that simulates poor network conditions such as latency, bandwidth limits, and packet loss by wrapping system tools… | 25 | 10516 | stable |
| teamcapybara/capybara Capybara is a Ruby acceptance test framework that simulates how a real user interacts with web applications. It works with multiple drivers… | 70 | 10175 | stable |
| 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… | 56 | 9828 | 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 |
| reviewdog/reviewdog reviewdog is an automated code review CLI that integrates with any linter or static analysis tool regardless of programming language. It pa… | 87 | 9686 | active |
| Checkstyle Checkstyle is a static analysis tool that checks Java source code against configurable coding standards and style rules, such as naming, im… | 99 | 9615 | 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 |
| 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 |
| 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 … | 100 | 8717 | 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 |
| autocannon A fast HTTP/1.1 benchmarking and load-testing tool written in Node.js, inspired by wrk and wrk2. It can be used from the command line or pr… | 56 | 8532 | stable |
| 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 |
| 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 |
| 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 |
| 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… | 96 | 7948 | active |
| 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… | 94 | 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 |
| 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 |
page 1 / 11 next →