awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dubzzz avatar

dubzzz/fast-check

0
View on GitHub↗
4,778 estrellas·204 forks·TypeScript·mit·3 vistasfast-check.dev↗

Fast Check

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.

Features

  • Arbitrary Data Generation - Implements type-driven arbitrary data generation to verify software invariants across all possible inputs.
  • Deterministic Random Data Generation - Produces a wide variety of reproducible random data types, from primitives to complex objects, for property-based testing.
  • Fuzz Testing - Executes predicates against high volumes of random inputs to uncover critical bugs and edge cases.
  • Property-Based Fuzzing - Provides a property-based testing engine that generates random input sequences to verify software invariants and uncover edge cases.
  • Property-Based Testing - Implements a property-based testing framework to verify software invariants using randomized input data.
  • Generative Testing - Implements a generative testing framework to verify software invariants by producing a wide range of randomized inputs.
  • Random Value Generators - Provides a comprehensive system for generating randomized test data of various types to verify software invariants.
  • Recursive Data Generation - Limits the depth of generated recursive structures to bias the probability of producing smaller instances.
  • Task Schedulers - Ensures asynchronous tasks run within a specific execution context to deterministically simulate race conditions.
  • Task Synchronization - Waits for specific task completions or idle states to synchronize asynchronous execution during tests.
  • Integer Range Generators - Generates integer values constrained within specific boundaries to verify range-dependent logic.
  • Floating-Point Precision Utilities - Generates double-precision floating-point numbers with range constraints to test numerical stability.
  • Deterministic Runners - Provides a deterministic execution environment to manage task scheduling and identify non-deterministic race conditions.
  • Model-Based Verification - Verifies system consistency by comparing real system transitions against a theoretical reference model.
  • Recursive Data Generators - Enables the definition of complex data structures where types refer to each other recursively.
  • Asynchronous Task Schedulers - Provides a promise scheduler to control the execution order of asynchronous operations to uncover concurrency bugs.
  • Asynchronous Property Testing - Executes property-based tests where the verification logic involves asynchronous operations.
  • Automated Test Data Generation - Produces complex, constrained, and recursive datasets and mock objects to seed property-based test suites.
  • Concurrency Race Condition Testing - Ships a concurrency testing engine that uses task-based scheduling to simulate and detect race conditions.
  • Consistency Model Verifiers - Implements model-based testing to verify that a real system's behavior remains consistent with a theoretical reference model.
  • Deterministic Seed Replays - Captures the seed and input path from a failed run to exactly reproduce a specific failure.
  • Invariant Verification - Runs a property against generated inputs and signals an error if a failure is detected.
  • Model Testing - Implements model-based testing by comparing real system state transitions against a theoretical reference model using random command sequences.
  • Numerical Array Generation - Generates randomized arrays of 64-bit signed integers for testing numeric computations.
  • Property-Based Fuzzers - Functions as a test data fuzzer that executes predicates against high volumes of random inputs to uncover critical bugs.
  • Property Verification - Generates wide ranges of input values to test if a logical property remains true across all cases.
  • Random Number Generation - Allows capturing the internal state of the random number generator to exactly replicate failing test sequences.
  • Typed Array Generators - Creates arrays of 16-bit unsigned integers with optional constraints on length and content.
  • Test Case Generators - Produces diverse values of specific types and nested structures for use in property-based testing.
  • Generator Combinators - Creates new data generators by mapping, chaining, or filtering values from a base generator.
  • Value Constraints - Provides capabilities to apply specific limits and requirements to data produced by arbitrary generators.
  • Weighted Selection Generators - Assigns probabilities to different generators to control the frequency of value types during testing.
  • Race Condition Detection - Schedules asynchronous callbacks in different interleavings to deterministically uncover concurrency bugs.
  • Specification-Compliant Data Generators - Produces a wide range of valid values including edge cases defined by a technical specification.
  • State Machine Testing - Provides model-based testing to verify system consistency using randomized sequences of interdependent commands.
  • Test Case Shrinking - Simplifies complex failing inputs into the smallest possible counterexample to isolate the cause of failure.
  • Asynchronous Task Scheduling - Controls the execution order of asynchronous tasks to deterministically uncover race conditions and concurrency bugs.
  • Text and String Generation - Generates random strings based on constraints to test system robustness against various text inputs.
  • State-Based Model Testing Tools - Implements a state-based model testing engine to verify system consistency via random command sequences.
  • Array Length Constraints - Defines the required and optional length boundaries for generated subarrays to ensure specific size requirements.
  • Unique Identifier Generators - Produces sortable, unique identifiers conforming to the ULID specification for test data generation.
  • Command Sequence Generation - Produces scenarios of executable actions that can be shrunk to isolate the minimal steps required to trigger a failure.
  • Structured JSON Generation - Enforces structural rules and limits on the content of generated JSON objects.
  • JSON Value Generators - Creates random values compatible with JSON parsing, including strings, numbers, and nested structures.
  • Relational Data Generation - Creates a graph of related entities based on a schema definition to test complex relational data.
  • Schema-Adherent Generation - Defines structural requirements for generated objects to ensure they adhere to specific schemas.
  • JSON Content Generators - Generates random JSON strings and structured content based on provided constraints for testing.
  • Encoded String Generators - Produces random strings encoded in base64 format while ensuring valid output lengths.
  • Standard Email Generators - Produces random string values that conform to email address standards for property-based testing.
  • Synthetic Network Address Generators - Produces randomized but valid IPv4 address strings for network-related test scenarios.
  • Unsigned Integer Array Generators - Generates arrays of unsigned 32-bit integers as randomized inputs for property tests.
  • Uint8Array Generators - Produces typed arrays of 8-bit unsigned integers to simulate various binary data inputs.
  • Model-Based Record Generators - Produces objects with dynamic keys and values based on provided models to test varying data shapes.
  • Structured Random Data Generation - Produces objects with random keys and values to test how a system handles various data shapes.
  • Comparator Generators - Produces functions that determine the relative order of two inputs for testing sorting or ordering logic.
  • Input Distribution Analysis - Categorizes test inputs using classification functions and logs the resulting distribution statistics.
  • Random Date & Time Generators - Creates random Date objects within specified ranges to verify time-dependent software logic.
  • Temporal Constraints - Limits the range and precision of generated date values to ensure they fall within specific windows.
  • Weighted Random Sampling - Allows assigning probabilities to multiple generators to control the frequency of specific value types during test execution.
  • Model-Based Async Commands - Creates asynchronous actions that transition a model state and execute real-world operations.
  • State Transition Testing - Executes sequences of operations against a stateful system to find command orders that trigger bugs.
  • Scheduled Model Verification - Processes model execution through a task scheduler to verify state transitions under asynchronous interleavings.
  • Random Seed Replayers - Provides deterministic seed replay to exactly reproduce specific test failures and reach the minimal counterexample.
  • Recursion Depth Tracking - Prevents infinite loops in nested data structures by tracking generation depth and using lazy builders.
  • Model-Based Command Interfaces - Implements a command interface to model transitions and verify system state through sequences of operations.
  • Test Runner Configurations - Provides centralized configuration for default execution settings and hooks across all property runners.
  • Asynchronous Model Testing - Executes a sequence of asynchronous commands against a model and a real system to verify consistency.
  • Constant Value Generators - Produces fixed predefined values to ensure specific edge cases or constants are consistently exercised.
  • Fixed-Length Tuple Generators - Produces arrays of a fixed length where each element is generated according to specific rules.
  • Function Call Generators - Creates function calls with random arguments based on provided input definitions.
  • Continuous Fuzzing - Runs properties in a loop across multiple executions to hunt for counterexamples beyond standard budgets.
  • Test Configuration - Allows configuration of property test parameters, including iteration counts and counterexample search settings.
  • Stateful Command Definitions - Provides primitives to define synchronous commands and assertions for verifying stateful system behavior.
  • Execution Tree Analyzers - Summarizes the execution tree, including runs and shrinks, to diagnose complex test behavior.
  • Test Lifecycle Hooks - Executes asynchronous setup and teardown logic before and after test iterations to maintain environment state.
  • Infinite Sequence Generators - Produces infinite sequences of values to facilitate testing of long-running software processes.
  • Arbitrary Numeric Arrays - Produces arrays of large integers based on specified constraints to verify properties across numeric inputs.
  • Arbitrary Array Generators - Produces arrays of random values based on specific types and constraints to test list-processing functions.
  • Unique Array Generators - Produces arrays containing distinct elements by ensuring no duplicate values are generated.
  • Array Shape Constraints - Allows limiting the length and structure of generated arrays to meet specific property requirements.
  • Random Map Generators - Creates randomized maps with keys and values derived from specified generators.
  • Relational Data Generators - Creates complex sets of interdependent entities with defined relations to simulate database-like structures.
  • Generated Input Filtering - Includes precondition-based input filtering to discard generated values that do not meet specific validity criteria before test execution.
  • Contextual State Generators - Provides a specialized value instance to maintain state across multiple generated inputs in a single run.
  • Optional Value Generators - Produces either a value from a specified generator or a null-like value to test missing data handling.
  • Random Record Generators - Produces randomized records of key-value pairs with optional constraints on object size.
  • Subset Generators - Produces random subsets of elements from existing arrays to test functions that process partial lists.
  • Typed Array Generators - Produces clamped 8-bit unsigned integer arrays to use as randomized test input values.
  • Task-Based Async Schedulers - Ships a concurrency testing engine that uses task-based asynchronous scheduling to detect non-deterministic race conditions.
  • Web Authority String Generators - Produces randomized web authority strings, including user information and hostnames, following RFC 3986.
  • URI Segment Generators - Produces valid string segments for URIs according to specifications to test URL parsing and routing.
  • UUID Generators - Produces random Universally Unique Identifiers following specifications for versions one through five.
  • Model-Based Behavioral Verification - Executes asynchronous commands against a model and a real system to verify consistent behavior.
  • System Consistency Verification - Executes synchronous commands against a model and a real system to ensure behaviors remain consistent.
  • URL Generators - Creates randomized web URLs based on specific constraints to verify various URL patterns.
  • Randomized - Produces random strings that conform to URL standards for use as test inputs.
  • Utility Libraries - Property-based testing framework for TypeScript.

