2024.11.6
【第4回】:Eggplantの適用ケース
テスト業務に品質や生産性といった課題を抱えるQA(Quality Assurance)現場は多く、自動車業界も例外ではありません。昨今、重要性が高まっている「IVI(In-Vehicle Infotainment)システム」のテスト実行においても、抜本的なプロセスの見直しが求められています。
前回は、IVIシステムのテスト実行におけるベストプラクティスの1つとして、米キーサイト社の探索的テスト自動化プラットフォーム「Eggplant」を紹介しました。Eggplantの基本事項については、第3回の記事をご一読ください。
テスト自動化にEggplantの適用を考える場合、その適用ケースを把握することが肝要です。第4回となる本記事では、IVIシステムにおけるEggplantの適用ケースを紹介します。
IVIシステムにおけるEggplantの適用ケース
IVIシステムでは多数のECU(Electronic Control Unit)が制御を担い、CAN(Controller Area Network)通信によって相互連携することが一般的です。この時、CAN通信をシミュレートするために「CANoe」などのテストツールが用いられます。
たとえば、速度メーターの表示制御を手動でテストする場合、CAN通信内の車速情報をCANoeにより切り替えます。また、テスト基盤に接続されたタッチパネルなどを用いて、テスターがUI操作を行います。
ここではEggplantの適用ケースを紹介するにあたり、上記のようなIVIシステムを代表例として扱います。
このIVIシステムにEggplantを適用することで、主に下記2つの自動制御が可能です。
- IVIシステムのUI操作
- テストツールの制御
EggplantによるIVIシステムのUI操作
UI操作をともなうテストを自動化する場合、画面制御用ECUとの双方向通信が必要となります。つまり、タッチパネルなどを介したUI操作を再現しつつ、その際のディスプレイ表示も取得・判定できなければなりません。
Eggplantは、VNCやRDPなどのリモート技術によりこれを実現します。試験端末に導入したEggplantと、IVIシステムをリモートで連携し、画面を同期してリアルタイムに制御。これにより、対話的なテスト手順を含むシナリオであっても自動化できます。
Eggplantは、テストケースを解釈してUI操作に相当する指令に変換し、画面制御用ECUへと送信します。これにより、テスト担当者が手動で行うUI操作の自動化が可能です。
さらに、その際のディスプレイ表示を取得してAIにより分析し、表示制御が適切であるかを評価することもできます。EggplantのAIは画像認識やOCR(光学文字認識)といった技術により、表示位置や表示内容のわずかな表示のずれや色の違いも見逃すことなく判定精度を飛躍的に向上します。
Eggplantによるテストツールの制御
テストケースに沿って走行状態などを変化させる場合、CANoeなどのテストツールを制御する必要があります。こうしたテストツールの制御も、Eggplantにより自動化が可能です。
Eggplantには、「XML-RPC」などのプロトコルを用いて外部アプリケーションと連携する機能があります。これにより、既存テストツールとAPI連携しながらCAN通信を変化させることが可能です。
≪Eggplantで制御するフォーマットと通信方法の例≫
No. | 名称 | 通信方法 | フォーマット | 実現方式 | 形式 |
---|---|---|---|---|---|
1 | REST API | HTTP | JSON/FormUrlEncoded/Text/XML | EggplantOnly | メッセージ送受信 |
2 | SOCKET | TCP/IP | Text | EggplantOnly | メッセージ送受信 |
3 | XML-RPC | HTTP | XML | EggplantOnly | RPC |
4 | JSON-RPC | TCP/IP | JSON | Eggplant+外部モジュール | RPC |
5 | gRPC | HTTP/2 | Protocol Buffers | Eggplant+外部モジュール | RPC |
6 | graphQL | HTTP | Text | Eggplant+外部モジュール | メッセージ送受信 |
7 | AMQP | TCP/IP | Text | Eggplant+外部モジュール | メッセージ送受信 |
また、IVIシステムの画面表示が切り替わってからCAN通信を変化させる、といったシビアなタイミング設定が求められるテストケースも考えられます。Eggplantは、画像認識技術によってディスプレイの表示変化も追従でき、こうしたテストケースにも対応可能です。
テストツールに設定されるパラメータや手順の組み合わせは数千万、数億パターンに膨れ上がるケースもあります。これらを手動で設計・入力する場合、開発のボトルネックとなるばかりか、安全上のリスクにもなり得ます。
しかし、Eggplantが自動生成するテストケースには、テストツールの設定内容や操作手順が集約されるため、テスト担当者が事細かに設計する必要はありません。Eggplantの自動テストは、こうした課題の解決に最も有効性を発揮します。
Eggplantと非機能テストツールの連携
Eggplantは、非機能要件に特化したテストツールとの連携も可能です。たとえば、ソフトウェアの脆弱性検出に特化したBlack Duck Software 社のファジングツール「Defensics」をEggplantのテストモデルに組み込み、制御することができます。これにより、機能要件テストとセキュリティテストを同時実行することも可能です。
以上のように、高度化・複雑化するIVIシステムへEggplantを適用することで、テスト工程の負荷低減につながります。さらには、人力では達成困難な品質を確保し、IVIシステム開発全体の飛躍的なQCD向上も期待できます。
自動車の日本品質を守るために、IVIシステムのテストに改革を
今回は、IVIシステムのテスト実行におけるベストプラクティスの1つであるEggplantの具体的な適用ケースを紹介しました。
■第4回のポイント
本連載では、IVIシステム開発における現状やテストの課題、解決のための施策をお伝えしました。Eggplantのようなテスト自動化ソリューションの適用は、テストの生産性・品質向上、ひいてはIVIシステム開発全体のQCD向上に寄与する有意義な施策といえます。
昨今の自動車業界では品質不正が相次ぎ、自動車の「日本品質」が揺らいでいます。この現状を打破するために、IVIシステムにおけるテストにも抜本的な見直しが求められています。
- 2024.11.6
- 【第4回】:Eggplantの適用ケース