JaSST’16 Tokyoテクノロジーセッション

AUTOSAR Acceptance Testの自動化の取り組み

株式会社ベリサーブ
オートモーティブ検証サービス開発部
須原秀敏
1自己紹介項目内容

所属

株式会社ベリサーブ

名前

須原秀敏（すはらひでとし）

経歴

車載電子機器（以後ECU）のシステムテストを6年

http://www.automotivespice.com/fileadmin/softwaredownload/Automotive_SPICE_PAM_30.pdfより

活動

WACATE、STAC、JaSST、SQiP、TEF東海etc...に参加、講演経験はなし

SNS

Twitter:@suhahide
2

アジェンダ
1. AUTOSARとは？
2. AUTOSAR Acceptance Test（AT）とは？
3. ATの自動化
4. 考察と今後の課題

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

3

アジェンダ
1. AUTOSARとは？
2. AUTOSAR Acceptance Test（AT）とは？
3. ATの自動化
4. 考察と今後の課題

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

4

AUTOSARとは
項目

説明

正式名称

AUTomotive Open System ARchitecture

略称

AUTOSARいつ

2003年発足、現在Release4.2.2

誰がOEMやサプライヤ、ツールベンダなどのグローバルパートナーシップ

対象

ECU

どの部分

ソフトウエアアーキテクチャ

なぜ

ECUの開発コストを下げ、品質を確保

どうする

非競争領域は共通化、競争領域は再利用と再配置

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

5

AUTOSARのソフトウエアアーキテクチャ(1)
Layer

略称

説明

Application Layer

APP

ECUの機能を実現。一つ以上のSWCから構成される

Runtime Environment

RTE

Application Layerへの実行環境提供、通信IFの提供

Basic SoftwareBSW

どんなECUにも共通である土台部分の基本ソフトウエア

http://www.autosar.org/fileadmin/files/releases/4-2/softwarearchitecture/general/auxiliary/AUTOSAR_EXP_LayeredSoftwareArchitecture.pdfより１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

6

AUTOSARのソフトウエアアーキテクチャ(2)BSWの構成モジュール

http://www.autosar.org/fileadmin/files/releases/4-2/softwarearchitecture/general/auxiliary/AUTOSAR_EXP_LayeredSoftwareArchitecture.pdfより１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

7

AUTOSARのメリット(1)Noメリット1

車両の特性を越えて、Application RTEによりAPI抽象化がなされる、また、外部からLayerの再利用ができるの設定により特性が吸収できる

理由

車両A

１．AUTOSARとは？

車両B

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

8

AUTOSARのメリット(2)Noメリット理由

2

安定した品質のプラットフォームを使用できる

BSWにはすべてのECUに共通のモジュールが含まれている

AUTOSARでない

AUTOSARマイコン部分除きゼロから開発

Application Layer＋設定での開発

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

9

AUTOSAR対応の製品のテストのニーズ
AUTOSARのコンセプト上、AUTOSAR対応BSW＋RTEを外から持ってきて、製品に組み込むことが多い
この場合、持ってきた製品の受け入れテストを実施したいというニーズが発生する
APP
外部から受け入れテスト

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題10ちなみに：AUTOSARとJaSST
いつ、どこで

題名

概要

JaSST’10 Tokai「AUTOSARを適用した車両システム開発環境の構築」

開発プロセスとツールチェーンの整備

JaSST’12 Tokyo「AUTOSAR_OSに対するテストケースおよびテストプログラムの自動生成」

PictMasterによる単体テスト設計、実装の自動化

JaSST’16 Tokyo「AUTOSAR Acceptance Testの自動化の取り組み」

システムテスト実行の自動化

JaSST’16 Tokyo
JaSST’10 Tokai
１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

JaSST’12 Tokyo
３．ATの自動化

４．考察と今後の課題

11

アジェンダ
1. AUTOSARとは？
2. AUTOSAR Acceptance Test（AT）とは？
3. ATの自動化
4. 考察と今後の課題

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

12

AUTOSARのAcceptance Testとは？
項目

説明

正式名称

AUTOSAR Acceptance Test

略称

AT

いつ

2014年リリース、現在Release1.1

誰がAUTOSAR

対象

AUTOSARの提供する「機能」

どの部分

受け入れテスト

なぜテスト実施の苦労とコストを削減

どうする

共通の受け入れテストを定義

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

13

ATの目的と制限
分類

内容

説明

目的

共通化

共通のテスト開発とメンテナンス。個別にテストを作る必要がない

方向付け

メソドロジー、拡張性を提供。カバレッジ外のテストを作る際に方向性が決まる

結果の流用 テスト実施結果の流用。サプライヤとOEM両方でテスト実施する必要がない
制限

カバレッジ

限定された機能のみを含めている

対応要否

OPTIONAL

製品固有

プロジェクト固有の設定についてはテストしない

http://www.autosar.org/fileadmin/files/releases/tc-1-1/AUTOSAR_EXP_AcceptanceTestsOverview.pdfより１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

14

ATの使い方の例
シチュエーション例

使い方

受け入れテスト実施

