TDD Guide - Test Driven Development for Engineering Teams
A comprehensive Test Driven Development skill that provides intelligent test generation, coverage analysis, framework integration, and TDD workflow guidance across multiple languages and testing frameworks.
Capabilities
Test Generation
- Generate Test Cases from Requirements: Convert user stories, API specs, and business requirements into executable test cases
- Create Test Stubs: Generate test function scaffolding with proper naming, imports, and setup/teardown
- Generate Test Fixtures: Create realistic test data, mocks, and fixtures for various scenarios
TDD Workflow Support
- Guide Red-Green-Refactor: Step-by-step guidance through TDD cycles with validation
- Suggest Missing Scenarios: Identify untested edge cases, error conditions, and boundary scenarios
- Review Test Quality: Analyze test isolation, assertions quality, naming conventions, and maintainability
Coverage & Metrics Analysis
- Calculate Coverage: Parse LCOV, JSON, and XML coverage reports for line/branch/function coverage
- Identify Untested Paths: Find code paths, branches, and error handlers without test coverage
- Recommend Improvements: Prioritized recommendations (P0/P1/P2) for coverage gaps and test quality
Framework Integration
- Multi-Framework Support: Jest, Pytest, JUnit, Vitest, Mocha, RSpec adapters
- Generate Boilerplate: Create test files with proper imports, describe blocks, and best practices
- Configure Test Runners: Set up test configuration, coverage tools, and CI integration
Comprehensive Metrics
- Test Coverage: Line, branch, function coverage with gap analysis
- Code Complexity: Cyclomatic complexity, cognitive complexity, testability scoring
- Test Quality: Assertions per test, isolation score, naming quality, test smell detection
- Test Data: Boundary value analysis, edge case identification, mock data generation
- Test Execution: Timing analysis, slow test detection, flakiness detection
- Missing Tests: Uncovered edge cases, error handling gaps, missing integration scenarios
Input Requirements
The skill supports automatic format detection for flexible input:
Source Code
- Languages: TypeScript, JavaScript, Python, Java
- Format: Direct file paths or copy-pasted code blocks
- Detection: Automatic language/framework detection from syntax and imports
Test Artifacts
- Coverage Reports: LCOV (.lcov), JSON (coverage-final.json), XML (cobertura.xml)
- Test Results: JUnit XML, Jest JSON, Pytest JSON, TAP format
- Format: File paths or raw coverage data
Requirements (Optional)
- User Stories: Text descriptions of functionality
- API Specifications: OpenAPI/Swagger, REST endpoints, GraphQL schemas
- Business Requirements: Acceptance criteria, business rules
Input Methods
- Option A: Provide file paths (skill will read files)
- Option B: Copy-paste code/data directly
- Option C: Mix of both (automatically detected)
Output Formats
The skill provides context-aware output optimized for your environment:
Code Files
- Test Files: Generated tests (Jest/Pytest/JUnit/Vitest) with proper structure
- Fixtures: Test data files, mock objects, factory functions
- Mocks: Mock implementations, stub functions, test doubles
Reports
- Markdown: Rich coverage reports, recommendations, quality analysis (Claude Desktop)
- JSON: Machine-readable metrics, structured data for CI/CD integration
- Terminal-Friendly: Simplified output for Claude Code CLI
Smart Defaults
- Desktop/Apps: Rich markdown with tables, code blocks, visual hierarchy
- CLI: Concise, terminal-friendly format with clear sections
- CI/CD: JSON output for automated processing
Progressive Disclosure
- Summary First: High-level overview (<200 tokens)
- Details on Demand: Full analysis available (500-1000 tokens)
- Prioritized: P0 (critical) → P1 (important) → P2 (nice-to-have)
How to Use
Basic Usage
@tdd-guide
I need tests for my authentication module. Here's the code:
[paste code or provide file path]
Generate comprehensive test cases covering happy path, error cases, and edge cases.
Coverage Analysis
@tdd-guide
Analyze test coverage for my TypeScript project. Coverage report: coverage/lcov.info
Identify gaps and provide prioritized recommendations.
TDD Workflow
@tdd-guide
Guide me through TDD for implementing a password validation function.
Requirements:
- Min 8 characters
- At least 1 uppercase, 1 lowercase, 1 number, 1 special char
- No common passwords
Multi-Framework Support
@tdd-guide
Convert these Jest tests to Pytest format:
[paste Jest tests]
Scripts
Core Modules
- test_generator.py: Intelligent test case generation from requirements and code
- coverage_analyzer.py: Parse and analyze coverage reports (LCOV, JSON, XML)
- metrics_calculator.py: Calculate comprehensive test and code quality metrics
- framework_adapter.py: Multi-framework adapter (Jest, Pytest, JUnit, Vitest)
- tdd_workflow.py: Red-green-refactor workflow guidance and validation
- fixture_generator.py: Generate realistic test data and fixtures
- format_detector.py: Automatic language and framework detection
Utilities
- complexity_analyzer.py: Cyclomatic and cognitive complexity analysis
- test_quality_scorer.py: Test quality scoring (isolation, assertions, naming)
- missing_test_detector.py: Identify untested paths and missing scenarios
- output_formatter.py: Context-aware output formatting (Desktop vs CLI)
🔄 Workflow
Kaynak: Kent Beck - Test Driven Development by Example & Google Testing Blog
Aşama 1: RED - Test-First Approach
Aşama 2: GREEN - Implementation
Aşama 3: REFACTOR - Clean Code
Kontrol Noktaları
| Aşama |
Doğrulama |
| 1 |
Testler "Implementation Details" yerine "Behavior"ı mı test ediyor? |
| 2 |
Her test fonksiyonu bağımsız (Isolated) mı? |
| 3 |
Kod coverage hedefine (%80+) ulaşıldı mı? |
TDD Workflow v2.0 - With Workflow
1---2name: tdd-workflow3description: TDD Guide - Test Driven Development for Engineering Teams4---56# TDD Guide - Test Driven Development for Engineering Teams78A comprehensive Test Driven Development skill that provides intelligent test generation, coverage analysis, framework integration, and TDD workflow guidance across multiple languages and testing frameworks.910## Capabilities1112### Test Generation13- **Generate Test Cases from Requirements**: Convert user stories, API specs, and business requirements into executable test cases14- **Create Test Stubs**: Generate test function scaffolding with proper naming, imports, and setup/teardown15- **Generate Test Fixtures**: Create realistic test data, mocks, and fixtures for various scenarios1617### TDD Workflow Support18- **Guide Red-Green-Refactor**: Step-by-step guidance through TDD cycles with validation19- **Suggest Missing Scenarios**: Identify untested edge cases, error conditions, and boundary scenarios20- **Review Test Quality**: Analyze test isolation, assertions quality, naming conventions, and maintainability2122### Coverage & Metrics Analysis23- **Calculate Coverage**: Parse LCOV, JSON, and XML coverage reports for line/branch/function coverage24- **Identify Untested Paths**: Find code paths, branches, and error handlers without test coverage25- **Recommend Improvements**: Prioritized recommendations (P0/P1/P2) for coverage gaps and test quality2627### Framework Integration28- **Multi-Framework Support**: Jest, Pytest, JUnit, Vitest, Mocha, RSpec adapters29- **Generate Boilerplate**: Create test files with proper imports, describe blocks, and best practices30- **Configure Test Runners**: Set up test configuration, coverage tools, and CI integration3132### Comprehensive Metrics33- **Test Coverage**: Line, branch, function coverage with gap analysis34- **Code Complexity**: Cyclomatic complexity, cognitive complexity, testability scoring35- **Test Quality**: Assertions per test, isolation score, naming quality, test smell detection36- **Test Data**: Boundary value analysis, edge case identification, mock data generation37- **Test Execution**: Timing analysis, slow test detection, flakiness detection38- **Missing Tests**: Uncovered edge cases, error handling gaps, missing integration scenarios3940## Input Requirements4142The skill supports **automatic format detection** for flexible input:4344### Source Code45- **Languages**: TypeScript, JavaScript, Python, Java46- **Format**: Direct file paths or copy-pasted code blocks47- **Detection**: Automatic language/framework detection from syntax and imports4849### Test Artifacts50- **Coverage Reports**: LCOV (.lcov), JSON (coverage-final.json), XML (cobertura.xml)51- **Test Results**: JUnit XML, Jest JSON, Pytest JSON, TAP format52- **Format**: File paths or raw coverage data5354### Requirements (Optional)55- **User Stories**: Text descriptions of functionality56- **API Specifications**: OpenAPI/Swagger, REST endpoints, GraphQL schemas57- **Business Requirements**: Acceptance criteria, business rules5859### Input Methods60- **Option A**: Provide file paths (skill will read files)61- **Option B**: Copy-paste code/data directly62- **Option C**: Mix of both (automatically detected)6364## Output Formats6566The skill provides **context-aware output** optimized for your environment:6768### Code Files69- **Test Files**: Generated tests (Jest/Pytest/JUnit/Vitest) with proper structure70- **Fixtures**: Test data files, mock objects, factory functions71- **Mocks**: Mock implementations, stub functions, test doubles7273### Reports74- **Markdown**: Rich coverage reports, recommendations, quality analysis (Claude Desktop)75- **JSON**: Machine-readable metrics, structured data for CI/CD integration76- **Terminal-Friendly**: Simplified output for Claude Code CLI7778### Smart Defaults79- **Desktop/Apps**: Rich markdown with tables, code blocks, visual hierarchy80- **CLI**: Concise, terminal-friendly format with clear sections81- **CI/CD**: JSON output for automated processing8283### Progressive Disclosure84- **Summary First**: High-level overview (<200 tokens)85- **Details on Demand**: Full analysis available (500-1000 tokens)86- **Prioritized**: P0 (critical) → P1 (important) → P2 (nice-to-have)8788## How to Use8990### Basic Usage91```92@tdd-guide9394I need tests for my authentication module. Here's the code:95[paste code or provide file path]9697Generate comprehensive test cases covering happy path, error cases, and edge cases.98```99100### Coverage Analysis101```102@tdd-guide103104Analyze test coverage for my TypeScript project. Coverage report: coverage/lcov.info105106Identify gaps and provide prioritized recommendations.107```108109### TDD Workflow110```111@tdd-guide112113Guide me through TDD for implementing a password validation function.114115Requirements:116- Min 8 characters117- At least 1 uppercase, 1 lowercase, 1 number, 1 special char118- No common passwords119```120121### Multi-Framework Support122```123@tdd-guide124125Convert these Jest tests to Pytest format:126[paste Jest tests]127```128129## Scripts130131### Core Modules132133- **test_generator.py**: Intelligent test case generation from requirements and code134- **coverage_analyzer.py**: Parse and analyze coverage reports (LCOV, JSON, XML)135- **metrics_calculator.py**: Calculate comprehensive test and code quality metrics136- **framework_adapter.py**: Multi-framework adapter (Jest, Pytest, JUnit, Vitest)137- **tdd_workflow.py**: Red-green-refactor workflow guidance and validation138- **fixture_generator.py**: Generate realistic test data and fixtures139- **format_detector.py**: Automatic language and framework detection140141### Utilities142143- **complexity_analyzer.py**: Cyclomatic and cognitive complexity analysis144- **test_quality_scorer.py**: Test quality scoring (isolation, assertions, naming)145- **missing_test_detector.py**: Identify untested paths and missing scenarios146- **output_formatter.py**: Context-aware output formatting (Desktop vs CLI)147148## 🔄 Workflow149150> **Kaynak:** [Kent Beck - Test Driven Development by Example](https://www.oreilly.com/library/view/test-driven-development/0321146530/) & [Google Testing Blog](https://testing.googleblog.com/)151152### Aşama 1: RED - Test-First Approach153- [ ] **Interface Design**: Kodun nasıl çalışması gerektiğini (Input/Output) belirle ve testi yaz.154- [ ] **Fail Confirmation**: Testi çalıştır ve kod henüz yazılmadığı için başarısız (Red) olduğunu gör.155- [ ] **Assertion Clarity**: Testin neden başarısız olduğunu açıklayan net bir hata mesajı aldığından emin ol.156157### Aşama 2: GREEN - Implementation158- [ ] **Minimal Code**: Sadece testin geçmesi için gereken en basit/minimal kodu yaz.159- [ ] **Pass Verification**: Tüm testlerin "Yeşil" döndüğünü doğrula.160- [ ] **Avoid Over-Engineering**: Test kapsamı dışında kalan özellikleri implement etme.161162### Aşama 3: REFACTOR - Clean Code163- [ ] **Code Cleanup**: Kodu SOLID prensiplerine göre optimize et, isimlendirmeleri düzelt.164- [ ] **Test Refinement**: Testlerin okunabilirliğini artır, tekrarları (`setup/teardown`) optimize et.165- [ ] **Regression Check**: Her refactoring adımından sonra testlerin hala yeşil olduğunu doğrula.166167### Kontrol Noktaları168| Aşama | Doğrulama |169|-------|-----------|170| 1 | Testler "Implementation Details" yerine "Behavior"ı mı test ediyor? |171| 2 | Her test fonksiyonu bağımsız (Isolated) mı? |172| 3 | Kod coverage hedefine (%80+) ulaşıldı mı? |173174---175*TDD Workflow v2.0 - With Workflow*