원클릭으로
test-strategy
Shared test methodology for backend and frontend. Load when planning test suites or evaluating coverage value
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Shared test methodology for backend and frontend. Load when planning test suites or evaluating coverage value
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
External API evaluation and MCP server wrapper generation. Load when integrating a REST/GraphQL API as a workspace tool
Capability-based provider system patterns. Load when creating providers or wiring module-provider integration
Full-stack WebSocket subscription development. Load when adding WS routes, topic services, or debugging WS data flows
Systematic Python type error resolution (mypy/pyright). Load when fixing backend type check failures
Type-first Python with Pydantic, Protocol, and discriminated unions. Load when writing models or enforcing typing
Systematic type error resolution for Python (mypy/pyright) and TypeScript (vue-tsc). Use when fixing type errors, resolving type check failures, or optimizing type imports.
| name | test-strategy |
| description | Shared test methodology for backend and frontend. Load when planning test suites or evaluating coverage value |
| user-invocable | false |
Reusable methodology for planning, implementing, and validating test suites across backend (pytest) and frontend (Vitest) stacks.
Apply when:
Break any testable surface into four categories:
| Category | What to Test | Examples |
|---|---|---|
| Happy path | Expected inputs → expected outputs | Valid request returns 200, component renders correct text |
| Boundary conditions | Empty inputs, max values, type edges | Empty list, null props, max-length string, zero quantity |
| Error scenarios | Invalid inputs, missing auth, service failures | 401 without token, 422 with bad payload, rejected promise |
| State transitions | Lifecycle, subscriptions, reactive changes | Order placed → filled → cancelled, WebSocket connect → message → disconnect |
Not all tests are equal. Prioritize by risk-reduction:
Highest Value Lowest Value
────────────────────────────────────────────────────────
Untested Untested Untested Already-tested
business logic error paths edge cases happy paths
When reporting gaps, state both the gap AND its risk level:
Before writing any tests, produce a summary:
Target: {module/component/service}
Setup: {fixture pattern — e.g., AsyncClient, mount(), vi.stubGlobal}
Planned tests:
- Happy path: N tests
- Boundary: N tests
- Error: N tests
- State transitions: N tests
Total: N tests
This checkpoint forces reasoning about coverage strategy BEFORE implementation.
After running tests, before reporting results:
When analyzing coverage or evaluating test quality:
When creating N planned tests, track progress before declaring done:
| Test | Status |
|---|---|
| {test name 1} | ✅ / ❌ |
| {test name N} | ✅ / ❌ |
If any show ❌, continue working — do not declare completion.