ATで定義されているテストケースに加え、AT内に存在する機能内での深掘り、AT内に存在しない機能への横展開

回帰テスト

ATで定義されているテストケース＋αを毎回リリース時、毎回ビルド時に実施するATの範囲存在しない機能への横展開

存在する機能内での深掘り
機能１

機能２

１．AUTOSARとは？

機能３２．Acceptance
Test（AT）とは？

機能４

機能５

３．ATの自動化

機能６

４．考察と今後の課題

15

ATのテストアーキテクチャ
番号

説明

①

Upper Testerと呼ばれ、テスト対象のAPI部分のIF②

Lower Testerと呼ばれ、テスト対象のバス部分のIF。CAN、LIN、DIO、ADCなどが含まれる
SUT

Test System
Test Bench(Lower Tester)

SWC(Upper Tester)

Test Coordination Process

1
RuntimeEnvironment(RTE)
Basic Software(BSW)2

Microcontroller
BUS

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

16

ATのテストケースのサンプル
テスト手順が記載されている。本事例では
APIコールのみ期待結果が記載されている。本事例ではBUS出力の確認のみ

http://www.autosar.org/fileadmin/files/releases/tc-11/specifications_auxiliary/AUTOSAR_ATS_CommunicationCan.pdfより１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

17

ATの特性まとめ
No

特性

1

基本的な機能確認のテスト

2

手順が明確に定義されている

3

再実施されやすい

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

18

アジェンダ
1. AUTOSARとは？
2. AUTOSAR Acceptance Test（AT）とは？
3. ATの自動化
4. 考察と今後の課題

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

19一般的な自動テストのメリットと今回のゴール
対象

説明

品質

テスト実行品質の向上。手動ではできないデータ量やタイミングなどコスト再実施のコスト削減、デグレード削減によるコスト削減

デリバリ

開発ライフサイクルの加速

コスト
デリバリ

１．AUTOSARとは？

品質

２．Acceptance
Test（AT）とは？

今回はコスト削減をゴールに自動化の導入を考えた

３．ATの自動化

４．考察と今後の課題

20

ATと自動テストの相性
ゴール：コスト削減したい
そのためには…

同じテストを複数回実施する
ATで考えると…

ATは共通部分に対するテストである
ため、複数のECUに対してひとつのテストで実施できるATの特性と自動テストの目的が一致

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

共通AT
ゆえに…

APP1

３．ATの自動化

APP2

４．考察と今後の課題

APP3

21

実現系：ATの自動テストの実装
項目

説明

実装戦略

後述

Test Bench National Instruments社
側ツールのVeriStand+LabVIEW
対象AT

Release1.1全件（200件強）

http://www.autosar.org/fileadmin/files/releases/tc-11/AUTOSAR_EXP_AcceptanceTestsOverview.pdfより１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

22一般論：自動テストアーキテクチャ
名称

説明

名称

説明

Schedule

テスト管理

Control

テスト対象制御

Setup/
Teardown

前後処理

Monitor

テスト対象からの入力監視
期待値との比較

Drive

Judge
テスト手順進行
Schedule

TestwareSetup/
Teardown

Drive

Control

IF1IF2Monitor

２．Acceptance
Test（AT）とは？

ReportIF ・・・ IF
3N

テスト対象
１．AUTOSARとは？

Judge

３．ATの自動化

http://www.slideshare.net/NoriyukiMizuno/et-westを参考

４．考察と今後の課題

23一般論：ISTQBのgTAAとの比較
Test
ware

Rep
ort

Schedule
Setup/
Tear
down

Drive

Control

Moni
tor

Judge

expert_level_syllabus_-_test_automation_-_engineering.pdfより１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

24一般論：ATのテストアーキテクチャ（再掲）
番号

説明

①

Upper Testerと呼ばれ、テスト対象のAPI部分のIF②

Lower Testerと呼ばれ、テスト対象のバス部分のIF。CAN、LIN、DIO、ADCなどが含まれるSUT

Test System
Test Bench(Lower Tester)

SWC(Upper Tester)

Test Coordination Process

1
RuntimeEnvironment(RTE)
Basic Software(BSW)2

Microcontroller
Bus

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

25

実現案：ATの自動テストアーキテクチャの評価観点
項目説明

スクリプト数

TestBench側、SWC側合わせてどのぐらいのテストスクリプトを作成する必要があるか（今回は100件のテストケースを想定）

TCPの複雑さTCPにどの程度の量の情報を流す必要があるか

機能性

TestBench側が十分にScheduleを行うことができるための情報を得られるか、また、実施したいテストが実現できるか（タイミングなどの観点）

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

26

実現案：IF①（１）
項目

説明コンセプト 全てSWC側に配置する
内容

最初のトリガのみTest Bench側から与え、その後のテスト手順は全てSWC側で実施する。Test Bench側は“Judge”の判定結果のみ受け取り、Reportする

スクリプト
数200件

TCPの複雑さ

単純

機能性不足（ロギングに問題がある）

１．AUTOSARとは？

Test Bench

SWC

Schedule
Drive

