読書メモ:初めての自動テスト(1)

テストのピラミッド

テストの3つの層・アプリケーションアーキテクチャの3つの層

  • UI (→UIテスト)
    • E2Eで動くテスト
    • 遅く、壊れやすい
  • サービス(→総合テスト)
    • UIを通過せず、サービス層をテストする
    • 問題のある箇所を特定するのには向いていない
  • ロジック(→ユニットテスト)
    • 高速で正確
    • 全体が繋がっているかという観点は向いていない

覚えておくこと

  • UIテストよりユニットテストを優先する
  • ユニットテストで埋められない部分を統合テストでカバーする
  • UIテストは限定的に行う
  • すべて自動化しようとしない。過不足なく自動化すること。
  • 新しいテストを追加するときはまずユニットテストで対応できないか考える。
  • 上層のテストは下層のテストを内包しているが、意図とスコープが違う。

初めての自動テスト ―Webシステムのための自動テスト基礎

初めての自動テスト ―Webシステムのための自動テスト基礎