ModuleWorks

精密CAMのテストサイクルを15倍高速化

ModuleWorksについて
ModuleWorks社は、CAD/CAM業界向けにソフトウェアコンポーネントを提供しています。
同社の5軸加工とシミュレーションの高い専門性は、CAM業界で認められており、ソフトウェアコンポーネントと開発サービスは、大手CAMベンダーの大半で使用されています。また、5軸加工およびシミュレーションソフトウェア製品は、10年以上にわたって複雑な部品の製造工程に利用され、世界のCAD/CAM業界で多くのユーザーを抱えています。

課題

ModuleWorks社は、機械制御エンジニアリング用のソフトウェアコンポーネントを提供しています。複数のチームがC++を使用して幾何学的アルゴリズムを開発しています。同社では、独自の継続的インテグレーションシステムを利用しており、変更がコードベースに統合されると、すべてのモジュールがビルドされ実行されます。

継続的インテグレーション(CI)サーバーは、各サイクルを高速に処理しなければなりません。また、すべての開発者は自分のコードを順次統合する必要があり、大きな課題と遅延の原因となっていました。なぜなら開発者はコードを統合するまでに数日待たなければなりません。開発者チームはコードベース全体が継続的インテグレーションシステムに統合されるまで、次の開発やテストを続けることができませんでした。

ModuleWorks社では、C++テストを書くためのGoogleのテストフレームワークであるGTestを使用しています。Gtestでは、ユニットテストや統合テストを含む何百ものテストを実行していましたが、非常に長い時間がかかっていました。更に、これらの長時間実行されるテストは、継続的なインテグレーションのライフサイクルにさらなる遅延を引き起こします。

ModuleWorks社では、32種類のバイナリ構成を顧客に提供しています。各構成は、年に3回、リリースの前に個別にビルドされます。Incredibuild が無ければ、必要な構成をすべてビルドするのに数日掛かります。リリースまでの時間が本当に大変でした。

「CAD/CAMでの作業は、精度と精度が必要不可欠です。Incredibuildを利用することで、月単位で作業が早まります。他ではできない継続的なインテグレーションやテストが可能になりました。」

Jan Theegarten

Developer, ModuleWorks

Incredibuildの導入

ModuleWorks社がテスト実行用にIncredibuildを導入してから、1タスクあたりの時間が60分から30分に短縮しました。その結果、開発者は1日に複数のタスクを処理し、その日のうちにコードを統合できるようになりました。他の効果として、CIサーバーが1日に処理できる開発者の数が 2 倍以上になり、ビルド時間は急減し、30分は処理に費やしていたフルビルドが今は約3分で実行できるようになりました。

テストサイクルも激減しました。Incredibuildを導入したことで、同社のテスト時間は15倍以上も速くなりました。1回のテストに150秒以上掛かっていたものが20 秒で済むようになり、86%も改善しました。

各開発者は1日に約2回のビルドを実行します。以前は1日2回のフルリビルドに3時間かかっていました。Incredibuildを導入してからは、これらの時間は1日30分に短縮し、83%改善されました。

効果

GTestsの高速化により効率的に作業を行うことができます。コードの多くは異なる開発者間で共有されているため、リグレッションが頻繁に発生します。IncredibuildでGTestの実行時間を短縮することで、リファクタリング中に、開発者がテストを頻繁に実行するモチベーションも上がりました。これにより、開発者はデバッグに費やす時間が減り、良いコードを書くことが出来るため、コードの品質が向上します。

さらに、顧客に届くリグレッションが少なくなるため、コードカバレッジがはるかに向上します。

  • 継続的な統合を可能に
  • テストサイクルの高速化
  • 顧客へのリグレッションの減少
  • コードカバレッジの向上
  • 自動テストの増加及びコード品質の向上
  • より速いリリース

Incredibuild時間

  • ユニットテスト

    0.33 mins
    2.5 mins
  • フルリビルド

    30 mins
    3 hours
With Incredibuild
Without Incredibuild