pev-test-designlisted
Install: claude install-skill myksyut/pev-harness
# pev-test-design
「AC が薄い」「テスト観点が漏れている」 状態を自動検出して plan / verify の質を底上げする skill。 古典 QA 技法 6 種を AC に適用し、 派生テスト観点を **planner に inject** したり、 **verifier に追加 check** として渡す。
参照: 外山@frontLineLLC, "AI駆動開発時代に、おさえておきたいQA技法", Zenn (2026-05-06)
## When to Use
起動すべき場面:
- planner agent が plan.md 生成時 (Phase 1 で AC を review、 不足を warning)
- verifier agent が AC を check する直前 (Phase 3 で派生テスト観点を追加)
- ユーザーが `/pev-test-design <issue-url>` を明示的に呼んだ時
- AC に **QA-trigger keyword** が含まれる時 (auto-dispatch):
- 数値・範囲系: `1〜N`、 `between A and B`、 `min/max`、 `limit`、 `range`、 `人数`、 `件数`
- 状態系: `状態`、 `権限`、 `permission`、 `role`、 `enabled/disabled`、 `active/inactive`
- 多条件系: `or`、 `and`、 `かつ`、 `または`、 `if`、 `when`
- 失敗系: `error`、 `失敗`、 `timeout`、 `retry`、 `rollback`
起動すべきでない場面:
- 1 行の trivial AC (例: "typo を修正する") → overhead に見合わない
- AC が既に test 観点込みで十分詳細
## 6 QA 技法 (適用フロー)
### 1. 同値分割 (Equivalence Partitioning)
**目的**: 同じように扱われる入力をグループ化、 各グループの代表値で検証。
**適用**: AC が値の **範囲** や **カテゴリ** を含む時。
**例**: AC「予約人数 1-4 名を入力できる」
派生:
```text
- 無効グループ (n <= 0): 代表値 -1, 0
- 有効グループ (1 <= n <= 4): 代表値 2, 3
- 無効グループ (n >= 5): 代表値 5, 999
```
skill が plan.md の Verification strategy に追加: 「同値分割: 3 groups、 代表値 5 件を check」
### 2. 境界値分析 (Boundary Value Analysis)
**目的**: 境界の前後 (off-by-one 系) のバグを検出。
**適用**: 同値分割の groups に境界がある時 (必ず併用)。
**例**: AC「予約人数 1-4 名」
派生境界値:
```text
- 0 / 1 (下境界、 invalid / valid)
- 4 / 5 (上境界、 valid / invalid)
```
skill が plan.md に追加: 「境界値: 0, 1, 4, 5 の 4 点を必ず check」
### 3. デシジョンテーブル (De