継続的インテグレーション(CI)を実現するオープンソースソフトウエア(OSS)「Jenkins」の生みの親として知られる川口耕介氏らが米国で設立したスタートアップのローンチャブル(Launchable)が、このほど日本で活動を始めた。同社は2020年1月に設立した。
1万個のテストケースを100ケースに圧縮
元クックパッドCTO室長の庄司嘉織氏がプリンシパル・ソフトウエア・エンジニアとして参画するほか、3人のエンジニアが2020年5月までに国内でチームに加わり、ソフトウエアのテスト工程を機械学習で効率化する技術を開発する。日米拠点が連携し、世界に通用するITサービスの立ち上げに挑む。
「1万個のテストケースを、バグの発見につながる100のケースに圧縮することで、テスト工程の時間を短縮できる」。ローンチャブルの川口共同CEO(最高経営責任者)はサービスの意義をこう語る。金融システムから組み込みソフト、モバイルアプリまで、幅広いソフトウエアに適用できるという。
ローンチャブルは川口氏ら2人が米国サンノゼで立ち上げたスタートアップだ。2019年11月にシードラウンドで3億円を調達し、2020年1月に同社を設立。2020年5月以降は日米約10人体制で開発とセールスを進める。
現在は米国やドイツの大手企業など数社とパイロットテストを実施しており、日本でも参加企業を募集する考えだ。主に製造業や金融業、IT企業に売り込む。
テストで待ちぼうけを食わずに済む
Jenkinsが「コンパイルやビルド、テストの自動化」を担うとすれば、開発中のサービスは「テストに要する時間の短縮」に焦点を当てるものだ。
一般にソフトウエアは開発規模が大きくなるにつれ、ソースコードを追加・変更した際のテスト工程も時間がかかるようになる。周辺のソフトウエアモジュールなどテストの対象が膨れ上がるためだ。こうした悪影響を防ぐため、モジュールを疎結合にするマイクロサービス化など様々な手法が試みられているが、「現在進行中のソフトウエア開発にすぐ適用できるわけではない」(川口氏)。
ローンチャブルのアプローチは、あるソフトウエアにおける過去のテスト実行履歴を基に、バグを短時間で発見できるテストケースの種類や順序を機械学習モデルに出力させるやり方だ。過去の実行履歴で失敗の少ないテストは優先度を下げる。逆に、過去同じようなケースで失敗したテストは優先して実行する。テストを重ねるほど機械学習モデルの精度が高まるわけだ。
プロジェクトにもよるが、過去のテスト履歴を学習することで、ソースコードの追加や変更に際し、最初のバグを見つけるまでの時間を10分の1まで縮められると見込む。これまで5時間かけていた結合テストを30分に縮められる計算だ。「ソフトウエア開発者はテストの完了まで待ちぼうけを食うことなく、バグの修正に注力できるようになる」(同氏)。
ローンチャブルが開発するツールはJenkinsのようなOSSではなく、JavaやPythonなどの各開発環境からテスト実行時にAPI(アプリケーション・プログラミング・インターフェース)で呼び出すクラウドサービスの形を採る。「仮にソースコードを公開しても、機械学習モデルを訓練させるデータがないと効果が発揮できない」(川口氏)ためという。