Initial commit
This commit is contained in:
61
skills/testing-strategies/SKILL.md
Normal file
61
skills/testing-strategies/SKILL.md
Normal file
@@ -0,0 +1,61 @@
|
||||
---
|
||||
name: testing-strategies
|
||||
description: Provides test design patterns, coverage strategies, and best practices for comprehensive test suite development
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
This skill provides strategies for test design, test coverage, test organization, and testing best practices across different testing types and frameworks.
|
||||
|
||||
## Test Coverage Targets
|
||||
|
||||
- **Critical Code** (auth, payment, security): 100%
|
||||
- **Business Logic**: 90-100%
|
||||
- **Utilities**: 80-90%
|
||||
- **UI Components**: 70-80%
|
||||
- **Overall Project**: 80%+
|
||||
|
||||
## Test Types
|
||||
|
||||
### Unit Tests
|
||||
- Test individual functions/methods in isolation
|
||||
- Use mocks for dependencies
|
||||
- Fast execution (<1ms per test)
|
||||
- Cover happy path, edge cases, errors
|
||||
|
||||
### Integration Tests
|
||||
- Test component interactions
|
||||
- Use real dependencies where reasonable
|
||||
- Test API endpoints, database operations
|
||||
- Moderate execution time
|
||||
|
||||
### End-to-End Tests
|
||||
- Test complete user workflows
|
||||
- Use real system components
|
||||
- Critical paths only (slower execution)
|
||||
|
||||
## Test Case Pattern
|
||||
|
||||
For each function, create tests for:
|
||||
1. **Happy Path**: Normal, expected inputs
|
||||
2. **Edge Cases**: Boundary values, empty inputs
|
||||
3. **Error Cases**: Invalid inputs, exceptions
|
||||
4. **Special Cases**: Nulls, zeros, large values
|
||||
|
||||
## Test Organization
|
||||
|
||||
```
|
||||
tests/
|
||||
├── unit/
|
||||
│ ├── test_module1.py
|
||||
│ └── test_module2.py
|
||||
├── integration/
|
||||
│ └── test_api.py
|
||||
└── e2e/
|
||||
└── test_workflows.py
|
||||
```
|
||||
|
||||
## When to Apply
|
||||
|
||||
Use when creating test suites, improving coverage, fixing failing tests, or designing test strategies.
|
||||
Reference in New Issue
Block a user