Historial de estrellas

Gráfico del historial de estrellas de dubzzz/fast-checkGráfico del historial de estrellas de dubzzz/fast-check

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Preguntas frecuentes

¿Qué hace dubzzz/fast-check?

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.

¿Cuáles son las características principales de dubzzz/fast-check?

Las características principales de dubzzz/fast-check son: Arbitrary Data Generation, Deterministic Random Data Generation, Fuzz Testing, Property-Based Fuzzing, Property-Based Testing, Generative Testing, Random Value Generators, Recursive Data Generation.

¿Qué alternativas de código abierto existen para dubzzz/fast-check?

Las alternativas de código abierto para dubzzz/fast-check incluyen: hypothesisworks/hypothesis — Hypothesis is a Python property-based testing library and data generation engine. It enables the discovery of edge… pholser/junit-quickcheck — JUnit-quickcheck is a property-based testing framework that integrates directly into the JUnit lifecycle to verify… purescript/purescript — PureScript is a statically typed, purely functional programming language that compiles to JavaScript. It is designed… schemathesis/schemathesis — Schemathesis is a property-based testing tool and fuzzer for schema-based APIs. It analyzes OpenAPI and JSON Schema… drmaciver/hypothesis — Hypothesis is a property-based testing library for Python that automatically generates randomized input data to… factoryboy/factory_boy — Factory Boy is a dynamic test fixture framework and data generation tool for Python. It serves as a replacement for…

