JaSST’22 Tokyo
ランチテクノロジーセッション

Webアプリのテスト自動化エンジニアが、1年半で車載器の自動テストアーキテクチャを語れるようになった話
2022年 3月11日

株式会社ベリサーブ
中部・西日本オートモーティブ事業部
石丸 温© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

自己紹介■名前：石丸 温（いしまる あつし）
■経歴
2000年～2008年：電機メーカーにて組み込みソフト開発
2008年～2009年：ITベンチャーにてWebアプリ開発
2009年～2020年：コンサル系SIerにて組み込みソフト開発＋プロセス改善
2020年8月～：現職ベリサーブ（1年半）■現在担当している業務
自動車メーカー様向け 車載器品質保証業務© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

1

テスト自動化と私 組み込み機器ロングランテスト：windowsアプリ + UART＋ファーム側スタブ
 組み込みWebサーバーのテスト自動化：Selenium+Robotframework ネットワーク機能のシステムテスト自動化：Python+Expect+UART 組み込みソフト自動ビルドシステム導入：SCM(Git・Perforce)+Jenkins© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

2

講演概要
近年、車載器開発においては、発売後のOTA(※)ソフト配信への対応など開発のスピードアップが求められており、テスト自動化は欠かせないものとなっています。
本講演では、車載器のテスト自動化の事例を紹介します。
自動車業界外から入ってきたエンジニアの目線で、Webアプリの技術が活用できるポイントなどをお話します。
新規に車載器開発に取り組む方向けに必要な知識の紹介なども行います。

※OTA：Over The Airの略。データ送受信を無線通信で行うこと。
© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

3

講演のターゲット①Webアプリなどのテスト自動化に取り組んでいる方車載器の開発は、外から見ると特殊なことをやっていると思っているのではないでしょうか。実はITシステムと技術的ソフトウェアテストに関わっている共通点が多く、自分の活躍の場を広げられる可能性があ

車載機器ることを事例から知っていただきたい。
②車載器開発・テストに携わっている方②Webシステム①

テスト自動化に取り組んでいる事例紹介をヒントに自動化の適用範囲拡大のきっかけにしていただきたい。

© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

4

本日のアジェンダ

１．車載器開発の変化
２．テスト自動化の概要
３．車載器テスト自動化事例の紹介
3-1. テスト実行の自動化
3-2. テスト設計の自動化
3-3. テスト管理の自動化
3-4. ツールチェーンの自動化
４．まとめ© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

5

1. 車載器開発の変化© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

6

車載器開発の変化

