グーグルのクラウドを支えるテクノロジー > 第78回 CI環境のテストを安全に効率化するアルゴリズム(パート1)

※この記事は読者によって投稿されたユーザー投稿のため、編集部の見解や意向と異なる場合があります。また、編集部はこの内容について正確性を保証できません。

CTC教育サービスはコラム「グーグルのクラウドを支えるテクノロジー > 第78回 CI環境のテストを安全に効率化するアルゴリズム(パート1)」を公開しました。

###

はじめに

 今回は、2019年に公開された論文「Assessing Transition-based Test Selection Algorithms at Google」を紹介します。ここでは、Google社内のCI(Continuous Integration/継続的インテグレーション)環境で収集したデータを用いて、ソフトウェアのテストに必要となるリソースを削減するために、「安全」にテストをスキップするアルゴリズムの性能評価を行っています。

Googleにおけるテスト環境

 まず、Google社内のCI環境については、第37回の記事「継続的インテグレーションを支える自動テスト環境」を参照してください。Google社内で開発されるソフトウェアのソースコードは、単一のリポジトリで管理されており、複数のプロジェクトにまたがってライブラリモジュールの共有が行われます。そして、あるモジュールのソースコードが変更されると、それに依存するすべてのソースコードに対するテストが自動的に再実行されます。1日あたり、約1万3千個のプロジェクトにおける、約80万回のビルド処理があり、それに伴うおよそ1億5千万個のテストが実行されるそうです。
 これだけのテストを実行するには膨大なリソースが必要となり、テストの結果が得られるまでの時間も長くなります。しかしながら、実際に問題が発見されるテストはごく一部ですので、「安全」と思われるテストをスキップすることで、テストに必要なリソースを削減すると共に、問題が起きる可能性が高いテストを集中的に実施することで、開発者へのフィードバックを早めることができます。

この続きは以下をご覧ください
https://www.school.ctc-g.co.jp/columns/nakai2/nakai278.html

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

アップロード
手元のPCなどの機器から、ネットワークを介して、別のPCやファイルサーバー、ウェ ...→用語集へ

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]