テスト自動化ピラミッド
Test Automation Pyramid。テストピラミッドとも呼ばれる。
Mike Cohnが著書『Succeeding with Agile: Software Development Using Scrum』で提示した図。
下層に位置するユニットテストを多くし、上層に位置するUIテストを少なくすることを推奨している。
『初めての自動テスト』では「ピラミッドを登る」という表現をしており、上層レイヤのテストを下層のユニットテスト量に対して多くならないように、必要に応じて上の階層へ登っていく事を奨めている。
アイスクリームコーン
Testing is Good. Pyramids are Bad. Ice Cream Cones are the Worst | by Stephen H Fishman | Medium では、上層に位置する高レベルテストのほうが多くなってしまう状態を「アイスクリームコーン」アンチパターンと表現している。
テスト自動化ピラミッドの再考・批判
Ham Vocke, "The Practical Test Pyramid" https://martinfowler.com/articles/practical-test-pyramid.html では、テスト自動化ピラミッドから学ぶ点は以下であると主張している。
1. 異なる粒度のテストを書く
2. 高レベルになるほど、持つべきテストは少なくなる
あわせて、”UI Tests”などのテストレイヤーは現在のテスト状況に対してシンプルすぎるためそれらに固執する必要はなく、自分たちのプロダクト・開発チームに沿ったレイヤー名で良いと指摘している。
『A Practical Guide to Testing in DevOps』のChapter "Rethinking the test pyramid"では、テスト自動化ピラミッドの再考の歴史を展開した上で、DevOpsバグフィルターという考え方を提示している。
参考
DevOpsバグフィルターでテストへの理解を深めよう|グロービスデジタルプロダクト開発組織|note
Ham Vocke, "The Practical Test Pyramid" https://martinfowler.com/articles/practical-test-pyramid.html
Testing is Good. Pyramids are Bad. Ice Cream Cones are the Worst | by Stephen H Fishman | Medium
『A Practical Guide to Testing in DevOps』
『Agile Testing Condensed』