fast-check is a property-based testing framework and random data generator designed to verify software invariants by producing a wide range of randomized input data. It functions as a test data fuzzer that executes predicates against high volumes of random inputs to uncover edge cases and critical bugs.
The project is distinguished by its ability to perform input-shrinking searches, which reduce complex failing inputs to their simplest form to isolate the exact cause of failure. It provides deterministic seed replay to exactly reproduce specific test failures and includes a concurrency testing engine that uses task-based asynchronous scheduling to simulate and detect race conditions.
Its capability surface covers state-based model testing for verifying system consistency via random command sequences and a comprehensive set of arbitrary-based data generators. These generators produce constrained primitives, recursive data structures, and specification-compliant values such as UUIDs, IPv4/IPv6 addresses, and web-standard URLs.
The framework supports asynchronous property verification and provides tools for analyzing generated value distributions and execution summaries.