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

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

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

どんなテストの種類があるか
静的テスト
eslint 等を使った静的解析や、TypeScript 等を使った静的型チェック、typo チェックなど
現代のフロントエンドにおいては、ベースラインとして必須
単体テスト
jest, mocha 等を使った最小単位の関数やコンポーネントのテスト
統合テストや UI テストと比較して、最も結果のフィードバックが早く、実装コストも低い
結合テスト
React Testing Library, Enzyme 等を使い、コンポーネント、hooks を組み合わせて正しく動作するかをテストする
実行速度や実装コストは単体テストと UI テストの中間に位置する
UI テスト(E2E)
ブラウザ上でユーザーと同じユースケースを想定したシステム全体のテスト
実行時間が最も遅く、実装コストも他のテストと比較すると高いが、ユーザーと近い環境でテストを行うため、信頼性が高い

テストカバレッジのレポーター
angularだとテスト未実装のコンポーネントも含めて出力できるぽい
reactだと工夫が必要そう

大企業のテストに関する記事をまとめてる