ソフトウェア・ファースト
要求仕様の変化に迅速に対応し、OTA(Over The Air）でお客様に価値提供
開発プロセスの変化
内製化© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

ソフト+システム
完成車
メーカー
責務

完成車
メーカー
責務
変化

内製化

サプラ
イヤ
責務

ハードとソフトの分離
サプライヤ
責務

ハード
（上記と同様の開発モデル）

7

車載器開発の変化

SHIFT LEFT
使用技術
サービスレベル
妥当性確認

サービス
要求仕様
車両
要求仕様

MBSE
モデル検証
MILS
MBT

車両レベル
妥当性確認

実車テスト

システム
要求仕様

システムレベル
妥当性確認

システムユニット
要求仕様

システムユニット妥当性確認

機能設計

機能テスト設計

実車調整

システムユニット
テスト

機能テスト

システムユニット
デバッグ

単体テスト設計

単体テスト

SHIFT
LEFT

システム
からソフトへ機能デバッグSILS

SHIFT LEFT：ソフトからモデルへ
詳細設計

HILS

システム
デバッグ・調整

受入テスト

単体デバッグCI

実装・静的解析・デバッグ※HILS : Hardware In the Loop Simulation、 SILS : Software In the Loop Simulation
CI : Continuous Integration、 MBSE : Model Based System Engineering
MILS : Model In the Loop Simulation© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

8車載器開発の変化

システムズ エンジニアリング
複雑化するConnectedサービス

サービス領域スマホ

複数システムを俯瞰し、系統立てて考える
システムズ エンジニアリング

Out-Car

サーバー
Connected

In-Car© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

ITシステム領域

車載デバイス領域

車載器(車載器間のConnected)

シス
テムズ
エン
ジニア
リン
グ

9

２. テスト自動化の概要© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

10

テスト自動化の概要

テスト自動化は実行だけではない。全てのプロセスが対象。
ツールチェーン
テスト実装
テスト分析

テスト設計

テストデータ生成

テスト実行

分析・レポート

プロジェクトマネジメント・構成マネジメント・テストマネジメント

参考：JSTQB Advanced Levelシラバス「テスト自動化エンジニア」：http://jstqb.jp/dl/JSTQB-Syllabus.Advanced_TAE_Version2016.J01.pdf© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

11

３．車載テスト自動化事例の紹介© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

12

事例一覧
3-1.テスト実行の自動化(1)(2)
3-2.テスト設計の自動化
3-3.テスト管理の自動化
3-4.ツールチェーン自動化： ECUのHILSテスト： 単体テスト： Model Based Testing(MBT)： ダッシュボード化： CIによるツールチェーン自動化
ツールチェーン

3-4

テスト実装
テスト分析

テスト設計
3-2

テストデータ生成

テスト実行
3-1

プロジェクトマネジメント・構成マネジメント・テストマネジメント© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

分析・レポート

3-3
13

3-1. テスト実行の自動化© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

14

テスト実行の自動化(1):ECUのHILSテスト
インターフェイスに応じた環境を用意する必要がある■実機環境■HILS環境

電源スイッチ
関連ECU
画面

ドライバー・スタブ
アナログI/O

制御PC

テスト対象
ECU

【テストケース】
手順1.電源ON
手順2.スイッチON
手順3.CAN信号送信
期待値確認.カメラ画像の比較

デジタルI/OECUモデル

テスト対象
ECU

カメラ

ポイント：費用対効果等を考慮し、どのインターフェイスのテストまで自動化するかは検討する必要あり。
→ テスト自動化の8原則①手動テストはなくならない© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

15

参考：車載ネットワーク規格••••

CAN(-FD)
LIN
FlexRay
車載Ethernet(100BASE-T1、1000BASE-T1)
OSI参照モデル

車載器

ITシステムSOME/IP

HTTP/MQTT

7

アプリケーション層

6

プレゼンテーション層

5

セッション層4

トランスポート層

TCP/UDPTCP/UDP3

ネットワーク層

IPv4/IPv6

IPv4/IPv6

2

データリンク層

Ethernet MAC+ VLAN

Ethernet

1

物理層100BASE-T1/
1000BASE-T1

100BASE-T/
1000BASE-T© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

16

テスト実行の自動化(1):ECUのHILSテスト
C言語技術をECUモデル開発に活用■ECUモデルの例
Vector社CANoeのCAPL (Communication Access
Programming Language)を使用。
C言語技術を活用できる。

アナログI/O
デジタルI/O
制御PC

ECUモデル

テスト対象
ECU

カメラ
【テストケース】
手順1.電源ON
手順2.スイッチON
手順3.CAN信号A送信
期待値確認.カメラ画像の比較© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

17

テスト実行の自動化(1):ECUのHILSテスト
車載器開発の変化：コネクティッドサービスの普及
車載器がインターネットに繋がり、一般的なネットワークインターフェイスを使用したテスト技術の活用の場の広がり© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

18

テスト実行の自動化(1):ECUのHILSテスト
ドライバー・スタブとして疑似センターを用意■HILS環境■実機環境

Out-CarOut-Car

疑似センター

制御PC

センター

HTTP
手順1

電源ECU
ECU

© 2022 VeriServe Corporation

通信
ECU【テストケース】
手順1.電源ON
手順2.センター通信送信
手順3.CAN信号送信
期待値確認.疑似センターにて通信の期待値を確認

会社名・製品名・サービス名は、各社の登録商標または商標です。

手順3

期待値確認

アナログI/OECUモデル通信
ECU

ECUモデル

In-Car・・・・・・

In-CarHTTP 手順2

19

テスト実行の自動化(1):ECUのHILSテスト
ITシステムでも使われているインターフェイスの場合、同じ技術が使用できる
HTTPなどITシステムでも使用するインターフェイスを使用する場合、以下の2点でIT技術が活用できる。
・疑似センターの開発
テストドライバーでの信号送信
車載器からの通信の期待値確認■HILS環境
Out-Car

会社名・製品名・サービス名は、各社の登録商標または商標です。

HTTP 手順2

In-Car

手順1

手順3

期待値確認

アナログI/OECUモデル

通信ECU

ECUモデル・・・【テストケース】
手順1.電源ON
手順2.センター通信送信
手順3.CAN信号送信
期待値確認.疑似センターにて通信の期待値を確認© 2022 VeriServe Corporation

疑似センター

制御PC

20

テスト実行の自動化(2):単体テスト
単体テストはITシステム全般で実施されている。
コードカバレッジをプロジェクトのゲートにしていることも多い。
コードカバレッジをゲートにしている場合は、単体テストツールを使うことが一般的。
車載器のソースコードカバレッジは、MC/DC100%が求められることが多い。

© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

21CD

テスト実行の自動化(2):単体テスト
テスト分析における 機能安全規格の考慮
機能安全規格 ISO26262• ハザード分析とリスクアセスメントによりASIL（Automotive Safety Integrity
Level：自動車安全水準）を導く。
• ASILに応じたテストを行う。
例：ASIL D(ハザードの程度が最高)の場合• 強く推奨するテスト手法• MC/DC 100%

© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

22

テスト実行の自動化(2):単体テスト
単体テストツールにより複数のプロセスを自動化できる
テスト設計• テストケースの自動生成• ドライバー・スタブの自動生成

コードカバレッジが不足する場合は手動でテストケースを追加

テスト実行• 自動実行分析・
レポート

ポイント：自動を手動で補完することでコードカバレッジ100%を実現する。
→ テスト自動化の8原則①手動テストはなくならない• コードカバレッジの自動計測

テスト
実装

テストデータ生成© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

23

3-2. テスト設計の自動化© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

24

テスト設計の自動化：MBT
車載器開発の変化：シムテムズエンジニアリングの重要性の高まり
システムズモデリング言語SysMLによる仕様書の普及
SysMLの活用場面• モデルでの検証• モデルからソースコードの自動生成• モデルからテストケースを自動生成
SysMLモデルからテストケースを自動生成する取り組み
省略してMBT(Model Based Testing)と呼ぶ。

© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

Ｖ
モデル検証

モデル仕様

テストケース

ソースコード25

テスト設計の自動化：MBT
MTBの意義• ステークホルダーがテスト設計仕様を理解しやすくなる。
• テスト自動化がしやすくなる。
自動生成の意義• ツールの誤りがなければ、テスト設計品質の向上が期待できる。
• テスト設計を省力化でき、多数のテストをローコストで作成できる。

© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

26

TBD

テスト設計の自動化：MBT
 モデルからテストケースを自動生成
仕様モデル
reqbdd【テストケース】

ucstm

要求
ブロック定義図ユースケースステートマシン図

モデル構造に着目しテストケースを自動生成

act

アクティビティ図 アクティビティ図の例

自動生成プログラム【テストケース】
1-1 ●●がYesの場合、▲▲すること
1-2 ●●がNoの場合、■■すること・・・

 分岐条件のオブジェクトがある場合にどちらの分岐を通るか【テストルール】
act

①②③④

●●

NoYes
▲▲

© 2022 VeriServe Corporation■■

会社名・製品名・サービス名は、各社の登録商標または商標です。

27

テスト設計の自動化：MBT
 テストルール更新のプロセス

 テストルール・・・分岐、Loop、停止
 テストルール・・・イベント（時間、割り込み）【テストルール】【アクティビティ図】
act①②③④適用適用【更新版テストルール】

更新

①②③④
⑤

適用可能なテストルールがないため⑤を追加

テストルールがテスト観点であり、知的資産となる。
テストルールを全適用するとテストケースが肥大化するため、テスト要求に見合ったテストルールを採用する必要がある。
© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

28

テスト設計の自動化：MBT
使用技術や特徴：
特定のツール（Rhapsody、Enterprise Architect）を常用。
ツール固有のフォーマットからSysMLを拡張した独自フォーマットに変換する必要あり。
車載器以外への活用：
SysMLやUMLで仕様書を作成している場合は、車載器以外でも同じ技法が使える。

© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

29

3-3. テスト管理の自動化© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

30

テスト管理の自動化：ダッシュボード化
開発のスピードアップ
テストからのフィードバックのスピードアップ

テスト自動化の拡大

テスト状況をリアルタイムで把握する必要性

テスト結果など管理対象の増大管理も自動化しなければ欲しい情報がリアルタイムで取得できない© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

31

テスト管理の自動化：ダッシュボード化
REST APIによる情報収集とダッシュボード化
トレーサビリティツール

テスト実行ツール

不具合管理ツール

テスト設計書等
REST API
テスト結果

ダッシュボード

テスト結果

不具合起票

「生産性」「コード品質」「製品品質」

不具合帳票

REST APIREST API

状況の見える化とアラート通知

例：・ コード量・ テスト進捗・ 単体テストカバレッジ
・ PB曲線

管理者© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

32

テスト管理の自動化：ダッシュボード化活用できるIT技術：
テスト対象が車載器かWebアプリかに関わらず、REST APIによるシステム連携技術は活用できる。
使用技術や特徴：
トレーサビリティツール等の、車載器では常用するツールのREST APIに関する実践的な事例情報が少ない。

© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

33

3-4．ツールチェーンの自動化© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

34

ツールチェーンの自動化：CI自動化適用プロセスの拡大
リグレッションテストの高頻度化
各プロセスを連続して（チェーン）起動することによりプロセス単体の自動化より更なる効率化を目指せる。

© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

35

ツールチェーンの自動化：CI
ECUを対象としたテスト実行の自動化
ECUを対象としたテスト実行プロセスの自動化

ビルド

静的解析

単体テスト
実行

ソフト
書き込み

システムテスト実行

ハードボタン押下で書き込みモードに入るシステムだと、書き込み自動化のためにシステムが必要となってしまう。ソフトのみで書き込みモードに入れる仕組みを、プロジェクト開始時に要件化しておくのが良い。
→ テスト自動化の8原則⑥「自動化検討はプロジェクト初期から」© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

36

ツールチェーンの自動化：CI
MBTのテスト実装・テスト実行への拡大
テストケース生成仕様
記述・EnterpriseArchitect・Rhapsody

仕様

SysML
・アクティビティ図
・状態遷移図・ブロック定義図

仕様
SCM(GitHub)

テスト設計ツール

json

テストスクリプト生成

テストケース

自動実装
起動
CIツール
（Jenkins）

テスト結果
テストログ
© 2022 VeriServe Corporation

テストケース

テストケース

自動設計
起動

モデル変更

テストモデル

会社名・製品名・サービス名は、各社の登録商標または商標です。

自動実行
起動

テスト実装ツール

テストスクリプト
テスト管理ツール

テスト結果

テスト実行

テスト実行ツール

SCM(GitHub)37

4．まとめ© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

38

まとめ
車載器の事例

自動化フェーズ

車載器開発の変化活用できるIT技術

車載器の特徴仕様のモデル化

全般

特定のツールを使用しフォーマット変換が必要

ー

C言語技術

多彩なインターフェイス
車載ネットワーク規格

コネクティッドサービスの普及

HTTPなどの通信規格の使用同上

単体テストにおけるカバレッジ確保ー

全般

ISO26262に基づく
MC/DC100%3-3. テスト管理

情報収集とダッシュボード化

テスト状況をリアルタイムで把握する必要性

REST APIでのシステム連携(特有のシステムとの連携)

3-4. ツールチェーン

CIによるツールチェーン自動化

スピードアップの必要性

全般

ソフト書き込み

3-2. テスト設計

SysMLからのテストケース自動生成
非通信ECUのHILSテスト

3-1. テスト実行

通信ECUのHILSテスト© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

39

まとめ：テスト自動化の8原則
1. 手動テストはなくならない
2. 手動でおこなって効果のないテストを自動化しても無駄である
3. 自動テストは書いたことしかテストしない
4. テスト自動化の効用はコスト削減だけではない

3-1(1). テスト実行自動化：ECUのHILSテスト
費用対効果等を考慮し、どのインターフェイスのテストまで自動化するか検討
3-1(2). テスト実行自動化：単体テスト
自動を手動で補完することでカバレッジ100%を実現する。

5. 自動テストシステムの開発は継続的におこなうものである
6. 自動化検討はプロジェクト初期から
7. 自動テストで新種のバグが見つかることは稀である
8. テスト結果分析という新たなタスクが生まれる

3-4.ツールチェーンの自動化：CI
ソフトのみで書き込みモードに入れる仕組みをプロジェクト開始時に要件化しておくのが良い。
3-3.テスト管理の自動化：ダッシュボード化
分析の作業にも自動化を導入できる。

引用：テスト自動化研究会「テスト自動化の8原則」https://sites.google.com/site/testautomationresearch/test_automation_principle© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

40

まとめ

事例を用いて、車載器で常用する技術・ポイントに注意しつつ、IT技術を活用できれば車載器のテスト自動化の幅が広がるというお話をさせていただきました。
そのヒントを1つでも本日持ち帰っていただくことができれば幸いです。

© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。

41ご清聴ありがとうございました。

© 2022 VeriServe Corporation

会社名・製品名・サービス名は、各社の登録商標または商標です。