This release focuses on test budget efficiency - getting more value from every test case.
Benchmarks against a real-world API show success rate improved from 5% to 48%, meaning tests now reach deeper application logic instead of being rejected at input validation.
🚀 Added
- Automatic success rate targeting to guide test generation toward valid API inputs.
- Translate PCRE Unicode property escapes (
\p{L},\p{N}) to Python regex equivalents. - Propagate shared path parameters in inferred links for nested resources.
- Fuzzing phase now uses valid resource relationships for nested paths.
🔧 Changed
- Deprioritize
nullandbooleantype mutations for path parameters to improve test budget efficiency. - Recency-weighted sampling of captured resource IDs to reduce repeated operations on the same resources.
- Bias path parameter integers toward positive values to reduce test budget spent on likely invalid IDs.
- Use
st.sampled_fromfor captured variants instead of schema augmentation. - Context-aware resource pool to preserve diversity across parent resources.
- Bias test generation toward captured IDs over random values.
- Reduce negative test generation for parameters with captured response values.
🐛 Fixed
- Captured resource ID selection biased toward early indices.
- Resource pool capacity too small, causing most captured resources to be evicted before use.
- Resource pool not recording IDs from successful responses when other test cases in the same scenario failed.
- Incorrect operation ordering within dependency layers.