1つの検査に複数の壊れ方を載せない — 検査は自分が担当する壊れ方だけを合否にする
設計判断
QA
テスト設計/eval
判断
運用
検査(テスト・品質ゲート・評価軸)を作るとき、本当に見たい欠陥そのものではなく、それが表に出たときの間接的な指標で判定してしまうことがある。指標は他の欠陥クラスでも動くため、別の検査で見るべき事象によって誤って落ちる。
具体例の型
見たい欠陥は「複数の対象が1つにまとまってしまう(融合)」なのに、判定を「検出された件数が期待値と一致するか」で書く。件数は融合でも減るが、単なる検出漏れでも減る。結果、検出率の担当である別の検査で見るべき漏れによって、融合の検査が落ちる。
判断基準
- 検査ごとに「この検査が担当する壊れ方」を一文で言えるようにし、その壊れ方を直接判定する述語を書く。上の例なら「1つの検出が2つ以上の正解領域を一定割合以上覆っているか」。
- 間接指標で落ちたときは、まず内訳を見て壊れ方の種類を特定する。指標が動いた=担当する欠陥が起きた、ではない。
- 担当外の情報は捨てず、参考値として出力するが合否には使わない。捨てると別の穴になる。
- 検査の担当を分けた結果、どの検査も担当しない領域が生まれることがある。その空白は暗黙にせず、意図的な空白として明記する。
なぜ効くか
間接指標のままだと、担当外の事象で落ちるたびに「閾値を緩める」圧力がかかり、本来見たい欠陥に対する感度まで一緒に下がる。述語を直接書けば、緩めずに正しく通せる。