fuzz-testing

Solid

Fuzzing for finding edge cases and crashes

Testing & QA 183 stars 39 forks Updated 1 months ago MIT

Install

View on GitHub

Quality Score: 90/100

Stars 20%
75
Recency 20%
75
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Skill: fuzz-testing ## What I do I guide fuzzing strategy: use Go's built-in fuzz testing to discover edge cases, crashes, and unexpected behaviour by feeding random and mutated inputs to functions. Covers target selection, corpus management, and crash analysis. ## When to use me - Testing parsers, validators, or serialisation functions - Finding edge cases in string/data processing - Discovering panic-inducing inputs - Hardening public API surfaces - After fixing a bug (add crash input to corpus) ## Core principles 1. **Fuzz boundaries** - Focus on functions that parse, validate, or transform input 2. **Start with a seed corpus** - Provide known-good inputs as starting points 3. **Run long enough** - Short runs miss rare crashes (minimum 30 seconds) 4. **Fix crashes, add to corpus** - Every crash input becomes a regression test 5. **Fuzz one function at a time** - Isolated targets give clearer results ## Target selection ``` GOOD FUZZ TARGETS (high value) Parsers (JSON, YAML, custom formats) Validators (email, URL, date strings) Serialisation/deserialisation String manipulation functions Type conversion functions POOR FUZZ TARGETS (low value) Simple getters/setters Database queries (need infrastructure) UI rendering functions Functions with no error paths ``` ## Patterns & examples **Basic Go fuzz test:** ```go func FuzzParseDate(f *testing.F) { // Seed corpus with known inputs f.Add("2024-01-15") f.Add("2023-12-31") f.Add("") ...

Details

Author
majiayu000
Repository
majiayu000/claude-skill-registry
Created
5 months ago
Last Updated
1 months ago
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category