Choosing Your Learning Path
πΊοΈ NAVIGATION | Find the right resources for your goals
This page helps you navigate the documentation based on what you want to accomplish.
Quick Navigation by Goal
"I'm just getting started"
Duration: 1-2 hours | Difficulty: Beginner
Start here and follow in order:
- Introduction (10 min) - Understand Chicago TDD philosophy
- Quick Start Tutorial (25 min) - Write your first test
- Fixtures Deep Dive (15 min) - Master test isolation
- Core Testing Patterns (20 min) - Learn the essentials
- Error Path Testing (15 min) - Find where bugs hide
Next step: Pick one real-world tutorial based on what you want to build.
"I want to build a CLI application"
Duration: 1-2 hours | Difficulty: Intermediate
Follow this path:
- Quick Start (25 min) - Review basics
- CLI Application Tutorial (45 min) - Build complete CLI
- CLI Testing (20 min) - Test CLI output with golden files
- Best Practices (30 min) - Production patterns
Key files to reference:
- TestFixture API - For test isolation
- Error Path Testing - Test error cases
"I want to build a REST API / Web Service"
Duration: 1.5-2.5 hours | Difficulty: Intermediate
Follow this path:
- Quick Start (25 min) - Review basics
- REST Web Service Tutorial (50 min) - Build complete API
- Integration Testing with Docker (30 min) - Test with real database
- Observability & Quality (20 min) - Add monitoring
Key files to reference:
- Data Builders - For building test data
- Error Path Testing - Test error responses
"I need to test complex logic"
Duration: 2-3 hours | Difficulty: Intermediate-Advanced
Follow this path:
- Error Path Testing (15 min) - Comprehensive error testing
- Property-Based Testing (30 min) - Generate test cases
- Mutation Testing (20 min) - Validate test quality
- Concurrency Testing (20 min) - Test thread safety
Key files to reference:
- Core Testing Patterns - For building blocks
- Best Practices - Quality assurance patterns
"I want to ensure high-quality tests"
Duration: 1-2 hours | Difficulty: Intermediate
Follow this path:
- Error Path Testing (15 min) - Test error cases thoroughly
- Mutation Testing (20 min) - Validate test quality
- Coverage & Performance (20 min) - Measure metrics
- Best Practices (30 min) - Industry patterns
Tools:
- Run
cargo make coverage- Generate coverage reports - Run
cargo make test-mutation- Validate test quality - Use
TestFixturesnapshots - Track state changes
"I'm migrating from another testing framework"
Duration: 1.5-2 hours | Difficulty: Beginner-Intermediate
Follow this path:
- Introduction (10 min) - Understand differences
- Quick Start (25 min) - Learn Chicago TDD style
- Core Testing Patterns (20 min) - Relearn with new approach
- Best Practices & Migration (30 min) - Strategies for migration
Key concepts to learn:
- Real dependencies vs mocks
- Type-level correctness
- AAA pattern enforcement
- Poka-yoke design
"I need a specific feature"
Find your feature in this table:
| Feature | Where to Find It |
|---|---|
| Testing basic functions | Core Patterns |
| Fixtures & setup | Fixtures Tutorial |
| Building test data | Data Builders |
| Assertions | Assertions & Verification |
| Error testing | Error Path Testing |
| Random test data | Property Testing |
| Test output validation | Snapshot Testing |
| Testing CLI apps | CLI Testing |
| Testing threads | Concurrency Testing |
| Test quality validation | Mutation Testing |
| Test metrics | Coverage & Performance |
| Observability | OTEL Instrumentation |
| Production patterns | Best Practices |
Learning Path Summary
Beginner (0-1 day)
Quick Start (25 min)
β
Fixtures Deep Dive (15 min)
β
Core Patterns (20 min)
β
Pick a real-world tutorial (45-50 min)
Intermediate (1-3 days)
Complete Beginner path
β
Advanced Techniques (property, mutation, snapshot)
β
Real-world applications (CLI, Web Service, Docker)
β
Best Practices
Advanced (3+ days)
Complete Intermediate path
β
Observability & OTEL
β
Performance & Coverage
β
Mutation testing & quality validation
β
Write your own applications
Decision Matrix
Choose based on your situation:
If you're ...
| Situation | Time Available | Difficulty | Start Here |
|---|---|---|---|
| Completely new to testing | 2 hours | Easy | Quick Start |
| Have testing experience | 1.5 hours | Medium | Introduction |
| Experienced developer | 1 hour | Medium | CLI or Web Service |
| Need specific feature | Varies | Varies | Feature table above |
| Want certification-level knowledge | 1 week | Hard | Complete all tutorials + real-world projects |
Common Starting Points
"Show me code examples"
β Jump to Real-World Applications
"I need to solve a problem right now"
β Search Best Practices or use feature table above
"I want to understand the philosophy"
β Read Introduction and "Go the Extra Mile"
"I'm evaluating this for my team"
β Read Introduction and skim Best Practices
"I want to learn everything"
β Follow the progressive learning paths in "Learning Path Summary" above
Next Steps After Learning
After completing Quick Start & Fixtures
β Choose one real-world tutorial to build something real
After completing a real-world tutorial
β Explore Advanced Techniques that match your needs
After exploring multiple areas
β Best Practices - See industry patterns
After mastering the basics
β Build something with Chicago TDD:
- Open-source contribution
- Side project
- Production application
- Team migration
FAQ
Q: What's the best starting point? A: Quick Start if brand new, otherwise Introduction.
Q: How long does it take to learn? A: 2-4 hours for basics, 1-2 weeks to master all techniques.
Q: Should I read everything? A: No. Focus on tutorials matching your needs, use reference as needed.
Q: Can I skip sections? A: Yes. Each section is independent except tutorials (follow in order).
Q: Where's the API reference? A: API Reference - More coming soon!
Q: Do I need prior testing experience? A: No, but experience helps. Chicago TDD teaches a specific approach.
Document Index
Tutorials (Learning-Oriented)
- Quick Start - 25 min, beginner
- Fixtures Deep Dive - 15 min, beginner
- CLI Application - 45 min, intermediate
- REST Web Service - 50 min, intermediate
Core (How-To Guides)
- Fixtures - How to use fixtures
- Data Builders - Build complex test data
- Assertions - Make clear assertions
- Error Paths - Test failure cases
Advanced (How-To Guides)
- Property Testing - Generate test cases
- Mutation Testing - Validate tests
- Snapshot Testing - Compare golden files
- CLI Testing - Test CLI apps
- Concurrency Testing - Thread safety
Guides (How-To + Explanation)
- The Extra Mile Pattern - Design decisions
- Best Practices - Production patterns
- Coverage & Performance - Metrics
- Observability - Monitoring & telemetry
- OTEL Instrumentation - Add OpenTelemetry
- Weaver Validation - Validate telemetry
- Real-World Applications - Example projects
Reference (Lookup-Oriented)
- TestFixture API - Complete API docs
Quick Links
| Need | Link |
|---|---|
| Quick start | Getting Started |
| Code examples | Real-World Applications |
| Specific feature | Search this page or use feature table |
| API documentation | API Reference |
| Best practices | Best Practices |
| Understanding concepts | Introduction |
Tip: Bookmark this page and return when you need guidance on what to learn next.