ソフトウェアインザループ テストとは
ソフトウェアインザループ (SIL) は、シミュレーション環境でコードをテストおよび検証する方法であり、低コストで迅速にバグを発見し、コード品質を高めることができます。通常、SIL テストはソフトウェア開発プロセスの早い段階で実施され、より複雑でコストのかかるハードウェアインザループ
(HIL) テストは、より後の段階で実施されます。
OEM が、主にソフトウェアを通じてさまざまな機能を実現するソフトウェア定義の車両 (software-defined vehicle) への移行を進めているため、自動車業界では SIL が特に重要です。
新しいソフトウェアプログラムには、それが高度な安全性、自動運転、ユーザーエクスペリエンスなど、どの分野に関係する場合でも、数千項目の特別な要件が含まれているため、ソフトウェアが想定したように機能することを手動でテストするのは現実的ではありません。開発中のソフトウェアを実際の車両に物理的にロードして、テスト走行を実施する場合、すべての運転条件でソフトウェアが機能することを確認するために、数十万マイルも走行することが必要になる可能性があるため、きわめて多額の費用と膨大な時間がかかります。
自動車業界向けのアプリケーションを開発している会社は、最新のソフトウェア開発のトレンドである継続的インテグレーション、継続的デプロイメント、および継続的テストに従って、作成したコードを毎日テストする必要があります。
- SIL のシミュレーションは、標準的なデスクトップコンピューターで実行でき、HIL テストに必要な特別な機器やテストベンチは必要ありません。そのため、コストをかけずに多数のインスタンスに SIL テストをデプロイして、テストのボトルネックを減らし、開発プロセスを迅速化できます。
- シミュレーションは完全にソフトウェア内で実行されるため、テストは実際の環境よりも高速に実施できます。
- シミュレーションプログラムを使用することで、柔軟性が高まり、反復が可能になります。テスト担当者は、シナリオの 1 つの変数を調整し、他のすべての特性を一定に保って、複数のシミュレーションを実行できるため、ソフトウェア開発者との効果的なフィードバック ループが構築されます。
- SIL によって、ソフトウェア開発とハードウェア開発が分離されるため、ソフトウェア開発者は、自分のペースで新しい機能を迅速に作成できます。
- 製品全体が完成するのを待たずに、複雑なソリューションの一部のコードまたはコンポーネントを開発中にテストできます。
- マルチスレッドにより、複数のテストを逐次的ではなく同時に実施できます。これも、時間の節約と効率の向上につながります。
- SIL 用に開発されたシミュレーションは、HIL テストに再利用でき、物理的なハードウェアの性能と相互相関の監視に役立ちます。
- 技術プロバイダー、OEM、サードパーティの開発チーム間で、結果を簡単に共有できます。
SIL の有効性は、モデリングソフトウェアの品質や、特定の道路状況や運転シナリオをシミュレーションするために作成されたテストケースおよびスクリプトによって決まります。Aptiv は、カスタムのログ記録および視覚化のためのツールを開発しています。このツールでは、走行データを記録したり、センサーデータや車両パフォーマンスを視覚化したりできます。Aptiv は、これを使用して、特定の走行シナリオをシミュレーションする正確なテストスクリプトを作成できます。
自動化された SIL および HIL テストにより、Aptiv では、日々のビルド時間を 70% 削減できました。極端な場合、12 時間かかっていたビルド時間が、わずか 5 分になりました。その結果、重要な業界アプリケーションの市場投入までの時間を短縮できました。