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.