INDEX
はじめに
![](https://techlog.site/wp-content/uploads/2024/02/nwe_icon.jpeg)
テストの種類 / 戦略モデルについて学習しました。
その結果を執筆します。
テストの種類
単体テスト
最小単位のテストです。 入力値(props)から出力値(HTMLのブロックなど)を仕様通りの結果になるのか?
- 他の入力パターンはないか?
- 例外処理は十分か?
結合テスト
複数モジュールが連動する機能に着目したテストです。
例えば、
- セレクトボックスを操作する <- 入力値
- 選択された値でデータを取得する
- 一覧表示内容が更新される <- 出力値
E2Eテスト
UIテストに加えて、外部ストレージや連携しているサブシステムを含むテストです。
- 入力内容に応じて保存された値が更新される <- 入力値
- 関連する他のページの表示や機能や外部機能が正常に機能しているのか? <- 出力値
テスト戦略モデル
アイスクリームコーン
- 戦略モデルのアンチパターン
- コストが高い
- テスト実行時間も長い
- テスト結果が不安定
![アイスクリームコーン](https://techlog.site/wp-content/uploads/2024/03/d00b8a868bbf7953c3f3550cd81c512f-1024x576.png)
![アイスクリームコーン](https://techlog.site/wp-content/uploads/2024/03/d00b8a868bbf7953c3f3550cd81c512f-1024x576.png)
テストピラミッド
- コストが低い (アイスクリームコーンよりも)
- テスト実行時間も短い (アイスクリームコーンよりも)
- テスト結果が安定 (アイスクリームコーンよりも)
![テストピラミッド](https://techlog.site/wp-content/uploads/2024/03/490299a36af0919812bca25fc56b10c6-1024x576.png)
![テストピラミッド](https://techlog.site/wp-content/uploads/2024/03/490299a36af0919812bca25fc56b10c6-1024x576.png)
テストティングトロフィー
- UI操作による外部Web APIの実行(=結合テスト)
- Testing Libraryで実効速度が速い
- Testing Libraryで忠実性が高い
![テストティングトロフィー](https://techlog.site/wp-content/uploads/2024/03/de1a6a5bf8ae016ce143bf518301cd01-1024x576.png)
![テストティングトロフィー](https://techlog.site/wp-content/uploads/2024/03/de1a6a5bf8ae016ce143bf518301cd01-1024x576.png)