LUSAS

QAサイクルの高速化!

lusas

August 26, 2009 – Jason Barnaby, LUSAS

LUSAS社のプロダクトマネージャーJason Barnaby氏によるインタビューです(2009年)

LUSAS社のModellerアプリケーションの開発エンジニアたちは、Incredibuildを使用することでQAに費やす時間を大幅に短縮し、製品をリリースすることができました。LUSAS Modellerは、エンジニアリング業界で使用されている解析ツールで、MFCベースの大規模なグラフィカル・ユーザー・インターフェース・アプリケーションです。Incredibuild導入以前は、LUSAS Modellerのための品質保証・管理、これらに関係する業務は徹夜案件でしたが、現在はランチ時間で業務を完了することが可能になりました。

課題

安全性が重要視される業界であるため、LUSAS社は非常に厳格なQA手順を導入しています。LUSAS Modeller QAスイートは、約900個のテストケースで構成され、11,000以上の出力ファイルを生成し、1.5GB以上のディスクスペースを占有します。テストを実行し、出力の比較、そしてレポートを作成するための管理プログラムは数年前に作られました。普通の開発用PCでは、完全な作業(テストを実行して出力を比較する)には通常10時間程度かかります。

リリースまでのビルドアップの間、各開発者は自分のコードに対してQA手順を実行した後、他の開発者のコードと自分の作業部分を統合し、再度QA手順を実行し、最終的に修正を行います。その後、リリース候補が再度ビルドされ、再びQAサイクルを通過します。1回のQAの実行は営業時間内に完了できないため、それぞれのQAにほぼ1日を費やしていました。仮にQAが上手くいっても、すべての作業完了には数週間かかりました。また、1つのバグが発生すると、そのバグを修正してから再度QAを行う必要があるため、追加で数日を必要とすることも。これにより、新しいバージョンを求める顧客の要求に迅速に対応することが難しく、会社は頭を抱えていました。

実は、Incredibuild を使う前に、いくつかの代替案を検討しました。高速なコンピュータの購入も試してみたものの、決して満足のいくものではありませんでした。ハードウェアの速度が速くなると、開発者はどんどんQAスイートを拡張しなければいけませんでした。

他にも、コミット前に各開発者のマシンでQAプロセスの一部だけを実行したり、QAプロセスをショートカットしようとしましたが、いつも失敗に終わりました。必然的にバグは最後の最後にしか発見されず、全員の時間を無駄にし、原因の追跡と修正がより困難になっていました。また、プロセス全体の時間を短縮するために、いろいろなソフトウェアとツールの両方を試してみたものの、なかなか良い成果は出ませんでした。

Incredibuildの導入

最終的には、既存のQA管理プログラムを修正する案が出てきました。このプログラムは現在、実施すべきすべてのタスクを詳細に記述したIncredibuild Submission Interfaceスクリプトファイルを作成しています。各タスクは、1つのテストケースの名前で新しく作成された小さな実行ファイルにより構成されています。実行ファイルの各インスタンスは、1つのテストケースを実行し、期待される出力の比較に使用されます。最後に、管理プログラムはすべての成功/失敗情報を収集し、レポートを作成します。

作業のオペレーション自体は極めてシンプルで、管理プログラムの見直しと再構築に成功し、わずか数日で全ての作業を完了させることができました。私たちの問題は、実行中のWindowsユーザーインターフェイスに関連するプログラムの部分に基づいていました。もちろん、リモートマシン上で実行している場合、すべてのWindows作業は完全に抑制されなければなりません。

また、プログラムの複数のインスタンスがディスク上の同じファイルに同時にアクセスしようとするときに、問題が発生しました。これらのすべての問題は、プログラムのコード設計を改善することで解決し、最終的にはQAサイクルを高速化しました。

以下は、完全なQAサイクルの後に撮影された管理プログラムのスナップショットです。見ての通り、もともと、コンパイル自体は11時間近くかかり、出力ファイルを比較するのにさらに100分かかっていました。しかし、これらすべてをわずか90分程度で完了できるようになりました。約8.5倍の高速化に成功です。結果はホストPCのパワーとスピードによって異なりますが、一番スペックの低いPCを利用している開発者が一番効果を感じました。12~15のCPUに分散した場合、8~9のファクターが典型的であることがわかりました。
lusas_build_times_text

導入効果

大切なのは、迅速かつ自信を持ってソフトウェアをリリースすることです。現在では、最大3人の開発者が手抜きをすることなく、1日でアップデート、ビルドそしてQAのコミットを行うことが可能になりました。

Incredibuild導入により、品質保証のために行う新しいリグレッションバグの有無の確認に費やす時間が格段に減りました。今では、お客様からの新バージョンに関するリクエストに対して、迅速に対応が可能となりました。尚且つ、新バージョンは、当社の厳格なQA手順をすべてクリアしているという総合的な自信を持っています。

LUSAS社について

LUSASの開発元は、イギリスのFinite Element Analysis Ltd.です。
このソフトウェアは、エンジニアリング業界のあらゆる種類の線形・非線形応力解析、動的解析、さらには熱/フィールド解析など、多様な課題に使用されています。 詳細はwww.lusas.comをご覧ください。

Incredibuild時間

  • QA時間

    88 mins
    13 hours
With Incredibuild
Without Incredibuild