弊社の動的テストツールは、CPUやOSに依存しないため、様々な業種・開発環境でご利用いただいております。今回は、モデルベースによる車載向け電装部品開発における、【動的テストツールDT10】の活用事例をご紹介いたします。
※2020年12月に新ツール【動的テストツールDT+】が登場しました。
CONTENTS
1. モデルベース開発における検証の課題
モデルベース開発では、V字プロセスのテスト工程で問題があった場合に、設計工程に戻って不具合修正を行わなければならない。しかし、ハードウェア/ソフトウェアを統合した実機テスト(機能結合テスト)に時間がかかってしまい、設計工程へのフィードバックが遅れ、問題解決への工数を圧迫してしまうという課題があった。
そこで、検証作業を効率化することのできるツールを検討。実機でリアルタイムにソフトウェア内部を可視化できる点が課題にマッチしていたこと、また、CPUに依存しないことも決め手となり、動的テストツールDT10を導入いただいた。
2. 【効果1】変数を見える化し検証工数を85%削減!
機能結合テストにて、モデルから自動コード生成によって作成されたソフトウェアの状態変数を確認するために使用。(値が正しいか?期待通りの状態遷移になっているか?)
課題
モデルベースの特徴により状態制御が多くなり、状態変数の確認工数が増大。 検証項目数が約150にも及ぶため、状態変数1つに要する時間 約5分 × 150 = 約12.5時間の作業時間がかかっていた。
検証のたびに、テストシナリオに応じてソースコードを変更 → コンパイル → 実機書き込みという手順を繰り返し行っており、検証数が増えるほど作業工数が増大してしまう。
また、デバッガのブレークポイント機能を使用して期待通りの状態遷移となっているかを確認していたため、リアルタイムに確認することができない点が課題だった。
効果
ソースコードの変更は、基本的にテストポイントを自動で埋め込む際の一度きり。コンパイル、実機への書き込み時間を削減することができた。
また、状態変数が期待通りの値になっていたか?は、各シナリオ毎に実機を動作させた後、ログから確認することができ、従来のブレークポイント機能を使用する手法より効率的だった。作業時間は105分。従来から85%改善することができた。
3. 【効果2】外部I/Fと内部変数の値を同時に確認!バグも発見!
機能結合テストにて、チャタリング除去のための入力確定処理が、設計通りに動作するか?を確認するために使用。
課題
従来は、デバッグ用のポートを設定し、実機書き込み後にオシロスコープで確認を行っていた。こちらの場合も、検証項目ごとに ソースコードの変更 → コンパイル → 実機書き込み → 動作検証が必要となるため、検証に時間を要していた。
効果
DT10とAnalog Box(アナログ信号計測ユニット)(※)を併用し、外部I/Fと内部変数を連動して解析。DT10を使用した場合、ソースコードの変更が最小限で済むため、作業効率が非常に高まり、作業時間を約75%短縮することができた。
さらに、カウンタ処理において、ある条件下で発生するバグも発見。従来のオシロスコープを使った手法では見落としていたが、DT10でソフトウェア内部を可視化することにより発見することができた。
※DT10は【DT+Trace】、Analog Boxは【DT+Analog】に機能が継承されている
DTシリーズは、アナログ信号・ロジック信号と、ソフトウェアの挙動・変数値の変化を連動して見える化することができる。
また、長時間データを取り溜めることができるので、後から怪しい部分を確認することもかんたん。
4. 【効果3】変数値を定量的に計測!人によるばらつきがなくなった!
タッチセンサーの感度を調整するために使用。
課題
静電容量の変化をソフトウェアにて処理しているため、実機による確認 → パラメーター調整 → コンパイル → 実機書き込みを都度繰り返しながら感度の閾値(しきいち)調整を行っていた。内部変数の変化を確認することができないため、定量的な判断ができなかった。
効果
実機を動作させながら、感度情報を保持した変数値をリアルタイムで確認。DT10をRAMモニターとして使用することで、変数値を定量的に、かつリアルタイムに数値化。人によるばらつきをなくし、精度よく判断することが可能になった。
5. 【効果4】処理時間の計測をわずか15分で完了!
タスクが定められた処理時間以内に処理を実行できているか?を確認するために使用。
課題
従来はデバッグ用のポートを設定し、オシロスコープにて実行時間を確認していた。計測したい処理に、都度デバッグ用のポートをHI/LOWする処理を入れる必要があった。
効果
計測したい関数の入り口、出口にテストポイントを設定。一度の計測で、複数関数の最小実行時間/最大実行時間/平均実行時間/通過回数を計測することができ、わずか15分でタスクの処理時間の確認作業が完了。従来から作業時間を約85%削減することができた。
通常テストポイントは関数の入り口/出口/分岐に自動で挿入されるため、特別な設定なしに関数単位の実行時間が計測できる。
周期時間や、任意の2点間の時間計測も可能。
まとめ
今回は、モデルベース開発で、モデルから自動コード生成によって作成されたソフトウェアの実機検証に、弊社の動的テストツールDT10を活用いただいた事例をご紹介しました。 実機検証を様々な角度から効率化したいというお悩みをお持ちでしたら、ぜひご検討ください。