背景 新機能の追加が継続している 既存機能の改修、改善が継続している 時とともにCIの実行時間が増加し続けている 自動テストはときどき失敗する(flaky) CIの成功が、コードレビューを始めるきっかけになっている(CIが成功するまでコードレビューが始まらない) 問題と原因 問題 CIの待ち時間が長く感じる 変更セットと無関係な自動テストがときどき失敗する(再試行すると成功する) 原因 CIはすべての自動テストを実行している 解決方法 1. テストの実行を並列化する すべての自動テストを実行すること にこだわりがあるときの戦略 プロジェクトによっては、変更セットの正しさを保証する最低限の線引きかもしれない CIやテストフレームワークの仕組みに応じていろいろなやり方がある マシンの並列化 プロセスの並列化 スレッドの並列化 2. 変更セットに含まれるプログラム部品に依存する自動テストだけを抽