成功体験ストーリー
テストの進捗遅れの原因
無料トライアル中にあっさり解決!
ご担当者:〇〇社 システム開発課 課長
動機 | 担当者のスキルに依存しない 動作させた事実で原因解析をするため導入 |
---|
活用 | 自分が欲しかったのはこれだ! トライアル期間中にあっさり解決 |
---|
効果 | テストだけではない 派生開発の設計フェーズでも大活躍 |
---|
✖
14日間無料
導入サポートつき
無料トライアル
プログラムのリアルな動作を把握して
難解な不具合をスピード解決!
動的テストツールを導入したきっかけ
担当者のスキルに依存しない
動作させた事実で原因解析をするため導入
車載機器用のプログラムを開発しています。自動車の高機能化に合わせ車載ソフトウェアの規模が拡大し続ける中、性能面だけでなく、常に高い信頼性が求められる領域です。そのため、組織全体に共通の開発プロセスを導入することによって、プロジェクトの円滑化、品質の向上を図ってきました。Automotive SPICEに準拠したプロセスを構築し、レベル4を達成しています。また、各開発フェーズごとにツール群の活用を標準化し、組織レベルでの開発効率化を推進しています。
そんな中ある開発において、「ENG.8 ソフトウェアテスト」のプロセスの進捗が計画通りに進まない事案が発生しました。この際の解析方法はこうです。「仮説(問題箇所を想定) → デバッグログを挿入 → ビルド → 実機へのソフトウェア書き込み → 再テスト → 問題解析」の繰り返しを実施していました。
しかし、後になって判明したのですが、今回の問題は、不具合発生時に表面的に現れる現象と、根本の原因が遠く結びつきにくく、仮説の段階で問題箇所の想定を見誤っており、解析作業が迷走し、想定以上の時間を要していたのです。また、この開発自体が、別会社から移管された派生開発でもあり、有識者がいない状況で、かつ、担当者のスキルに依存していたことも遅延の要因と考えられます。
そこで、担当者のスキルに依存せずに、動作させた事実(動作ログなど)から、ソースコードをトレースバックできる方法はないのか、考えました。開発チームで調査・情報収集を行い、動的テストツールを見つけ、無料トライアルを実施することにしたのです。
なぜ動的テストツールか?
自分が欲しかったのはこれだ!
トライアル期間中にあっさり解決
無料トライアルを申し込んでから、実際の動作ログを取るまでは非常にスムーズでした。動的テストツールのトライアル品一式が届いたら、サポートサイトからアプリをダウンロードしてインストール。接続のためのドライバもサポートサイトからダウンロードして実装するだけ。あとはツールに任せて、動作ログ取得用のテストポイント(printf文のようなもの)が必要な箇所に自動で挿入されました。あとはビルドして動かすだけ。一般的なJTAG ICEと違い、長時間動作ログを取り続けられるので、問題の現象が発生したときに、リアルに動作した結果から、ソースコードレベルでトレースバックすることができました。
すると、現象からは想像できないような、想定外の処理が走っており、不具合の根本原因をあっさり発見。ソースコード修正後も、同様に動作ログを取得してテストを実施することで、修正内容が確実に適用され、問題が解決されていることが証明されました。テスト結果も動作ログとともに残せるため、取引先への説明用エビデンスとしても活用できました。
無料トライアル中のテクニカルサポートも非常にスピーディーかつ柔軟に対応頂き、とても感謝しています。
動的テストツールを導入してどうか?
テストだけではない
派生開発の設計フェーズでも大活躍
無料トライアル中に、迷走していた不具合解析をあっさり解決できたこともあり、即導入を決定しました。導入後は、再現頻度の低い不具合の原因解析で利用しているのはもちろんのこと、派生開発時の設計フェーズでも活用しています。
一般に派生開発は、プログラムのコード記述の部分では新規開発に比べて工数は少ないものの、その前段階で行うソースコードの理解や変更時の影響範囲の調査、開発後の結合テストなどで工数がかさむことが多いです。特に、別の会社で開発していたプログラムからの派生開発は、通常よりも大きな負荷がかかります。そこでベースとなるソースコードの動作ログを活用し、関数やタスク遷移のシーケンス確認を行ったり、UMLモデリングツールを使って連携させ、シーケンス図を自動生成したりしています。
リアルなコードの内容をかんたんに見える化でき、コードをくまなく眺めながら内容を理解する必要がなくなりました。コードのどこをどう変更すればよいか、という純粋な設計作業に専念できるようになっています。チーム内でのレビューも本質的な作業にフォーカスしたものになり、プログラムの品質向上を実現できています。
エンジニア向け活用方法
動的にカバレッジを取るメリット
コード理解の時間が短縮できる
処理手順が設計通りか分からない
設計値と実動作の比較が見れる
成功体験ストーリー
事例紹介
テストの進捗遅れの原因
無料トライアル中にあっさり解決
一生かかっても終わらないと思っていたそんなテストも短時間で可能になった
FPGA開発者必見!
DT+がもたらす不具合解析の劇的進化
リモートワークの未来を変える! DT+Analogが描く波形測定の新時代