← ClaudeAtlas

testing-strategieslisted

Design comprehensive testing strategies for software quality assurance. Use when planning test coverage, implementing test pyramids, or setting up testing infrastructure. Handles unit testing, integration testing, E2E testing, TDD, and testing best practices.
aiskillstore/marketplace · ★ 329 · Testing & QA · score 82
Install: claude install-skill aiskillstore/marketplace
# Testing Strategies ## When to use this skill - **New project**: define a testing strategy - **Quality issues**: bugs happen frequently - **Before refactoring**: build a safety net - **CI/CD setup**: automated tests ## Instructions ### Step 1: Understand the Test Pyramid ``` /\ /E2E\ ← few (slow, expensive) /______\ / \ /Integration\ ← medium /____________\ / \ / Unit Tests \ ← many (fast, inexpensive) /________________\ ``` **Ratio guide**: - Unit: 70% - Integration: 20% - E2E: 10% ### Step 2: Unit testing strategy **Given-When-Then pattern**: ```typescript describe('calculateDiscount', () => { it('should apply 10% discount for orders over $100', () => { // Given: setup const order = { total: 150, customerId: '123' }; // When: perform action const discount = calculateDiscount(order); // Then: verify result expect(discount).toBe(15); }); it('should not apply discount for orders under $100', () => { const order = { total: 50, customerId: '123' }; const discount = calculateDiscount(order); expect(discount).toBe(0); }); it('should throw error for invalid order', () => { const order = { total: -10, customerId: '123' }; expect(() => calculateDiscount(order)).toThrow('Invalid order'); }); }); ``` **Mocking strategy**: ```typescript // Mock external dependencies jest.mock('../services/emailService'); import { sendEmail } from '../services/emailServi