skills/test-master/SKILL.md
Testing methodology: when to write which tests, how to ensure test quality, test pyramid strategy. Use when: "напиши тесты", "как тестировать", "проанализируй тесты", "проверь качество тестов", "ревью тестов", "тестовая стратегия"
npx skillsauth add pavel-molyanov/molyanov-ai-dev test-masterInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Test Pyramid:
/\
/E2E\ <- Few (3-5 critical flows)
/------\
/Integr.\ <- Some (all endpoints + DB)
/----------\
/ Unit \ <- Many (all business logic)
/--------------\
/ Smoke \ <- Minimal (1-2 basic tests)
/------------------\
Purpose: Verify basic project setup works.
Use for:
Written: During infrastructure setup (once per project)
Setting up smoke tests? Read smoke-tests.md — CI integration, example templates.
Purpose: Test business logic in isolation.
Use for:
Written: By code-developer during each task (immediately after code)
Skip for: Simple getters/setters, one-line changes, trivial updates
Writing unit tests? Read unit-tests.md — patterns, mocking, examples.
Purpose: Test API endpoints, database, and external services.
Use for:
Written: As separate task at end of feature (if defined in Tech Spec)
Rule: Every API endpoint and every DB write operation must have a corresponding integration test. Missing integration tests for these is a quality gap.
Writing integration tests? Read integration-tests.md — API testing, DB setup, fixtures.
Purpose: Test critical user journeys end-to-end.
Use for:
Written: After deploy to dev, before manual testing (if proposed/requested)
Writing E2E tests? Read e2e-tests.md — Playwright/Cypress setup, page objects, CI.
YES if:
NO if:
YES if:
NO if:
YES if:
NO if:
Tests that duplicate coverage waste time and create maintenance burden.
Signs of redundant testing:
Rule: Each test must justify its existence — it catches a specific failure that no other test catches. If removing the test reduces zero confidence, it belongs nowhere.
Tests nothing:
expect(true).toBe(true)
Tests only that mock was called:
expect(api.call).toHaveBeenCalled() // Without checking result
No assertions:
render(<Component />) // Just renders, checks nothing
Tests actual result:
expect(calculateTotal(100, 0.2)).toBe(80)
Tests real state change:
cart.add({ id: 1 })
expect(cart.items).toHaveLength(1)
If mocking 3+ dependencies -> use integration or E2E test instead.
For some project types, E2E tests are MORE valuable than unit tests:
| Project Type | Primary Tests | Why | |--------------|---------------|-----| | API/Backend | Unit + Integration | Logic in functions | | CLI Tools | Unit + Integration | Testable in isolation | | UI Apps | E2E + Integration | Logic in UI interaction | | Browser Extensions | E2E (real browser) | APIs can't be mocked reliably | | Mobile Apps | E2E | Platform APIs need real env |
Rule: If mocking more than testing -> wrong test type.
When reviewing existing tests, read test-quality-review.md — categories of bad tests, severity levels, decision criteria.
development
Creates user-spec.md through adaptive interview with codebase scanning and dual validation. Use when: "сделай юзер спек", "проведи интервью для юзер спека", "создай юзерспек", "user spec", "detailed planning", "хочу продумать фичу", "опиши требования к фиче", "сделай описание фичи", "/new-user-spec" For tech planning use tech-spec-planning. For project planning use project-planning.
testing
Creates tech-spec.md with architecture, decisions, testing strategy, and implementation plan. Use when: "сделай техспек", "составь техспек", "техническая спецификация", "tech spec", "создай тз", "составь тз", "new-tech-spec", "/new-tech-spec" Requires existing user-spec.md as input (create with user-spec-planning skill first if missing).
tools
Decompose approved tech-spec into atomic task files with parallel creation and validation. Use when: "разбей на задачи", "декомпозиция", "decompose tech-spec", "создай задачи из техспека", "/decompose-tech-spec"
testing
Test skills end-to-end: design test cases, run with/without skill, grade results, test description triggering accuracy, produce improvement report. Use when: "протестируй скилл", "запусти тесты для скилла", "проверь скилл", "run skill tests", "test this skill", "skill eval", "оцени скилл", "придумай тесты для скилла", "создай сценарии тестирования"