Reading: Spark Joy by Running Fewer Tests – Shopify Engineering
コードベースはRuby
各PRをマージする前に30-40分かかるテストを通すことが求められていた
開発者の生産性低下
偶発的な事情で落ちるテスト
各PRで走らせるテストの数を減らす取り組み
動的解析を活用して、テストがどのファイルに依存しているかを表すグラフを事前に作成
デプロイ毎に更新
デプロイ前には全てのテストを実行して漏れを防ぐ
4割のビルドで、実行するテスト数が全体の20%未満
平均で実行されるテスト数は全体のおよそ60%