test-strategy

Assess Rust code to recommend unit, property, fuzz, Kani, or simulation testing strategies.

2|Updated Jan 24, 2026
One-click install
npx skills add https://github.com/ahrav/scratch-scanner-rs --skill test-strategy-ahrav
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: test-strategy
Source: https://github.com/ahrav/scratch-scanner-rs/tree/main/.claude/skills/test-strategy
Command: npx skills add https://github.com/ahrav/scratch-scanner-rs --skill test-strategy-ahrav

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps developers select the most effective testing strategy for their Rust code, ensuring robust and reliable software by leveraging a diverse toolkit.

Core Features & Use Cases

  • Strategy Assessment: Analyzes code characteristics to recommend the best testing approach.
  • Tooling Guidance: Provides clear use cases for unit tests, property-based tests, fuzz tests, Kani model checking, and simulation tests.
  • Use Case: A developer has written a new parsing function in Rust and is unsure whether to focus on unit tests, property-based tests, or fuzzing. This Skill guides them to use fuzz tests for untrusted input and property tests for round-trip correctness.

Quick Start

Advise me on the best testing strategy for a new Rust function that parses untrusted network data.

Frequently Asked Questions about test-strategy

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

FAQPage Schema
What's the best way to choose a Rust testing strategy for untrusted input?

Fuzz testing is recommended for untrusted input in Rust to discover edge cases and parsing vulnerabilities. Property-based testing is better suited for verifying round-trip correctness and invariants across a generated input domain.

How do I decide between property-based testing and unit tests for Rust code?

Unit tests verify fixed inputs and expected outputs, while property-based tests generate diverse inputs to validate invariants. Analyze your code characteristics and the specific properties to verify to select the right approach.

When should I use Kani model checking instead of simulation testing in Rust?

Kani model checking mathematically verifies logical correctness and safety properties, while simulation testing evaluates dynamic system behavior over time using execution harnesses. Choose Kani for formal proofs and simulation for complex stateful interactions.

How do I set up a simulation testing harness for a Rust parsing function?

Setting up simulation testing for a Rust parsing function involves defining a harness that models the input domain and stateful environment. The framework guides you through building harnesses to evaluate behavior under simulated operational conditions.

Does this testing framework support both fuzzing and property-based tests for Rust?

Yes, the framework supports both fuzzing and property-based tests for Rust. It assesses code characteristics and provides specific examples for each testing type, guiding users through a decision framework to apply them effectively.