Alternativas open-source a Fast Check

Proyectos open-source similares, clasificados según cuántas características comparten con Fast Check.
  • hypothesisworks/hypothesisAvatar de HypothesisWorks

    HypothesisWorks/hypothesis

    8,717Ver en GitHub↗

    Hypothesis is a Python property-based testing library and data generation engine. It enables the discovery of edge cases and bugs by generating a wide range of randomized inputs based on defined strategies and shrinking complex failing examples to their smallest possible form. It also functions as a state machine testing framework to verify system behavior across sequences of interdependent operations. The project features a fuzzing integration layer that converts raw byte buffers from coverage-guided fuzzers into structured test cases. It includes a persistence mechanism to store and synchro

    Pythonfuzzingproperty-based-testingpython
    Ver en GitHub↗8,717
  • pholser/junit-quickcheckAvatar de pholser

    pholser/junit-quickcheck

    982Ver en GitHub↗

    JUnit-quickcheck is a property-based testing framework that integrates directly into the JUnit lifecycle to verify software invariants. It functions by automatically generating random input data for test parameters, ensuring that defined logic holds true across a wide range of scenarios. The framework distinguishes itself through type-directed data generation, which matches method parameters to registered producers to create valid inputs. When a test fails, the library employs recursive shrinking logic to reduce the input to the smallest possible representation, simplifying the process of ide

    Javajavajunitproperty-based-testing
    Ver en GitHub↗982
  • purescript/purescriptAvatar de purescript

    purescript/purescript

    8,832Ver en GitHub↗

    PureScript is a statically typed, purely functional programming language that compiles to JavaScript. It is designed as a cross-platform frontend language for building safe web applications, utilizing a static type system and a JavaScript compiler to ensure program correctness across browser and server environments. The language is distinguished by its emphasis on mathematical purity, featuring a robust type system with first-class support for monads. It provides a sophisticated toolset for static verification, including algebraic data types, type classes, and automatic type inference to reje

    Haskellalt-jshaskelljavascript
    Ver en GitHub↗8,832
  • schemathesis/schemathesisAvatar de schemathesis

    schemathesis/schemathesis

    3,055Ver en GitHub↗

    Schemathesis is a property-based testing tool and fuzzer for schema-based APIs. It analyzes OpenAPI and JSON Schema specifications to automatically generate test cases that identify crashes, schema violations, and validation bypasses. The project functions as a contract validator and security scanner, verifying that a live server strictly adheres to its defined specifications. The framework distinguishes itself through stateful API testing, which chains multiple related requests together to uncover bugs that only emerge during complex, multi-step user workflows. It also utilizes response-driv

    Pythonapiapi-testingcli
    Ver en GitHub↗3,055
Ver las 30 alternativas a Fast Check→