2024.9.10
【第2回】:テストにおける課題と対応ポイント
自動車に情報とエンターテインメントをもたらす「IVI(In-Vehicle Infotainment)システム」は、テクノロジーの発展にともない、その重要性を増しています。自動車の「日本品質」が揺らいでいる昨今、IVIシステムの品質保証についても見直しが求められています。
IVIシステムの正確な動作、およびユーザー要求への適合性を評価するためには、網羅的かつ正確なテストが不可欠です。IVIシステムのテストに不備があれば、ユーザーの利便性が低下するばかりか、人命を脅かす事態にもなりかねません。IVIシステムのテストの重要性については、第1回の記事をご一読ください。
現実のIVIシステム開発におけるテストには様々な課題があり、高品質なテスト実現にあたっての障壁となっています。第2回となる本記事では、IVIシステムのテストにおける課題と対応のポイントについてお伝えします。
IVIシステムのテストにおける課題と対応のポイント
IVIシステムのテストにおける様々な課題に対しては、個別に取り組んでいくことが求められます。ここでは、IVIシステムのテストにおける3点の課題、および対応のポイントについて解説します。
課題1:テストケース増大にともなう負荷の軽減
IVIシステムの高機能化・複雑化にともない、その品質を保証するために必要なテストケース数も増加しています。手動でテストケースを消化する場合、テスト担当者の負荷増大は避けられません。いかにしてテストケース増大にともなう負荷を軽減するかが課題です。
テストケース増大に拍車をかけているのは、IVIシステムに欠かせない電子制御装置「ECU(Electronic Control Unit)」の増加です。高度な機能を追加するためにECUの追加を余儀なくされ、100個を超えるECUを備えている自動車は珍しくありません。ECUを追加すれば、相互に連携するECU間の結合テストも拡充する必要があります。
また、「CAN(Controller Area Network)」などのプロトコルを用いたECU間の通信は、同一のバス(通信経路)を共用することが通例です。ECUを追加すれば、通信遅延による既存のCAN通信への副作用も懸念されるため、既存機能の回帰テストも重要といえます。追加したECUや機能のみのテストでは不十分であり、IVIシステム全体で加速度的に増えていくテストケースの洗い出しや作成の負荷は大きなものとなります。
対応のポイント:テストケースの網羅的な生成
増大するIVIシステムのテストケースを、手作業で1件の抜け漏れもなく作成することは現実的に困難です。豊富な経験やノウハウを持つテスト担当者であっても、人力に依存するアプローチでは生産性・品質の両面で限界があります。テストの負荷軽減・品質向上を実現するためには、テストケースを網羅的に生成できる自動化ソリューションが必要です。
従来は、テスト担当者のUI操作をもとに自動化スクリプトを生成するなど、「テスト実行」のみを対象とする製品が大半でした。しかし昨今では、仕様や設計をモデルに落とし込む「モデルベーステスト」などの手法を採用し、テストケースの網羅的な生成を可能にする製品も存在します。テストケースが集約されたモデルから機械的にテストケースを作成することで、負荷軽減・網羅性の向上を両立することが可能です。
課題2:表示系テストの生産性向上
IVIシステムが持つ機能の多くは、ディスプレイを通してユーザーに価値を提供します。したがって、ディスプレイを用いる表示系テストの重要性は非常に高いといえます。その一方で、表示系テストは多くの労力をともなう側面があり、生産性の向上が課題です。
たとえば、バッテリー異常といった点滅をともなうインジケータ表示をテストする場合、表示位置だけでなく点滅周期の確認も必要となります。こうした確認作業を自動化することは難しく、目視確認に甘んじる現場が少なくありません。目視確認では数件のテストケースでも多くの工数を要するばかりか、結果判定の誤りによるテスト品質低下も懸念されます。
また、テスト結果のエビデンスを取得するために、専用の撮影ツールで撮影する光景も珍しくありません。しかし、撮影ツールの設置や調整は想像以上に工数を奪う作業です。環境要因でエビデンスが取得できず、テストの再実施が必要となるケースもあります。こうした表示系テストにともなう諸作業は、テストの生産性向上にあたって大きな障壁となります。
対応のポイント:リモート技術を用いたUI操作・表示判定の自動化
表示系テストについても自動化することが理想ですが、IVIシステムのような組み込みシステムの画面表示・制御を自動化できるソリューションは多くありません。IVIシステムの表示はファイルベースではないことが多く、HTMLコードの機械的なチェックといった手段が難しいためです。また、カメラで撮影した画像を用いて表示判定する自動化ソリューションも、撮影環境に依存する側面が強く、誤判定につながりやすい課題があります。
理想的なのは、IVIシステムとテスト環境をリモート接続する自動化ソリューションです。ディスプレイを制御するECUから表示内容をテスト環境に送信し、受信側で制御や結果判定を行うことができます。この方法であれば、表示内容を保ちつつ正確な結果判定が可能です。また、テストコードの追加によりテスト環境を改変せずに済み、テスト結果に想定外の影響が生じることも防止できます。
ただし実際の表示系テストでは、アイコンの表示が数ミリ単位でずれるようなケースも少なくありません。表示のわずかなずれを見逃さないためにも、高精度な結果判定が可能な自動化ソリューションが求められます。
課題3:非機能テストの拡充
IVIシステムの高機能化にしたがい、セキュリティや性能といった非機能要件のテストの重要性も高まってきました。特に、AIを悪用したサイバー攻撃が増加しつつある昨今、セキュリティ要件に対する高品質なテストは不可欠です。脆弱性を早期に検出・対策できなければ、外部デバイスとの接続をともなうIVIシステムは脅威にさらされることになります。
また、ECUや機能が増えれば、通信量の増加による速度低下やリソース逼迫の懸念も高まります。そのため、応答速度やメモリ使用量などの検証を含む性能要件に対するテストも手抜かりが許されません。こうした非機能テストは往々にして専用のソリューションが必要となり、拡充するためのハードルは高いといえます。
対応のポイント:各非機能要件に合致するソリューションの選定
昨今では、非機能要件のテストを自動化するソリューションも増えつつあります。ただし、非機能要件によってテストの実施方法や観点が異なるため、1製品ですべてをカバーすることは困難です。したがって、非機能テストの種類ごとに個別の対応が必要となります。
とはいえ、多岐にわたる非機能要件への対応には多くの労力を要するため、段階的に対応していくことが現実的です。テスト自動化において優先的に対応すべき3つの非機能テストについて、対応のポイントを解説します。
■性能テスト
性能テストでは、速度やデータ容量などのパフォーマンスが実運用で要求される水準に達しているかを検証します。イベント発生から表示までの時間が許容範囲か、複数ECUからの同時データ送信時に問題なく処理できるか、など幅広い観点でのテストが必要です。
CAN通信の応答時間などは従来のテストツールでも実施可能であるものの、ディスプレイの表示は正確な目視確認が難しいといえます。そのため、プログラムコードではなく画像レベルで結果判定できる自動化ソリューションが理想です。ただし、前述のように誤判定のリスクがあることを念頭に置き、精度の高さも加味して製品を選定する必要があります。
■セキュリティテスト
セキュリティテストでは、プログラムコードや設定ファイルの静的解析、疑似攻撃の試行などを通して脆弱性を検出します。今後さらなる増加が懸念されるサイバー攻撃に備えるためにも、セキュリティテストは重要となります。
全通信が適切に暗号化されているか、不正なアクセスやコード送信からシステムやデータを保護できるか、といった観点のテストが必要です。これらを自動化するためには、IVIシステムの全通信を可視化でき、疑似攻撃のシナリオを自動制御できるソリューションが求められます。
■ユーザビリティテスト
ユーザビリティテストでは、ユーザー目線に立ったシナリオを再現し、ユーザー体験として操作性や視認性などを評価します。上質なユーザー体験を保証し、ブランドの信頼性を高めるうえでは、あらゆるユーザーの操作を想定したテストが求められます。
しかし、ユーザージャーニーは千差万別であり、手動のテストでは抜け漏れを防ぐことが困難です。ユーザビリティテストを自動化するためには、あらゆるユーザーの操作を想定し、テストケースを自動で生成できるソリューションが求められます。また、ユーザーの挙動をユーザー目線から再現できる技術が必要となります。
IVIシステム開発におけるテスト実行のベストプラクティスとは?
今回は、IVIシステムのテストにおける課題と対応のポイントについて整理しました。
■第2回のポイント
- IVIシステムのテストにおいては、テストケース増大にともなう負荷の軽減や表示系テストの生産性向上、非機能テストの拡充などが課題となる。
- 人力に依存するアプローチでは生産性・品質の両面で限界があり、現実的には自動化ソリューションの選定が求められる。
様々な開発分野においてテスト自動化の試みが行われているものの、自動車業界ではそれほど進んでいないのが現状です。IVIシステムのテストにおける課題の解決に向けて適切に取り組むためには、最適解を把握し、あるべき姿を明確にすることが求められます。
第3回となる次回は、IVIシステム開発におけるテスト実行のベストプラクティスについて解説します。
- 2024.11.6
- 【第4回】:Eggplantの適用ケース