property-based-testing

Guide property-based testing design across languages and smart contracts.

9|2|Updated Mar 12, 2026
One-click install
npx skills add https://github.com/hongmaple0820/agent-academy --skill property-based-testing-hongmaple0820
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: property-based-testing
Source: https://github.com/hongmaple0820/agent-academy/tree/main/skills/development/property-based-testing/skills/property-based-testing
Command: npx skills add https://github.com/hongmaple0820/agent-academy --skill property-based-testing-hongmaple0820

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Property-based testing guidance across multiple languages and smart contracts helps teams design robust tests that catch edge cases early, rather than relying solely on example-based tests.

Core Features & Use Cases

  • Provides structured approach to identify properties (roundtrip, idempotence, invariants) and map them to languages and tooling (Hypothesis, fast-check, proptest, Echidna).
  • Offers workflow guidance for designing input strategies, generating tests, and reviewing property-based tests, including cross-language patterns and best practices for contracts.
  • Useful for developers, QA engineers, and ML/System engineers who want stronger test coverage and safer refactoring.

Quick Start

Provide a ready-to-run property-based test plan for a given function, including input strategies and a set of properties.

Frequently Asked Questions about property-based-testing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design property-based tests instead of relying on example-based tests?▼

Property-based testing identifies invariants, roundtrip properties, and idempotence to generate input strategies and runnable tests, catching edge cases that example-based tests miss.

How do I apply property-based testing to smart contracts?▼

Apply property-based testing to smart contracts by mapping invariants and validation patterns to contract-specific tooling like Echidna, generating tests that target edge cases.

What's the best way to generate input strategies for serialization and validation tests?▼

The best way to generate input strategies for serialization and validation tests is to identify applicable properties, map them to tooling like Hypothesis or fast-check, and document runnable examples.

Does property-based testing work with Hypothesis, fast-check, and proptest across different languages?▼

Yes, property-based testing works across multiple languages by mapping identified properties and cross-language patterns to tooling like Hypothesis, fast-check, and proptest.

When do I need property-based testing for safer refactoring?▼

You need property-based testing for safer refactoring when you require stronger test coverage to catch edge cases early, rather than relying solely on example-based tests.

What properties should I identify when reviewing property-based tests?▼

When reviewing property-based tests, identify properties like roundtrip, idempotence, and invariants to ensure input strategies and generated tests provide robust coverage.