DENSO TEN Technical Review

デンソーテンテクニカルレビュー

組み込みソフトウェア開発における自動テスト環境構築による開発効率化

分野
ソフトウェア開発、自動化
関連製品
カーナビゲーション
詳細PDFをダウンロード

取組背景

昨今、ソフトウェア開発では「継続的インテグレーション・継続的デリバリー(Continuous Integration/Continuous Delivery、以下、CI/CDという)」と呼ばれる、ソフトウェアのコミット(変更)からビルド→テスト→デプロイ→リリースといった一連のプロセスを自動化することによって、開発効率や品質を向上させる手法がよく用いられます。
当社では、カーナビゲーションシステム(以下、カーナビという)の組み込みソフトウェア開発を行っており、このCI/CDを用いて、開発したソフトウェアを自動で最新の試験用のプロダクトボードに書き込んだ状態で動作確認テストを行うための自動テスト環境を構築しました。これにより不具合発見の早期化による品質向上と開発効率の向上を実現しました。

画像の名称

自動テスト環境のシステム構成

当社運用中のカーナビ組み込みソフトウェア開発のCI/CDは以下のようになります。

(1) 毎日午前0時に最新状態のソースコードを使ってソフトウェアのビルドを実施
(2) 国別の仕向けや機種毎の複数の異なる環境で自動テストを実施

自動テスト環境は「Amazon Web Service®(AWS)」のクラウドサーバーにインストールされたCI/CD用のツール「Jenkins®」からテスト環境用にローカルに用意したWindows PCをコントロールして行います。
カーナビソフトウェア開発では、国別の仕向けや機種毎の複数の製品を同時に開発しているため、テスト環境数を増やすことで複数製品を何台でも同時にテストすることができます。

画像の名称 画像の名称

テスト項目

自動テスト環境を構築した主なテスト項目を示します。
本テスト項目はカーナビゲーションの組み込みソフトウェア開発にとって重要な基本機能になります。

①ソフトウェアバージョンアップ
    テスト内容:毎日午前0時に最新状態のソースコードで作成されたソフトウェアにバージョンアップを行い、
                          最新ソフトウェアの動作テストを実行
    自動化方法:Windows PCとターゲットボードをUSB-EthernetでLAN接続することによって、
                          バージョンアップファイルをターゲットボードに接続されたUSBメモリに転送し、実行

②音声出力テスト
    テスト内容:音声ファイル再生時に想定どおりの音声が出力されているかどうかの確認
    自動化方法:事前準備したテキストⒶを音声読み上げサービス「VOICEVOX」を使い、音声ファイルを作成
                          その音声ファイルを音声認識AIサービス「Whisper」を使いテキストⒷを作成
                          テキストⒶⒷの文字列が一致しているかを確認

③映像出力テスト・ディスプレイタッチテスト
    テスト内容:ディスプレイに想定どおりに映像出力されているか、
                          ディスプレイを直接タッチ時に想定どおりの画面遷移をしているかどうかの確認
    自動化方法:製品開発用に用意されたCAN情報のシミュレーション用ツールを利用し、
                          特定操作を実行した際のキャプチャーした映像と事前に用意した正解画像の一致率を比較

画像の名称 画像の名称

まとめ

今回構築した自動テスト環境によって、組み込みソフトウェア開発のテストが自動で行えるようになりました。これにより、不具合発見の早期化による品質向上、開発工数の削減が期待できます。
今後、各開発担当者が手動で実施しているテスト項目の自動化を進め、更なる開発工数の削減を推進していきます。

●記載されている会社名、商品名、サービス名等は、各社の商標または登録商標です。