ワンクリックで
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.