Open6

フロントエンドテスト戦略のベースを考える

SekkenSekken

成果物のイメージ

テスト戦略を立案する上で必要な前提となるテストについてが示されていて、どのテストに比重をおいていくべきかが容易に判断できるドキュメント

SekkenSekken

なぜ自動テストが必要か

  • リグレッションテスト工数の増大
  • 人の手によるテストが増え、リリースサイクルが伸びる
  • 開発時の仕様明確化
  • 他ある?
SekkenSekken

どんなテストの種類があるか

静的テスト
eslint 等を使った静的解析や、TypeScript 等を使った静的型チェック、typo チェックなど
現代のフロントエンドにおいては、ベースラインとして必須

単体テスト
jest, mocha 等を使った最小単位の関数やコンポーネントのテスト
統合テストや UI テストと比較して、最も結果のフィードバックが早く、実装コストも低い

結合テスト
React Testing Library, Enzyme 等を使い、コンポーネント、hooks を組み合わせて正しく動作するかをテストする
実行速度や実装コストは単体テストと UI テストの中間に位置する
UI テスト(E2E)

ブラウザ上でユーザーと同じユースケースを想定したシステム全体のテスト
実行時間が最も遅く、実装コストも他のテストと比較すると高いが、ユーザーと近い環境でテストを行うため、信頼性が高い

https://zenn.dev/koki_tech/articles/a96e58695540a7#👽-フロントエンドのテストの種類