test-strategy
Test planning and strategy patterns
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Test planning and strategy patterns
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Patterns for generating Gamma.app-compatible slide deck markdown from GitHub data for customer-facing account management presentations
Patterns for generating Gamma.app-compatible slide deck markdown from Linear data for customer-facing account management presentations
Patterns and templates for creating sprint/project retrospective reports from Jira data with time tracking and blocker analysis.
Multi-platform Electron build configuration - esbuild bundling, electron-builder setup, and distribution
Integrate external CLI tools (Claude, Node, npx) in Electron apps with proper PATH handling
Handle native Node.js modules in Electron - better-sqlite3, sharp, keytar packaging patterns
| name | test-strategy |
| description | Test planning and strategy patterns |
Patterns for planning and organizing test suites.
โโโโโโโโโโโ
โ E2E โ Few - Slow, Expensive
โโโโโโโโโโโค
โ Integ โ Some - Medium
โโโโโโโโโโโค
โ Unit โ Many - Fast, Cheap
โโโโโโโโโโโ
tests/
โโโ auth/
โ โโโ login.test.ts
โ โโโ logout.test.ts
โ โโโ register.test.ts
โ โโโ password-reset.test.ts
โโโ users/
โ โโโ create-user.test.ts
โ โโโ update-user.test.ts
โ โโโ delete-user.test.ts
โโโ orders/
โโโ create-order.test.ts
โโโ order-flow.e2e.ts
tests/
โโโ unit/
โ โโโ services/
โ โโโ utils/
โ โโโ models/
โโโ integration/
โ โโโ api/
โ โโโ database/
โโโ e2e/
โโโ flows/
โโโ pages/
Tests that must never fail:
Tests for important features:
Tests for auxiliary features:
// should [expected behavior] when [condition]
it('should return empty array when no users exist')
it('should throw ValidationError when email is invalid')
it('should update user when data is valid')
describe('UserService', () => {
describe('createUser', () => {
describe('with valid data', () => {
it('should create user')
it('should send welcome email')
})
describe('with invalid data', () => {
it('should throw ValidationError for missing email')
it('should throw ValidationError for invalid email format')
})
})
})
// fixtures/users.ts
export const validUser = {
email: 'test@example.com',
name: 'Test User',
role: 'user'
}
export const adminUser = {
email: 'admin@example.com',
name: 'Admin User',
role: 'admin'
}
export const invalidUsers = {
missingEmail: { name: 'No Email' },
invalidEmail: { email: 'not-an-email', name: 'Bad Email' }
}
// factories/user.factory.ts
import { faker } from '@faker-js/faker'
export function createUser(overrides = {}) {
return {
id: faker.string.uuid(),
email: faker.internet.email(),
name: faker.person.fullName(),
createdAt: faker.date.past(),
...overrides
}
}
// Usage
const user = createUser({ role: 'admin' })
const users = Array.from({ length: 10 }, () => createUser())
{
"coverageThreshold": {
"global": {
"branches": 80,
"functions": 80,
"lines": 80,
"statements": 80
},
"./src/services/": {
"branches": 90,
"lines": 90
}
}
}
Used by:
unit-test-developer agentapi-test-developer agente2e-test-developer agent