テストのピラミッド
https://gyazo.com/b891566cb072c4278663d21d667f5a96
Mike Cohnの"Succeeding with Agile"[Coh09]で最初に提唱されたモデルで、3種類の異なるテストがどのように互いに補完し合うかを示すもの
from 『初めての自動テスト』 p.5
UIテスト
統合テスト
ユニットテスト
下層の方が、高速かつ安価に実行できる
自動テストの大部分は底辺に近い層で行うほうが良い
ユニットテストと統合テストだけで事足りることもあるので、テストを追加するときは下層から始める
新しいテストを追加するときは、常に「ユニットテストでカバーできないか」を最初に確認する
すべてを自動化しようとはせず、過不足なく自動化する
「親指の法則」
1. UIよりもユニットテストを優先すること
2. ユニットテストで埋められない部分を統合テストでカバーすること
3. UIテストは限定的に使うこと
ref
『初めての自動テスト』