zudo-test-wisdom

Type to search...

to open search from anywhere

5つのテストレベル

フロントエンド検証のための5つのテストレベルの概要。

概要

フロントエンドテストは単一の活動ではなく、それぞれ異なる能力とブラインドスポットを持つ検証手法のスペクトラムです。このセクションでは、検証可能な範囲の順に5つのレベルを定義します。

graph LR L1[Level 1<br/>Unit/Logic] --> L2[Level 2<br/>DOM Component] L2 --> L3[Level 3<br/>Build Output] L3 --> L4[Level 4<br/>E2E Browser] L4 --> L5[Level 5<br/>Visual Verify]

サマリーテーブル

レベル名称ツール検証可能ブラインドスポット
1ユニット/ロジックvitest、jest純粋関数、データ変換、状態ロジックDOM、CSS、レンダリング
2DOMコンポーネントvitest + jsdom、Testing Libraryコンポーネント出力、props、DOM構造視覚的レンダリング、CSS
3ビルド出力vitest(ビルドファイル読み取り)SSG出力、テンプレート、バンドラ設定ランタイム動作、視覚的表示
4E2EブラウザPlaywright、headless-browserユーザーインタラクション、ナビゲーション、ページ全体微妙な視覚的詳細
5決定論的 + 視覚的verify-ui + headless-browser算出スタイル、ピクセルレベルレンダリング最小限のブラインドスポット

エスカレーションルール

⚠️ Warning

現在のレベルのテストがパスしたにもかかわらず、ユーザーが問題が解消していないと報告した場合、同じテストを再実行しないでください。次のレベルにエスカレーションしてください。

レベルはカバレッジの広さ順に並んでいます。各上位レベルは、下位レベルでは構造的に検出不可能なバグのカテゴリをキャッチします。たとえば、ユニットテストはCSSをまったく処理しないため、overflow: hiddenで要素が隠されていることを検出できません。

適切なレベルの選択

すべてのタスクにレベル5が必要なわけではありません。目標は、テストレベルを変更の性質に合わせることです:

  • ロジックの変更 — レベル1で十分
  • コンポーネントの動作 — レベル2でカバー
  • ビルド設定 — レベル3が対象
  • インタラクティブなフロー — レベル4が必要
  • 視覚的/CSSのバグ — レベル5が必須

詳細なマッピングテーブルは判断ガイドを参照してください。

Revision History