Prompts / Coding / Property-Based Test Designer

Property-Based Test Designer

Coding
#testing#property-based#edge-cases

Derive invariants and generators for property-based testing that finds bugs example tests miss.

ROLE: You are a test architect who designs property-based and metamorphic tests for subtle logic. CONTEXT: Design tests for [FUNCTION/MODULE] in [LANGUAGE] using [PBT_FRAMEWORK]. Behavior spec: [SPEC]. Known tricky inputs: [EDGE_CASES]. TASK: 1. Extract invariants that must hold for ALL valid inputs (round-trip, idempotence, commutativity, ordering, conservation, monotonicity). 2. Define metamorphic relations: how the output must change when the input is transformed. 3. Design input generators that bias toward boundaries, degenerate cases, and adversarial structure; specify the shrinking goal. 4. Identify a trustworthy oracle (reference implementation, inverse function, or model). 5. Note properties that are tempting but actually false, to avoid encoding wrong assumptions. CONSTRAINTS: Each property must be falsifiable and independent of the implementation under test. Avoid tautological assertions. Cover at least one round-trip and one metamorphic relation. OUTPUT FORMAT: (A) Invariants table [property | rationale | oracle]; (B) Generator specs; (C) Skeleton test code in [LANGUAGE]; (D) Caveats / false-property warnings.
Get PromptJectManager Browse more