Drive
Control
Monitor２．Acceptance
Test（AT）とは？

Judge

３．ATの自動化

４．考察と今後の課題

27

実現案：IF①（２）
項目

説明コンセプト 簡易判定のみTest Benchに持たせる
内容制御としてはトリガのみTest
Bench側から与え、その後のテスト手順はSWC側で実施する。Test Bench側は“Judge”を一部実施する＋“Judge”の判定結果を受け取り、Reportする

スクリプト
数200件

TCPの複雑さ

単純機能性

最低限

１．AUTOSARとは？

Test Bench

SWC

Schedule
Drive
Control
MonitorJudge２．Acceptance
Test（AT）とは？

３．ATの自動化

Judge

４．考察と今後の課題

28

実現案：IF①（３）
項目

説明

コンセプト 全結果判定をTest Benchに持たせる
内容制御としてはトリガのみTest
Bench側から与え、その後のテスト手順はSWC側で実施する。Test Bench側は“Judge”をすべて実施し、Reportする

スクリプト
数200件

TCPの複雑さ

少し複雑

機能性

十分

１．AUTOSARとは？

Test Bench

SWC

Schedule
Drive
Control
MonitorMonitorJudge

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

29

実現案：IF①（４）
項目

説明

コンセプト 制御含めて全てTest Benchに持たせる
内容

SWC側は土管として存在し、全ての制御、判定をTest
Bench側が持つ

Test Bench

SWC

Schedule

スクリプト
数100件+1件

Drive

TCPの複雑さ

複雑Control

機能性完全Monitor
Judge

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

30

実現案：IF①実現案まとめ
スクリプト数TCPの複雑さ

機能性点数（１） 全てSWC×◎×33（２） 簡易判定を
Test Benchに×◎△44（３） 全判定をTest
Benchに×△○33（４） 全てTest
Bench○×◎

35番号

コンセプト

一旦無視

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

31参考：IF②
項目説明

コンセプト Test Bench側に持たせざるを得ない

Test Bench

SWC

Schedule
Drive
Control
MonitorJudge

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

32

実現系：自動テスト実装の戦略（自動テストアーキテクチャ以外）
システムテスト自動化標準ガイドを参考に、戦略を一般的に評価した
項目

章番号

戦略

スクリプティ
ングの技法

3.2

構造化スクリプト、共有スクリプト。件数が多くないのでキーワード駆動はしていない。また、パラメータ振りなどもないためデータ駆動もしていない。今後検討

比較
タイミング

4.3/4.4

動的比較。リアルタイムに比較ができるシステムを採用したため。
実施後比較が必要になったら検討するという位置付け

比較の複雑 4.5/4.6
さ
テストの感度4.7

前後処理の 6自動化
１．AUTOSARとは？

複雑な比較。完全一致ではなく、比較すべきデータを抽出し、比較を行っているためセンシティブな比較。ATの規定が細かいため、センシティブになっている。目的がスモークテストなどになれば、判定を減らしてロバストにすることも検討可
テスト実行そのものの前提条件作成などは自動化済み

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

33

アジェンダ
1. AUTOSARとは？
2. AUTOSAR Acceptance Test（AT）とは？
3. ATの自動化
4. 考察と今後の課題

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

34

考察
項目

考察内容

ATの自動化そのもの複数回実施する、という意味ではどんな実装方法でもメリットが出そう。
ROIの計測は必要

自動テストアーキテクチャ

現状規定のATのみ、ということであれば「２．簡易判定をTest Benchに」の戦略で問題なし。ただし、今回無視したスクリプト数を外すと、「４．全てTest Bench」という戦略が選ばれる可能性がある（次ページに再掲）

実装戦略（自動テストアーキテクチャ除く）

汎用性を高めなくてよかったため、キーワード駆動を使用しない、また、センシティブな比較を採用、とした。ターゲットが変わるとここの戦略も変化する

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

35

ATのアーキテクチャまとめ（再掲）番号コンセプトスクリプト数

TCPの複雑さ

機能性点数

１全てSWC×◎×3

２

簡易判定を
Test Benchに×◎△4

３

全判定をTestBenchに×△○

3

４全てTestBench○×◎

5

１．AUTOSARとは？

２．Acceptance
Test（AT）とは？

３．ATの自動化

４．考察と今後の課題

36

今後の課題
項目

課題内容

ATの拡張

ATのコンセプトに従い、機能深掘り、機能横展開が実施される際に、保守性が重要

AT外の自動テスト

今回はATとして実装したが、その他のテストレベルにも使用可能。その場合、アーキテクチャ、戦略の再考が必要

ECUとしての自動テスト

今回はIFとしてSWC＋Test Benchとして実装したが、Test Benchのみ切り出すことでECUとしての自動テストにも同じアーキテクチャが使用できる
想定

テスト設計、実装の自動化

テストケースの生成（テスト設計）や、テストウエアの生成（テスト実装）の自動化を検討

１．AUTOSARとは？

２．AcceptanceTest（AT）とは？

３．ATの自動化

４．考察と今後の課題

37

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

38