だぜ、という記事を読みました。

The Testing Skyscraper: A Modern Alternative to the Testing Pyramid | Automation Panda

ざっくり内容を(AIを使わずに)要約すると・・・

  • テストピラミッドは、出た当時は理にかなったモデルであった
    • UIテストは遅く信頼性が低い、単体テストは速く信頼性が高い、という認識
  • しかし、その結果UIテスト悪で単体テストが良い的な風潮も生まれてしまった
  • 現在、ツールの進化などによってどのレイヤーも使い勝手がよくなってきている。テストレベルで善悪を考えるのではなく、どれも大事
  • そこでテストスカイスクレイパーというモデルを考えた
  • UI、API、Unitそれぞれの層にテナント(やりたいテストのようなもの?)が入るイメージ。テナントの構成や各テナントのサイズを柔軟に調整する

ということのようです。

テストスカイスクレイパー

このような図だそうです。

Image from Gyazo

via The Testing Skyscraper: A Modern Alternative to the Testing Pyramid | Automation Panda

テストレベル毎に量を気にしてピラミッド型に、という発想ではなくそれぞれの層の中にいろんなテストが適切なボリュームで含まれるべき、という考え方だと(今のところ)理解しています。 そのため全部の層がGOODになっています。「ないほうがいいテスト」なんてないよ、ということでしょうか。

真ん中のスカイスクレイパーの中には小さく seconds per test とか milliseconds per test などとも書かれているので、テストサイズ的な概念も内包していそうです。

ただこの図、各層の中身(記事中でテナントと表現されているもの)はテストコンテナで、結局「テストアーキテクチャ設計しようぜ」という話になるのかも・・・?

日本の有識者のご意見求む。