CheckOps
FuzzTest
FuzzTest is Google's Apache-2.0 C++ framework for fuzz tests: property-based tests run with coverage-guided fuzzing, integrated with GoogleTest.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
FuzzTest is a C++ testing framework for writing and executing fuzz tests, which are property-based tests executed using coverage-guided fuzzing. Instead of saying ‘for this input expect this output’, you state a property for whole types of input.
The README calls it Google’s latest fuzz testing technology and the successor of earlier frameworks. Fuzz tests live alongside GoogleTest unit tests via the FUZZ_TEST macro, with domains describing input types. They run as quick unit tests by default and as fuzzers in fuzzing mode.
In the quality loop FuzzTest makes fuzzing part of everyday unit testing.
The source code is at google/fuzztest on GitHub under the Apache-2.0 licence, with about 1,100 stars; the most recent commit was on 10 November 2026.
Features
- FUZZ_TEST macro: Properties next to unit tests.
- Domains: Typed input generators.
- GoogleTest integration: Same runner.
- Unit mode: Fast default runs.
- Fuzzing mode: Coverage-guided exploration.
- Bazel and CMake: Build support.
Pros
- Low friction: Feels like writing tests.
- Free to use: Open source under the Apache-2.0 licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 10 November 2026.
Cons
- C++ only: No other languages.
- Build config: Fuzzing mode needs flags.
- Learning domains: New concepts.
Usage and Links (Example)
#include "fuzztest/fuzztest.h"
void RoundTrips(const std::string& s) { EXPECT_EQ(Decode(Encode(s)), s); }
FUZZ_TEST(CodecTest, RoundTrips);
Resources:
Pricing
FuzzTest is free and open source under the Apache-2.0 licence.
Recommended for?
- C++ teams using GoogleTest.
Conclusion
FuzzTest is the most approachable way to add fuzzing to C++ unit tests.
Run fuzzing mode in nightly CI.
On CheckOps, FuzzTest is filed under the Unit testing and Security testing stages. Related tools listed here include libFuzzer, AFL++, honggfuzz, LibAFL, OSS-Fuzz and ClusterFuzzLite. Before standardising on one, compare recent maintenance activity, the pricing model as your usage grows, and the integrations you rely on today. Information on this page was verified against the official website, documentation and repository on 11 November 2026.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with FuzzTest side by side.
LlibFuzzerlibFuzzer is LLVM's in-process, coverage-guided, evolutionary fuzzing engine, built into Clang via -fsanitize=fuzzer and used with sanitizers to find memory-safety and logic bugs in C and C++.Compare with FuzzTest
AAFL++AFL++ is the community-maintained successor to Google's AFL: a coverage-guided fuzzer with faster execution, better mutations and instrumentation, custom mutators and modes for binaries, licensed AGPL-3.0-or-later.Compare with FuzzTest
Hhonggfuzzhonggfuzz is Google's Apache-2.0 security-oriented fuzzer with evolutionary, feedback-driven fuzzing based on software and hardware code coverage.Compare with FuzzTest
LLibAFLLibAFL is a Rust library of reusable fuzzer components from the AFL++ team, for building fast, scalable, custom fuzzers across platforms and targets.Compare with FuzzTest
OOSS-FuzzOSS-Fuzz is Google's free continuous fuzzing service for critical open-source projects, running libFuzzer, AFL++ and other engines at scale on ClusterFuzz.Compare with FuzzTest
CClusterFuzzLiteClusterFuzzLite is Google's Apache-2.0 continuous fuzzing solution that runs in CI such as GitHub Actions, fuzzing pull requests and running batch fuzzing with coverage reports.Compare with FuzzTest