Open-Source Testing Frameworks
Guides to open-source testing and QA frameworks — what they cover and how to build a reliable test suite.
In this category
wtf
wtf is a distributed snapshot-based fuzzer for finding vulnerabilities in Windows and Linux targets by executing code within emulators or hypervisors and tracki…
AccessibilitySnapshot
AccessibilitySnapshot is a Swift testing framework that lets iOS developers add regression tests for app accessibility by snapshotting the accessibility hierarc…
AFLplusplus
AFL++ is a high-performance fuzzer for discovering software vulnerabilities through automated test generation. It extends the original AFL with faster instrumen…
Airtest
Airtest is a Python-based UI automation framework designed for cross-platform testing of games and applications on Android, iOS, Windows, and web platforms. It …
allure-docker-service
Allure Docker Service is a containerized solution that automatically generates and serves test reports from Allure Framework results. It monitors a mounted dire…
alumnium
Alumnium is an AI-powered end-to-end testing library that works with Selenium, Playwright, and Appium, letting you write tests in plain language instead of trad…
android-emulator-runner
android-emulator-runner is a GitHub Action that automates Android emulator setup and hardware-accelerated execution for CI/CD pipelines on Linux and macOS. It h…
AndroidViewClient
AndroidViewClient is a Python-based automation tool for Android app testing that interacts with devices via ADB and UI hierarchy inspection. It eliminates britt…
angular-testing-library
Angular Testing Library is a lightweight testing utility for Angular components that emphasizes behavior-driven tests over implementation details. It provides D…
AngusTester
AngusTester is a GPL-3.0 open-source agile development and testing platform targeting SMEs, providing project management, functional testing, API testing, perfo…
APIAuto
APIAuto is an open-source HTTP API testing and documentation tool that uses machine learning to generate no-code test cases, auto-generate code in multiple lang…
apitest
apitest is a Go library for writing behavioral tests of REST APIs and HTTP handlers using a fluent, chainable interface. It supports HTTP mock setup, response a…
appium
Appium is an open-source test automation framework for mobile, desktop, and IoT apps that uses the W3C WebDriver protocol. It supports iOS, Android, macOS, Wind…
appraisal
Appraisal is a Ruby testing library that lets you verify your gem works correctly across different versions of its dependencies. It automates the process of tes…
arbigent
Arbigent is an open-source AI agent testing framework for iOS, Android, Web, and TV apps that breaks complex test scenarios into smaller, dependent tasks. It co…
arkitect
PHPArkitect is a PHP testing framework that lets developers write architectural rules as code and verify them in CI/CD pipelines. It prevents architectural viol…
artillery
Artillery is an open-source load testing platform that supports HTTP, WebSocket, gRPC, and Playwright-based browser testing. It runs distributed tests on AWS La…
assertj
AssertJ is a Java testing library that provides fluent, type-specific assertions for unit tests. It allows developers to write readable test conditions using me…
AutoFixture
AutoFixture is a .NET library that automatically generates test data and object graphs, reducing boilerplate in unit test setup. It integrates with popular mock…
ava
AVA is a Node.js test runner emphasizing concurrent test execution, minimal API, and detailed error output. It isolates test files in separate processes and sup…
awaitility
Awaitility is a Java testing library that simplifies writing tests for asynchronous systems by providing a readable DSL for waiting and polling. Instead of manu…
aws-sdk-client-mock
aws-sdk-client-mock is a TypeScript library for mocking AWS SDK v3 clients in unit tests. It provides a fluent, type-safe API to define mock behavior for specif…
badssl.com
badssl.com is a Chromium-hosted testing site that serves deliberately misconfigured SSL/TLS endpoints to help developers and QA teams verify how their clients h…
bash_unit
bash_unit is a GPL-3.0-licensed unit testing framework for Bash shell scripts, enabling developers to write and run tests with assertions, stack traces, and fai…
bombadil
Bombadil is a property-based testing framework for web and terminal UIs that autonomously explores applications to find bugs early. It runs locally, in CI, and …
bruno
Bruno is an open-source API client IDE for testing and exploring REST, GraphQL, and OpenAPI endpoints. It stores collections as plain-text files in version cont…
busted
Busted is a lightweight Lua unit testing framework designed for simplicity and readability. It supports modern Lua versions (5.1+), includes mocks and spies for…
bypass
Bypass is a lightweight Elixir library that spins up a mock HTTP server for testing. It lets you define prebaked responses to client requests without needing a …
cargo-hack
cargo-hack is a Rust CLI tool that extends Cargo with specialized testing and CI capabilities, including per-feature testing, feature powerset generation, and m…
cargo-mutants
cargo-mutants is a Rust testing tool that automatically injects bugs into your code and checks if your tests catch them. It helps identify gaps in test coverage…
cargo-ndk
cargo-ndk is a Rust build tool that streamlines compilation of Rust projects for Android using the Android NDK. It automates environment setup, target configura…
carina
Carina is a Java-based test automation framework supporting web, mobile (iOS/Android), Windows, REST APIs, and database testing. It unifies multiple testing lay…
cassowary
Cassowary is a lightweight, cross-platform HTTP load testing CLI tool written in Go. It supports multiple concurrent users, file-based URL patterns, and exports…
Catch2
Catch2 is a modern, header-light C++ unit testing framework (v3+) supporting C++14 and later, designed for TDD and BDD workflows with natural syntax and built-i…
cats
CATS is a Java-based REST API fuzzer and negative testing tool for OpenAPI specifications. It automatically generates, executes, and reports thousands of API te…
certificate-ripper
Certificate Ripper is a lightweight CLI tool that extracts SSL/TLS certificates from servers without requiring OpenSSL, supporting multiple protocols (HTTPS, WS…
chaos-monkey-spring-boot
Chaos Monkey for Spring Boot is a testing framework that injects faults into running Spring Boot applications to verify resilience and failure handling. It help…
chapar
Chapar is a native desktop API testing tool written in Go that supports HTTP and gRPC protocols. It provides workspace and environment management, request chain…
chart-testing
chart-testing (ct) is a CLI tool for linting and testing Helm charts, designed to run in CI/CD pipelines. It automatically detects changed charts, validates YAM…
chip8-test-suite
CHIP-8 test suite is a collection of ROM images designed to validate CHIP-8, SUPER-CHIP, and XO-CHIP interpreter implementations. It provides standardized tests…
chispa
Chispa is a Python library that simplifies testing PySpark applications by providing assertion methods that compare DataFrames and columns with readable error m…
chromedp
chromedp is a Go library that controls headless Chrome browsers via the Chrome DevTools Protocol without requiring external dependencies. It simplifies browser …
cli
QA Wolf CLI is a terminal tool for running end-to-end test automation flows locally or in CI/CD pipelines. It integrates with the QA Wolf platform for flow crea…
cmake-init
cmake-init is a Python-based project scaffolding tool that generates opinionated CMake 3.14+ projects with modern best practices built in. It automates boilerpl…
CMock
CMock is a code generator that automatically creates mock objects and stubs from C header files for unit testing. It integrates well with Unity Test and Ceedlin…
Codeception
Codeception is a PHP testing framework that supports acceptance, functional, and unit testing with a BDD-inspired syntax. It allows developers to write human-re…
CodeceptJS
CodeceptJS is a Node.js end-to-end testing framework that abstracts browser automation (Playwright, Puppeteer, WebDriver, Appium) into synchronous, user-centric…
combine-schedulers
combine-schedulers is a Swift library providing custom Combine Framework schedulers designed to make asynchronous publisher testing deterministic and controlled…
cosmic-ray
Cosmic Ray is a mutation testing tool for Python that automatically modifies your code to verify test quality. It runs your test suite against each mutation to …
cuprite
Cuprite is a Ruby library that lets you run Capybara integration tests against headless Chrome or Chromium without needing Selenium or ChromeDriver. It communic…
cypress
Cypress is an open-source end-to-end testing framework for web applications, written in TypeScript and available under the MIT license. It supports testing acro…
cypress-real-events
Cypress Real Events is a Cypress plugin that fires native system events instead of simulated JavaScript events, enabling testing of features like hover states, …
cypress-realworld-app
Cypress Real-World App is a full-stack Express/React payment application designed to teach Cypress testing patterns and workflows through practical, production-…
cypress-testing-library
Cypress Testing Library extends Cypress with DOM Testing Library commands, enabling developers to write e2e tests using accessible query patterns (by label text…
data
@msw/data is a schema-based data querying library designed for testing JavaScript applications. It allows developers to model, seed, and query test data using S…
database_cleaner
Database Cleaner is a Ruby testing utility that provides strategies for resetting databases to a clean state between test runs. It supports multiple databases (…
database_rewinder
DatabaseRewinder is a lightweight Ruby gem that cleans up test database state by tracking which tables were modified during each test and only deleting from tho…
datafaker
Datafaker is a Java library for generating realistic fake data (names, addresses, dates, etc.) useful for testing and development. It's a maintained fork of jav…
deal
Deal is a Python library for design-by-contract programming that lets you add decorators to functions to automatically generate tests, perform static analysis, …
Detox
Detox is an open-source end-to-end testing framework for React Native mobile apps that runs tests on real devices or simulators. It uses a gray box approach (ac…
Difference
Difference is a Swift testing utility that displays property-level diffs when object comparisons fail, replacing cryptic assertion output with clear, readable d…
django-test-plus
django-test-plus is a Python library that extends Django's built-in TestCase with convenience methods to reduce boilerplate when writing tests. It provides help…
doctest
doctest is a single-header C++ testing framework designed for minimal compilation overhead and the ability to write tests directly within production code. It su…
dom-testing-library
DOM Testing Library is a lightweight JavaScript testing utility that helps developers write maintainable UI tests by querying the DOM the way users interact wit…
dusk
Laravel Dusk is a PHP-based end-to-end testing and browser automation framework for Laravel applications. It uses standalone Chromedriver by default but support…
EarlGrey
EarlGrey is a native iOS UI automation testing framework from Google that simplifies writing and maintaining automated tests for iOS apps. It provides automatic…
echidna
Echidna is an open-source Ethereum smart contract fuzzer written in Haskell that uses property-based testing to find bugs by generating random sequences of cont…
faker
Faker is a lightweight Elixir library for generating fake data (names, addresses, emails, etc.) used primarily in testing and database seeding. It requires mini…
enzyme
Enzyme is a JavaScript testing utility for React components that provides a jQuery-like API for rendering, querying, and simulating interactions with React comp…
equalsverifier
EqualsVerifier is a Java testing library that automatically validates whether equals() and hashCode() method implementations follow Java's contract rules. It ca…
evalplus
EvalPlus is a Python framework for rigorously evaluating code generated by large language models using extended test suites (HumanEval+ with 80x more tests, MBP…
EvoMaster
EvoMaster is an open-source, AI-driven fuzzing tool that automatically generates system-level test cases for web APIs (REST, GraphQL, RPC). It uses evolutionary…
ex_machina
ExMachina is a test data factory library for Elixir that simplifies creation of realistic test records and their associations. It works seamlessly with Ecto but…
expecto
Expecto is a testing library for F# that emphasizes parallel, composable tests with built-in support for unit, property-based, stress, and performance testing. …
factory_bot
factory_bot is a Ruby test data library that replaces fixtures with a flexible factory pattern, allowing developers to define and generate test objects easily. …
factory_boy
factory_boy is a Python library that replaces static test fixtures with declarative factories for creating test objects. It simplifies test setup by allowing yo…
faker
Faker is a mature Python library that generates realistic fake data (names, addresses, emails, etc.) for testing, database seeding, and data anonymization. With…
fast-check
fast-check is a property-based testing framework for JavaScript/TypeScript that generates test cases automatically instead of writing individual tests. It catch…
finatra
Finatra is a Scala framework for building fast, testable microservices on top of Twitter's Finagle and TwitterServer. It provides HTTP and Thrift server support…
fixie
Fixie is a .NET test framework that offers a simpler, more flexible alternative to NUnit and xUnit. It emphasizes low-ceremony defaults while allowing extensive…
FlaUI
FlaUI is a .NET library for automating UI testing of Windows applications (WinForms, WPF, Win32, Store Apps). It wraps Microsoft's native UI Automation APIs (UI…
flybirds
Flybirds is a cross-platform BDD UI automation testing framework for web, Android, iOS, Flutter, and React Native applications. It uses natural language syntax …
foundry
Foundry is a Rust-based toolkit for building and testing Ethereum smart contracts, combining a compiler (Forge), transaction tool (Cast), local development node…
FsCheck
FsCheck is a property-based testing tool for .NET that automatically generates random test cases to verify program behavior. It ports Haskell's QuickCheck to .N…
Fuzzing101
Fuzzing101 is a structured educational course teaching fuzzing techniques through 10 hands-on exercises targeting real software (Xpdf, libexif, TCPdump, LibTIFF…
FuzzingPaper
FuzzingPaper is a curated repository collecting recent academic papers on fuzzing research, organized by publication venue and year. It serves as a reference hu…
garden
Garden is a DevOps automation tool that helps teams set up production-like Kubernetes environments for development, testing, and CI on demand. It uses declarati…
gauge
Gauge is a lightweight, cross-platform test automation tool that enables writing acceptance tests in business language (BDD-style) using Markdown. Written in Go…
gdUnit4
GdUnit4 is an embedded unit testing framework for Godot 4 that lets you write and run tests directly in the editor for GDScript and C# code. It supports test-dr…
generatedata
generatedata is an open-source test data generator that produces random data in multiple formats (CSV, SQL, JSON, etc.) across 30+ data types and 32 country-spe…
ginkgo
Ginkgo is a mature BDD testing framework for Go that lets developers write readable, expressive test specs using a DSL similar to RSpec or Jasmine. It integrate…
gnomock
Gnomock is a Go testing toolkit that spins up real Docker containers for dependencies (databases, caches, message queues) instead of using mocks, enabling integ…
go-cmp
go-cmp is a Go testing library that provides a more flexible and safer alternative to the standard reflect.DeepEqual function. It allows developers to define cu…
go-httpbin
go-httpbin is a lightweight, Go-based clone of the httpbin HTTP testing service with zero external dependencies. It runs as a standalone binary, Docker image, o…
go-vcr
go-vcr is a Go testing library that records HTTP interactions during test runs and replays them in future runs, eliminating external API dependencies and making…
gotests
gotests is a Go code generator that automatically creates table-driven test boilerplate from function signatures. It supports Go 1.22+, includes optional AI-pow…
gotestsum
gotestsum is a Go test runner that wraps `go test` to provide human-friendly output formats, JUnit XML export for CI integration, and test summaries. It support…
groovy-geb
Geb is an Apache-licensed browser automation framework that combines WebDriver, jQuery-style selectors, and Groovy scripting for end-to-end testing. It emphasiz…
Hammer
Hammer is a Swift library for iOS that simulates user touch, stylus, and keyboard interactions in unit tests. Built by Lyft and maintained actively, it enables …
HeadlessBrowsers
HeadlessBrowsers is a curated GitHub repository listing nearly all headless web browsers and automation drivers in existence, organized by engine type (Chromium…
helm-unittest
helm-unittest is a BDD-style unit testing framework for Kubernetes Helm charts, packaged as a Helm plugin. It lets you write tests in YAML to validate chart beh…
hoppscotch
Hoppscotch is an open-source API development platform that replaces Postman/Insomnia with offline, on-premise, and cloud options. It supports REST, GraphQL, Web…
hoverfly
Hoverfly is a lightweight, open-source API mocking and service virtualization tool written in Go. It allows developers and testers to replace slow or flaky API …
howtheytest
HowTheyTest is a curated knowledge repository documenting how major software companies approach testing and quality engineering. It aggregates public blog posts…
hspec
hspec is a mature testing framework for Haskell that provides behavior-driven development (BDD) style test specifications. It integrates with property-based tes…
httpexpect
httpexpect is a Go testing library that provides chainable builders for constructing HTTP requests and assertions for validating REST API responses, including J…
httpmock
httpmock is a lightweight HTTP mocking library for Rust that lets you create mock HTTP servers in tests. It supports request matching with regex and JSON, recor…
httprunner
HttpRunner is an open-source test automation framework written in Go that supports API testing, UI automation (Android/iOS/Harmony/Browser), and load testing. I…
hurl
Hurl is a command-line tool that executes HTTP requests defined in plain text files, supporting request chaining, response assertions, and multiple output forma…
HydraLab
HydraLab is an open-source cloud testing platform from Microsoft that helps teams build distributed device farms for automated testing. It supports multiple tes…
Imposter
Imposter is a C# mocking library designed for unit testing that balances performance with ease of use. It uses code generation to create strongly-typed mocks fo…
infection
Infection is a PHP mutation testing framework that verifies code test quality by intentionally introducing bugs (mutations) into your code and checking if tests…
inline-snapshot
inline-snapshot is a pytest plugin for Python that automates snapshot testing by generating and updating expected values directly in test code. It supports mult…
instancio
Instancio is a Java library that automatically generates fully populated test objects with random data, eliminating manual test data setup. It supports nested o…
ios-simulator-skill
iOS Simulator Skill is a Python-based toolset for Claude Code that automates iOS app building, testing, and simulator interaction via xcodebuild and xcrun simct…
jasmine
Jasmine is a mature, MIT-licensed JavaScript testing framework that runs in browsers and Node.js without external dependencies. It supports modern Node versions…
java-dns-cache-manipulator
Java DNS Cache Manipulator is a lightweight, zero-dependency library for programmatically setting and viewing DNS cache entries in JVM processes without modifyi…
jest
Jest is a widely-adopted JavaScript testing framework that works out of the box for most projects. It provides fast test execution, snapshot testing, and watch …
jest-codemods
jest-codemods is an automated migration tool that converts test files from 10+ testing frameworks (Mocha, Chai, AVA, Tape, Jasmine, Sinon, etc.) to Jest syntax.…
jest-dom
jest-dom is a library that extends Jest with custom matchers for testing DOM elements, making test assertions clearer and more readable. It lets you write asser…
jest-extended
jest-extended is a TypeScript library that adds extra assertion matchers to Jest's testing framework, making test code more readable and expressive. It extends …
jest-image-snapshot
jest-image-snapshot is a Jest plugin that captures and compares visual screenshots to detect unintended UI changes. It stores baseline images and flags differen…
jest-in-case
jest-in-case is a Jest utility that simplifies writing parameterized tests by reducing boilerplate. Instead of manually looping through test cases, you define y…
jest-preset-angular
jest-preset-angular is an npm package that provides pre-configured Jest settings for Angular projects, eliminating manual setup. It handles TypeScript compilati…
jest-preview
Jest Preview is a browser-based debugger for Jest tests that lets you visualize your component's HTML and styling in real-time while writing tests. It integrate…
junit-framework
JUnit is the de facto testing framework for Java and JVM languages, maintained by an active open-source team. It provides three main components—Platform, Jupite…
junit-pioneer
JUnit Pioneer is an extension pack for JUnit 5 that provides experimental testing utilities and annotations for Java developers. It acts as an incubator for new…
just-api
Just-API is a declarative test framework for REST and GraphQL APIs that lets you write tests in YAML without coding. It validates responses against status codes…
kaocha
Kaocha is a modern, full-featured test runner for Clojure and ClojureScript that replaces the built-in test framework with a pluggable, configurable alternative…
karate
Karate is an open-source test automation framework that unifies API testing, mock servers, performance testing, and UI automation in a single tool. Written in J…
keploy
Keploy is an open-source API and integration testing platform that automatically generates tests and mocks by recording real traffic at the network layer using …
Kiwi
Kiwi TCMS is an open-source test management system built in Python that supports both manual and automated testing with features like bug tracker integration, a…
kotest
Kotest is a Kotlin testing framework offering assertions, property-based testing, and data-driven tests with multiplatform support (JVM, JS, Native). It is acti…
kumo
Kumo is a lightweight AWS service emulator written in Go that runs as a single binary or Docker container. It supports 81 AWS services and is designed for local…
kuttl
KUTTL is a declarative testing tool for Kubernetes Operators, allowing you to write tests in YAML instead of code. It simplifies validation of operator behavior…
ladle
Ladle is a lightweight development environment for building, testing, and documenting React components. It provides a fast, browser-based playground with built-…
laravel-mail-preview
Laravel Mail Preview is a lightweight PHP package that intercepts emails during development and displays them in a web browser or email client via local file st…
LimApiTest
LimApiTest is a lightweight API testing platform built with TypeScript and Python, designed to simplify interface test automation through streamlined workflows …
mockito
Mockito is a Rust library for creating and running HTTP mocks locally, designed to simplify integration testing and offline development. It supports both sync a…
ltp
Linux Test Project (LTP) is a collaborative, long-running test suite maintained by major Linux vendors that validates kernel and system library stability throug…
maelstrom
Maelstrom is a local testing workbench for learning distributed systems by writing and validating toy implementations. It uses a JSON-based protocol, simulates …
maelstrom
Maelstrom is a test runner for Rust, Go, and Python that isolates each test in its own lightweight container, improving reliability and enabling horizontal scal…
maildev
MailDev is a lightweight Node.js-based SMTP server with a web UI for intercepting and viewing emails during development. It eliminates the need to send test ema…
marathon
Marathon is an open-source test orchestration platform for Android and iOS that prioritizes fast, stable test execution through intelligent parallelization, fla…
meck
Meck is an Erlang mocking library that lets developers dynamically create mock modules, set expectations on function calls, and validate behavior during testing…
microcks
Microcks is an open-source platform for creating live mock APIs and running contract tests from API specifications like OpenAPI, AsyncAPI, gRPC, and GraphQL. It…
midscene
Midscene.js is an open-source, MIT-licensed framework for vision-driven UI automation and testing that works across web browsers, Android, iOS, and desktop appl…
milkman
Milkman is a lightweight, JavaFX-based API workbench designed as a Postman/Insomnia alternative. It supports HTTP, gRPC, GraphQL, WebSocket, JDBC, and other req…
mimesis
Mimesis is a fast Python library for generating realistic fake data across 46 locales, useful for testing, development, and data science workflows. It provides …
mobly
Mobly is a Python test framework designed to automate complex end-to-end testing scenarios involving multiple physical devices (phones, wearables, IoT) and cust…
mocha
Mocha is a widely-used, open-source test framework for JavaScript that runs in Node.js and browsers. It supports multiple assertion libraries and reporting form…
mock-socket
mock-socket is a JavaScript testing library that allows developers to mock WebSocket and Socket.IO connections without a real server. It intercepts WebSocket ca…
MockBukkit
MockBukkit is a Java mocking framework for unit testing Bukkit and PaperMC server plugins. It provides mock implementations of the Bukkit/CraftBukkit server, al…
mockery
Mockery is a Go code generator that automatically creates mock implementations of interfaces for testing. It integrates with the popular testify/mock package to…
mockey
Mockey is a Go mocking library from ByteDance that enables quick mocking of functions, methods, and variables at runtime without requiring interface definitions…
mockhttp
MockHttp is a .NET testing library that replaces HttpClient's underlying handler with a mock, enabling developers to stub HTTP responses without network calls. …
mockito
Mockito is the most widely used mocking framework for Java unit testing, enabling developers to isolate and test code by creating mock objects. It simplifies te…
mockk
MockK is a Kotlin-native mocking library for unit testing that provides a DSL-based syntax for creating mocks, defining behavior, and verifying interactions. It…
MockQueryable
MockQueryable is a .NET library that enables unit testing of Entity Framework Core async queries (ToListAsync, FirstOrDefaultAsync, etc.) against in-memory test…
mocktail
Mocktail is a Dart mocking library that simplifies writing unit and widget tests by providing an intuitive API for creating mock objects without code generation…
mockttp
Mockttp is a TypeScript HTTP mock server and proxy library that lets you intercept, transform, and test HTTP requests in JavaScript and browser environments. It…
molecule
Molecule is an Ansible-native testing framework for developing and validating Ansible collections, playbooks, and roles. It provides configurable workflows to t…
mongodb-memory-server
MongoDB In-Memory Server is a Node.js package that spins up a real MongoDB server instance in memory for testing, eliminating the need for external database inf…
mongomock
Mongomock is a Python library that provides an in-memory mock of MongoDB collections for unit testing without requiring a real MongoDB instance. It mimics pymon…
moq
Moq is a Go code generation tool that automatically creates mock implementations from interface definitions, streamlining unit test setup. It integrates with Go…
mountebank
Mountebank is an open-source service virtualization and mocking tool that lets you create lightweight test doubles for HTTP, TCP, SMTP, gRPC, WebSockets, and ot…
mull
Mull is a mutation testing and fault injection tool for C and C++ that uses LLVM to systematically introduce bugs into code and verify test quality. It helps de…
nextest
Nextest is a faster, next-generation test runner for Rust that replaces the standard Cargo test runner. It offers improved parallelization, flaky test detection…
ng-mocks
ng-mocks is an Angular testing library that simplifies unit test setup by providing utilities to mock components, directives, pipes, services, and modules. It r…
nightwatch
Nightwatch is a Node.js-based end-to-end testing framework built on the W3C Webdriver standard. It supports web, component, mobile, visual, accessibility, and A…
Nimble
Nimble is a matcher framework for Swift and Objective-C testing that provides readable, expressive syntax for writing assertions and expectations in unit tests.…
nodebestpractices
Node.js Best Practices is a curated, community-maintained repository of 102+ best practices, style guides, and architectural recommendations for Node.js develop…
noisia
Noisia is a specialized PostgreSQL workload generator written in Go that deliberately creates harmful database conditions (idle transactions, deadlocks, WAL flo…
NotyKT
NotyKT is a full-stack Kotlin note-taking application demonstrating modern Android and backend development practices. It includes a REST API built with Ktor and…
nox
Nox is a Python command-line tool for running automated tests across multiple Python environments. It uses a standard Python configuration file instead of a dec…
nunit
NUnit is a mature, open-source unit-testing framework for .NET languages (C#, VB.NET, F#, etc.) that runs on Windows, macOS, and Linux. Version 5 modernizes the…
nvim-java
nvim-java is a Neovim plugin that integrates Java development tools (JDTLS, debugger, test runner) into the editor with minimal setup. It supports Spring Boot, …
OCHamcrest
OCHamcrest is a mature Objective-C testing library that provides composable matcher objects for flexible assertions in unit tests. It reduces boilerplate compar…
OCMockito
OCMockito is an Objective-C mocking framework based on Mockito, enabling creation, verification, and stubbing of mock objects in unit tests. It prioritizes read…
pa11y
Pa11y is a command-line and Node.js tool that automates accessibility testing by scanning web pages for WCAG compliance issues. It supports multiple test runner…
pa11y-ci
Pa11y CI is a command-line tool that runs automated accessibility tests in CI/CD pipelines, checking URLs or sitemaps against WCAG standards. It integrates with…
pact-go
Pact Go is a contract testing framework for Go that enables fast, reliable API testing by validating agreements between service consumers and providers. It repl…
pactum
PactumJS is a lightweight Node.js REST API testing tool that supports all testing pyramid levels—unit, integration, component, contract, and e2e—plus a standalo…
pandera
Pandera is an open-source Python library that validates dataframes against defined schemas, catching data quality issues early in processing pipelines. It suppo…
panther
Panther is a PHP library that enables browser-based testing and web scraping using real Chrome and Firefox instances via the W3C WebDriver protocol. It provides…
patrol
Patrol is a Flutter-native E2E UI testing framework that extends Flutter's built-in integration_test with native OS automation capabilities. It simplifies test …
pebble
Pebble is a lightweight ACME test server built by Let's Encrypt to help developers test ACME client implementations. It mimics the Let's Encrypt protocol withou…
pest
Pest is a PHP testing framework emphasizing simplicity and developer experience. It provides an elegant syntax for writing tests with a focus on bringing joy ba…
phoronix-test-suite
Phoronix Test Suite is an open-source benchmarking and testing framework for Linux, BSD, Solaris, macOS, and Windows. It automates test installation, execution,…
php-censor
PHP Censor is a self-hosted continuous integration server for PHP projects, allowing teams to automate testing and code quality checks without relying on third-…
php-vcr
PHP-VCR records HTTP interactions during test runs and replays them later, enabling fast, deterministic tests without real network calls. It supports multiple H…
phpat
PHPat is a PHP architecture testing tool built as a PHPStan extension that lets developers define and enforce architectural rules using natural language syntax.…
phpdoc-parser
phpdoc-parser is a PHP library that reads and modifies PHPDoc comments as structured data (AST). It handles modern PHP type syntax including generics, intersect…
phpstan
PHPStan is a static analysis tool for PHP that finds bugs without running code, catching type errors and logic issues before they reach production. It's activel…
phpstan-doctrine
phpstan-doctrine is a PHPStan extension that adds static type analysis for Doctrine ORM/ODM projects. It validates DQL queries, recognizes magic repository meth…
phpstan-symfony
PHPStan Symfony is a static code analysis extension that integrates Symfony framework-specific type checking into PHPStan. It resolves return types for Symfony …
phpunit-bridge
PHPUnit Bridge is a Symfony component that provides testing utilities, particularly for managing user deprecation notices in PHPUnit tests. It simplifies the ha…
phpunit-snapshot-assertions
phpunit-snapshot-assertions is a PHP testing library that enables snapshot testing—a technique where test outputs are captured once and compared automatically o…
phpunit-watcher
phpunit-watcher is a PHP development tool that automatically reruns PHPUnit tests whenever source code changes, eliminating the manual rerun step during test-dr…
pitest
PIT (Pitest) is a mutation testing framework for Java that validates test quality by introducing deliberate code changes (mutations) and checking whether tests …
playwright
Playwright is a browser automation and testing framework that controls Chromium, Firefox, and WebKit through a single API. It offers end-to-end testing via Play…
playwright-bdd
Playwright-BDD is a TypeScript framework that combines Behavior-Driven Development (BDD) with Playwright's browser automation capabilities. It converts feature …
playwright-skill
Playwright-Skill is a Claude Code integration that lets Claude autonomously write and execute browser automation tasks on the fly. Users describe what they need…
podinfo
Podinfo is a lightweight Go-based microservice template designed to demonstrate Kubernetes best practices. It includes health checks, metrics, graceful shutdown…
poku
Poku is a lightweight, zero-dependency test runner for Node.js, Bun, and Deno that emphasizes cross-platform compatibility and ease of use. It provides core tes…
pollyjs
Polly.JS is a Netflix-backed JavaScript library that records, replays, and stubs HTTP interactions for testing. It works in both Node.js and browsers, automatic…
portman
Portman is a CLI tool that converts OpenAPI specifications into Postman collections and automatically injects contract, variation, and fuzz tests. It integrates…
privacytests.org
PrivacyTests.org is an open-source testing framework that measures browser privacy features and publishes results on a public website. It includes browser testi…
publish-unit-test-result-action
A GitHub Action that parses test result files (XML, JSON, TRX formats) and publishes summaries as check annotations, pull request comments, and job summaries. R…
pumba
Pumba is a chaos engineering tool that injects controlled failures into containerized environments (Docker, containerd, Podman) to test system resilience. It ca…
puppeteer
Puppeteer is a JavaScript library that automates Chrome and Firefox browsers by controlling them through their development protocols. It enables headless browse…
puppeteer-sharp
Puppeteer Sharp is a .NET library that automates Chrome and Chromium browsers, enabling headless operations like screenshots, PDF generation, and web scraping. …
pybuilder
PyBuilder is a Python-based build automation tool designed to simplify the construction of Python applications. It uses a plugin architecture and dependency-bas…
pydoll
Pydoll is a Python library for automating Chromium browsers via the Chrome DevTools Protocol without requiring WebDriver binaries. It provides both high-level h…
pytest
pytest is a widely-adopted Python testing framework that simplifies writing and executing tests through plain assertions and auto-discovery. It scales from unit…
pytest-asyncio
pytest-asyncio is a pytest plugin that enables testing of asynchronous Python code using asyncio. It allows developers to write async test functions with the @p…
pytest-bdd
pytest-bdd is a Python testing library that brings Behavior-Driven Development (BDD) to pytest by allowing you to write test scenarios in plain Gherkin language…
pytest-recording
pytest-recording is a pytest plugin that records and replays HTTP traffic during testing using VCR.py. It allows tests to run against pre-recorded cassettes, re…
pytest-sugar
pytest-sugar is a pytest plugin that improves test output readability with progress bars, instant failure display, and better formatting. It automatically activ…
pytest-testmon
pytest-testmon is a pytest plugin that automatically detects which tests are affected by code changes and runs only those tests, speeding up CI/CD pipelines. It…
pythagora
Pythagora is a Node.js developer tool that uses GPT-4 to automatically generate unit and integration tests without manual coding. The project is deprecated and …
pythonVSCode
The Python extension for VS Code is a Microsoft-maintained toolkit providing IntelliSense, debugging, linting, formatting, testing, and Jupyter notebook support…
pywinauto
pywinauto is a Python library for automating Windows GUI interactions like mouse clicks and keyboard input. It supports two backends (Win32 API and MS UI Automa…
QA_bible
QA_bible is a 560+ page open-source knowledge base in Russian covering QA career guidance, interview preparation, testing theory, and curated learning resources…
qodo-cover
Qodo-Cover is an AI-powered CLI tool that automatically generates unit tests to increase code coverage. It integrates with CI/CD workflows and supports Python, …
Quick
Quick is a behavior-driven development (BDD) testing framework for Swift and Objective-C that uses human-readable syntax inspired by RSpec. It integrates with N…
qunit
QUnit is a lightweight JavaScript testing framework with no external dependencies, designed for testing client-side and server-side JavaScript across browsers a…
rack-test
Rack::Test is a minimal Ruby testing library for testing Rack-based web applications without needing a live server. It provides a simple API to simulate HTTP re…
randexp.js
randexp.js generates random strings that match a given regular expression, useful for testing and fuzzing. It supports complex regex patterns including characte…
rapid
Rapid is a Go library for property-based testing that automatically generates diverse test cases and minimizes failures to their simplest form. It enables devel…
react-cosmos
React Cosmos is a sandbox development environment that lets you build, test, and iterate on React UI components in isolation without needing a full application.…
react-native-test-app
React Native Test App (RNTA) is a Microsoft-maintained package that provides pre-configured test applications for iOS, Android, macOS, Windows, and visionOS. It…
react-native-testing-library
React Native Testing Library is a MIT-licensed testing utility for React Native components that encourages behavior-driven testing practices. It provides a comp…
react-screenshot-test
react-screenshot-test is a Jest-integrated library for visual regression testing of React components using Puppeteer to capture browser screenshots. The project…
react-testing-library
React Testing Library is a lightweight, MIT-licensed JavaScript testing utility for React components that emphasizes testing user behavior rather than implement…
reassure
Reassure is a performance testing library for React and React Native apps that automates regression detection by measuring render times and counts across multip…
redux-saga-test-plan
Redux Saga Test Plan is a JavaScript testing library that simplifies writing tests for Redux Saga side effects. It provides both integration-style testing (via …
refurb
Refurb is a Python linting and modernization tool that identifies outdated code patterns and suggests modern alternatives. It runs static analysis on Python cod…
ReportGenerator
ReportGenerator is a mature .NET code coverage visualization tool that transforms raw coverage reports from multiple sources (Coverlet, OpenCover, JaCoCo, etc.)…
Reqnroll
Reqnroll is an open-source .NET BDD test automation framework that lets teams write executable business requirements in plain English (Gherkin) and run them as …
request-factories
Request Factories is a Laravel testing utility that eliminates boilerplate when writing HTTP request tests by auto-populating form request fields with sensible …
ResourceModules
ResourceModules is a curated library of Bicep and ARM template modules for Azure infrastructure deployment, maintained by Microsoft. The project has transitione…
respx
RESPX is a Python library that mocks HTTPX HTTP client requests for testing purposes. It lets developers define request patterns and mock responses without maki…
rest-assured
REST Assured is a Java library that simplifies testing of REST APIs by providing a fluent, readable DSL inspired by dynamic languages like Groovy and Ruby. It h…
resterm
Resterm is a keyboard-driven terminal API client for REST, GraphQL, gRPC, WebSocket, and SSE protocols. It stores requests as plain text files, runs locally wit…
rewire
Rewire is a Node.js testing utility that enables monkey-patching of module internals for unit tests. It allows developers to inject mocks, inspect private varia…
roborazzi
Roborazzi is a Kotlin-based screenshot testing library that runs Android integration tests on the JVM using Robolectric, enabling visual regression testing with…
robotframework
Robot Framework is an open-source Python-based automation tool for writing acceptance tests, test-driven development, and robotic process automation (RPA) using…
robotframework-browser
robotframework-browser is a Python library that enables browser automation and testing via Robot Framework using Playwright as the underlying engine. It support…
rod
Rod is a Go library for automating and scraping web applications by controlling Chrome via the DevTools Protocol. It handles browser automation tasks like waiti…
rstest
rstest is a Rust testing framework that uses procedural macros to simplify writing fixture-based and parametrized tests. It reduces boilerplate by allowing you …
rubocop-rspec
rubocop-rspec is a RuboCop extension that enforces RSpec-specific code style and best practices for Ruby test files. It integrates seamlessly into the RuboCop e…
runn
runn is a Go-based tool and library for running multi-step scenarios (runbooks) defined in YAML, supporting HTTP, gRPC, database queries, Chrome DevTools Protoc…
S3Mock
S3Mock is a lightweight, mock AWS S3 server designed for local integration testing during development. It eliminates the need for real AWS infrastructure by imp…
sbc-reviews
sbc-reviews is a public repository of single-board computer (SBC) benchmarking data and review notes maintained by Jeff Geerling, covering Raspberry Pi, Radxa, …
scanapi
ScanAPI is a Python library that automatically tests REST APIs and generates live documentation from YAML/JSON specifications. Users define endpoints and assert…
schemathesis
Schemathesis is a Python-based API testing tool that automatically generates test cases from OpenAPI and GraphQL schemas to find bugs before users do. It perfor…
seldom
Seldom is a Python-based test automation framework built on unittest that supports web UI, API, and mobile app testing. It provides scaffolding, data-driven tes…
selene
Selene is a Python library that simplifies browser automation testing by wrapping Selenium WebDriver with a more readable, user-friendly API. It handles common …
SeleniumBase
SeleniumBase is a Python framework for browser automation, web testing, and scraping that includes anti-bot-detection capabilities through CDP Mode and stealthy…
serenity-js
Serenity/JS is a TypeScript-based acceptance testing framework that layers on top of Playwright, WebdriverIO, or Cucumber to provide reusable test patterns, str…
shellspec
ShellSpec is a BDD testing framework for shell scripts that supports bash, ksh, zsh, dash, and POSIX-compliant shells. It offers code coverage, mocking, paramet…
shoehorn
Shoehorn is a TypeScript testing utility that allows developers to pass incomplete (partial) objects to functions expecting complete types, eliminating the need…
shortest
Shortest is a TypeScript framework that lets you write end-to-end tests in plain English, using AI (Claude API) to interpret and execute them against your appli…
Shot
Shot is an Apache 2.0-licensed Gradle plugin and Android library for screenshot testing on Android apps, including Jetpack Compose support. It automates UI regr…
shoulda-matchers
Shoulda Matchers is a Ruby gem that provides concise, one-liner assertions for testing common Rails features like validations, associations, and controller beha…
siteone-crawler
SiteOne Crawler is a Rust-based website analysis and crawling tool that performs SEO, security, accessibility, and performance audits across Windows, macOS, and…
skrape.it
skrape{it} is a Kotlin DSL library for parsing, testing, and scraping HTML/XML with built-in support for client-side rendered content. It provides an intuitive,…
Spearmint
Spearmint is an open-source Electron-based GUI tool that generates Jest test code without requiring manual coding. It supports multiple frameworks (React, Vue, …
spock
Spock is a BDD-style testing framework for Java and Groovy that uses expressive specification syntax to reduce test boilerplate. It supports Java 8+ and multipl…
storybook
Storybook is an open-source workshop for building, documenting, and testing UI components in isolation. It supports multiple frameworks (React, Vue, Angular, Sv…
stryker-js
Stryker-js is a mutation testing tool for JavaScript and TypeScript that validates test quality by introducing intentional code changes (mutations) and checking…
super_diff
SuperDiff is a Ruby gem that improves how RSpec displays differences between complex data structures during testing. Instead of showing hard-to-read string diff…
sure
Sure is a Python test automation library and runner that provides a fluent, readable assertion syntax for writing tests. It supports BDD-style test organization…
svelte-testing-library
Svelte Testing Library is a lightweight testing utility for Svelte components that provides DOM-based testing functions following the testing-library philosophy…
swift-custom-dump
swift-custom-dump is a Swift debugging and testing utility that provides improved output formatting for data structures compared to Swift's built-in dump functi…
swift-snapshot-testing
swift-snapshot-testing is a Swift testing library that captures and compares snapshots of any value—views, API requests, JSON, or custom data—to detect regressi…
swift-testing
Swift Testing is a modern testing framework for Swift that provides expressive APIs, macro-based syntax, and native support across Apple platforms, Linux, and W…
synpress
Synpress is an end-to-end testing framework built on Cypress and Playwright that adds native support for MetaMask wallet interactions and blockchain operations.…
syrupy
Syrupy is a lightweight pytest plugin for snapshot testing that lets developers assert immutability of computed results using simple assertions like `assert act…
System.IO.Abstractions
System.IO.Abstractions is a C# library that wraps .NET's file system APIs behind testable interfaces, making unit testing file I/O operations straightforward wi…
syzkaller
syzkaller is an open-source kernel fuzzer developed by Google that automatically generates and executes test cases to find bugs in operating system kernels. It …
tavern
Tavern is a pytest-integrated YAML-based tool for automated API testing that supports REST, MQTT, and gRPC protocols. It provides a lightweight, declarative syn…
tempfile
tempfile is a Rust library for creating and managing temporary files securely across Windows, Linux, macOS, and BSD systems. It handles the complexity of safely…
temporary-directory
A lightweight PHP package that simplifies creating, using, and deleting temporary directories on the filesystem. It provides a fluent API to manage temporary st…
cli
terraform-compliance is an open-source BDD test framework that validates Terraform infrastructure-as-code against security and compliance policies before deploy…
test-butler
Test Butler is a LinkedIn-developed testing framework that stabilizes Android emulator environments by disabling animations, crash dialogs, and system interrupt…
test-prof
TestProf is a Ruby gem that profiles and analyzes test suite performance, helping teams identify bottlenecks in RSpec and minitest tests. It integrates with sta…
testbench
Testbench is a PHP testing helper library designed for developers building Laravel packages. It provides utilities and infrastructure to write and run tests for…
testcafe
TestCafe is a Node.js-based end-to-end testing framework that automates web browser testing without requiring WebDriver or Selenium. It supports JavaScript and …
testcontainers-dotnet
Testcontainers for .NET is a library that lets developers spin up temporary Docker containers during testing, supporting all .NET Standard versions. It eliminat…
testcontainers-go
Testcontainers for Go is a library that simplifies integration testing by automatically provisioning and tearing down Docker containers as dependencies within y…
testcontainers-java
Testcontainers is a Java library that simplifies integration testing by spinning up isolated Docker containers for databases, browsers, and other services on de…
testcontainers-node
Testcontainers-node is a TypeScript/Node.js library that spins up ephemeral Docker containers for testing—databases, browsers, or other services—without manual …
testcontainers-rs
Testcontainers-rs is a Rust library that simplifies integration testing by spinning up Docker containers on-demand during test runs. It provides both blocking a…
testfixtures
testfixtures is a Go library that loads test data from YAML files into a real database before running tests, mimicking Ruby on Rails' fixture approach. It suppo…
testfx
MSTest is Microsoft's open-source testing framework for .NET applications, offered as both a traditional test framework and a lightweight alternative platform (…
testify
Testify is a mature Go testing toolkit providing assertion, mocking, and suite management utilities that integrate with the standard library. It reduces boilerp…
testing-distributed-systems
A curated, community-maintained resource library of research papers, tools, and practical guidance on testing distributed systems. It covers fault injection, co…
testing-nestjs
testing-nestjs is a community-maintained reference repository demonstrating testing patterns for NestJS applications across unit, integration, and E2E test scen…
testng
TestNG is a mature Java testing framework that supports test annotations, grouping, and parallel execution. It provides flexible test configuration via XML and …
testplane
Testplane is a TypeScript-based browser test runner built on Mocha and WebdriverIO, designed for end-to-end, integration, and component testing across multiple …
testsprite-cli
TestSprite CLI is an AI-powered end-to-end testing tool that integrates with coding agents (Claude, Cursor, Cline, etc.) to automatically verify application beh…
testzeus-hercules
Hercules is an open-source AI-powered testing agent that automates UI, API, security, and accessibility testing using natural language Gherkin syntax without re…
time-machine
time-machine is a Python testing library that lets developers mock or freeze time during unit tests. It intercepts time-related system calls to simulate traveli…
tlsfuzzer
tlsfuzzer is a Python-based test suite for SSL/TLS protocol implementations, designed to verify correct error handling and standards compliance rather than just…
tox
tox is a Python CLI tool that automates testing across multiple Python versions and environments by creating isolated virtual environments. It acts as a unified…
toxiproxy
Toxiproxy is a TCP proxy tool that simulates network failures and degradation for testing application resilience. It lets you inject latency, packet loss, timeo…
tparse
tparse is a lightweight CLI tool that transforms Go's verbose test output into a clean, organized summary. It parses JSON-formatted test results and highlights …
truth
Truth is a Java assertion library that makes test code more readable and failure messages clearer. Maintained by the Guava team and used extensively in Google's…
ts-auto-mock
ts-auto-mock is a TypeScript transformer that automatically generates mock objects from interfaces and classes for testing, eliminating manual fake creation. It…
ts-jest
ts-jest is a Jest transformer that allows you to write and test TypeScript projects directly without a separate compilation step. It supports full TypeScript fe…
TUnit
TUnit is a modern .NET testing framework built on Microsoft.Testing.Platform that emphasizes compile-time test discovery, parallel execution by default, and Nat…
ui-testing-best-practices
A curated, community-maintained guide to UI testing best practices covering component, integration, and E2E testing strategies. Organized into 26 chapters addre…
undetected-chromedriver
undetected-chromedriver is a Python library that patches Selenium's Chromedriver to bypass anti-bot detection systems (Cloudflare, Datadome, Imperva, etc.). It …
unit-testing-tips
A MIT-licensed PHP guide with code examples covering unit testing patterns, best practices, and anti-patterns. Maintained HTML documentation with ~1,200 stars, …
user-event
user-event is a testing library that simulates real browser user interactions (clicks, typing, etc.) more accurately than lower-level event firing. It helps dev…
ut
UT is a header-only C++20 unit testing framework emphasizing macro-free syntax and ease of integration. It supports test organization, parameterization, BDD/TDD…
utest.h
utest.h is a single-header C/C++ unit testing framework that requires no external dependencies or build configuration. It provides a googletest-like API with su…
vcrpy
VCR.py is a Python testing library that records HTTP interactions during test runs and replays them on subsequent runs, eliminating the need for live API calls.…
venom
Venom is an open-source CLI tool for writing and executing integration tests as YAML-based test suites. It supports multiple executor types (HTTP, scripts, web,…
Verify
Verify is a C# snapshot testing library that serializes test results to files and compares them on subsequent runs, automating assertions for complex objects an…
vim-test
vim-test is a Vim/Neovim plugin that runs tests directly from your editor with zero configuration, automatically detecting and supporting 40+ test runners acros…
Visual-Regression-Tracker
Visual Regression Tracker is an open-source, self-hosted platform for automated visual testing that captures screenshots, compares them pixel-by-pixel against b…
vitest
Vitest is a modern testing framework built on top of Vite, designed for TypeScript and JavaScript projects. It offers Jest-compatible APIs with faster execution…
voiden
Voiden is an offline-first API client built on Electron that lets teams design, test, and document REST, GraphQL, WebSocket, and gRPC APIs using plain-text Mark…
vscode
A VS Code extension that integrates Vitest test runner directly into the editor, enabling developers to run, debug, and watch tests without leaving their IDE. I…
vstest
VSTest is Microsoft's open-source test runner and execution platform that powers Visual Studio's test explorer. It supports multiple test frameworks through a p…
wallaby
Wallaby is an Elixir library for writing concurrent browser tests that simulate real user interactions with web applications. It manages multiple browser instan…
web-quality-skills
Web Quality Skills is a collection of agent-ready instruction sets for optimizing web projects across performance, accessibility, SEO, and best practices. It en…
WinAppDriver
Windows Application Driver is a Microsoft-maintained test automation service for UI testing on Windows 10 applications, supporting UWP, WinForms, WPF, and Win32…
WireMock.Net
WireMock.Net is a C# HTTP mocking library that lets you stub and mock web responses for testing. It can run as a library in tests, a standalone service, or in D…
wp-browser
wp-browser is a PHP testing framework that integrates Codeception with WordPress to enable end-to-end, integration, and unit testing for WordPress sites, plugin…
xtd
xtd is a free, MIT-licensed C++20 framework for building cross-platform console, GUI, and unit-test applications on Windows, macOS, Linux, and several other ope…
zerocode
Zerocode is an open-source, no-code testing framework for APIs, Kafka, and databases using JSON/YAML. Tests are defined declaratively without writing code, redu…
A software development agency for open-source projects
DEV.co is a software development agency offering custom software development services and web development for companies adopting open-source testing frameworks. Our software developers and web developers evaluate, implement, integrate, customize, and maintain open-source software in production — so your team ships faster with less risk.
Building with open-source testing frameworks?
DEV.co helps companies evaluate, customize, integrate, and deploy open-source software with senior software developers.