グーグルのクラウドを支えるテクノロジー > 第38回 継続的インテグレーションを支える自動テスト環境(パート2)
私が編集支援しているCTC教育サービスのコラム「グーグルのクラウドを支えるテクノロジー > 第38回 継続的インテグレーションを支える自動テスト環境(パート2) 」が公開されました。
興味がある方はご覧ください。
###
はじめに
前回に引き続き、2017年に公開された論文「Taming Google-Scale Continuous Testing」をもとにして、Google社内の開発チームが活用する自動テストのインフラ環境を紹介します。
前回説明したように、Google社内の開発環境における自動テストは、「Test Automation Platform (TAP)」と呼ばれるシステムによって管理されており、一定の間隔で発生するマイルストーンごとに複数のテスト処理がまとめて実行されます。この際、マイルストーンの間隔を短くするとテストに必要なリソースが膨大になり、一方、マイルストーンの間隔を長くすると、問題を発見するまでの時間が長くなるというトレードオフが発生します。本論文を執筆したTAPシステムのチームは、このトレードオフの解決策を見つけるために、過去のテスト結果に対する分析を行いました。今回は、この中から主要な分析結果を紹介していきます。
テストデータの分析結果
前回紹介したように、TAPシステムでは、1日あたり約1億5千万個のテストが実行されています。前述のトレードオフの解決にあたり、TAPシステムのチームが注目したのは、これらすべてに共通のマイルストーンを適用することが妥当なのかという点です。容易に想像できるように、これらのテストの大部分は成功して終わります。場合によっては、ほとんど失敗する可能性のないテストが何度も繰り返し実行されることもあるでしょう。失敗する可能性が高いテストを何らかの方法で見つけ出すことができれば、これらについては、より短い間隔でマイルストーンを適用して、その他のテストにはより長い間隔でマイルストーンを適用するという戦略を取ることが可能になります。
この続きは以下をご覧ください
https://www.school.ctc-g.co.jp/columns/nakai2/nakai238.html