← ClaudeAtlas

testing-checklistlisted

Testing checklist — test pyramid, what to test vs skip, DAMP over DRY, the TDD red-green-refactor loop for new code, failing-test-first for bug fixes, Vitest / React Testing Library patterns. Use when writing or reviewing tests, deciding test coverage for a change, driving new code test-first, fixing a bug (regression test), or when the user asks "what should I test here", "покрой тестами", "review the tests". Pairs with /verify (runtime verification) and the persona's Verification Exit Criterion. Sibling of /web-security-checklist and /web-performance-checklist.
yuri-semenenko/ai-engineering-workspace · ★ 1 · Testing & QA · score 72
Install: claude install-skill yuri-semenenko/ai-engineering-workspace
# Testing Checklist A pragmatic checklist for writing and reviewing tests. Read the relevant section for the change at hand rather than the whole file. Tests are the executable spec — optimize them for reading, not for coverage numbers. ## Rationalizations (read first) | Rationalization | Rebuttal | |---|---| | "I'll add tests later." | Later is the load-bearing word — it rarely arrives. The test is part of the change, not a follow-up. | | "Tests pass, ship it." | Passing tests are evidence, not proof. They only cover what they assert — check what they *don't* cover. | | "This code is too simple to break." | Simple code with branch logic breaks at the boundaries. Test the boundaries, skip the trivial middle. | | "Coverage is at N%, we're good." | Coverage measures execution, not assertion. A test with no meaningful assert inflates N and catches nothing. | | "The bug is fixed, no test needed." | A fix without a regression test is a bug on a return ticket. Red first, then green. | | "I'll write the code first, then add tests." | Test-after validates the code you happened to write, not the behavior you wanted. Red first keeps the test honest. | | "I'll DRY up these tests with helpers." | Test code is spec, not production code. DAMP wins: some duplication beats indirection the reader must unfold. | ## What to test (in priority order) - [ ] **Branch logic** — every non-trivial `if`/`switch`/early-return path, especially error paths. - [ ] **Boundaries** — empty input, one ite