2024/3/14 JaSST'24 Tokyo「組込み開発用テスト自動化環境」作製のウラ話～はじめやすくて、つづけやすくて、ひろげやすい自動テストってなんだろう？～

はじめに© 2024 Heartland.Data Inc.

1

アジェンダ◼組込み開発における自動化の苦労と課題◼課題に対してどんなアプローチをしたか◼SmallStartするためのポイント◼SmallStartによるメリット◼自動化の事例紹介◼今後の課題とまとめ© 2024 Heartland.Data Inc.

2

会社概要

2020年12月
ソフトウェアデザインセンターを新たに開設しました。
ワークスタイルの多様化に合わせ、高集中、対話、情報整理、知識共有、アイデア出し、リチャージなど用途に合わせて様々な活用が可能なリラックスできるコミュニケーションスペースです。

社名

ハートランド・データ株式会社

代表取締役社長

落合 亮

設立

1982年1月18日

資本金3,200万円

従業員数

73名（2023年7月期）

事業内容

開発サポートツール開発/販売、SW/HW受託開発、テスト自動化関連サービス、機能安全関連サービス、テクニカルソーシング等

国内拠点

栃木県足利市
ドイツ： Method Park by UL Solutions
アメリカ ： Beyond Security
韓国： MDS Tech、 MOASOFT
中国： Trinity Technologies
イスラエル：Technologies© 2024 Heartland.DataCybellumInc.
インド： WINIX Technologies

海外パートナー3自己紹介ブースにいます

塚原 智也

嘉久和 翔

小泉 友昂

テストソリューションズ課
副主任

テストソリューションズ課
技師

テストソリューションズ課
課長

約6年間、テストの効率改善・テストツール開発に従事。
自動化ツール開発Pjリーダー。

組込み向けテスト自動化ツールの開発に従事。
主にツールのFW開発を担当。

多くの開発案件でPMとしてチームを牽引。現在は、組込み向けテスト自動化の推進を行う。

趣味：謎解き(リアル脱出)

趣味：FPSゲーム(歴浅いけど..)

趣味：キャンプ、サッカー© 2024 Heartland.Data Inc.

4

これまでの取り組み© 2024 Heartland.Data Inc.

5

HLDC自動化の取り組み
受託開発プロジェクトでのテスト自動化

ネットワークオーディオ機器開発

IoT機器開発

受託開発にて自動テストを実施し、テストを効率化© 2024 Heartland.Data Inc.

テスト自動化環境の受託開発

家電製品のテスト自動化環境開発

充電プラグのテスト手順の半自動化

チケット券売機の不具合再現の効率化開発製品や実施しているテストに合わせてテスト自動化環境を開発

6

HLDC自動化での対象フェーズ
組込み機器のテスト自動化はシステムテスト～妥当性確認が大変
妥当性確認

要求分析

システムテスト
基本設計

結合テスト

詳細設計

単体テスト
実装

実際のハードウェア/テスト基板を使用したテストを自動化しなければならない© 2024 Heartland.Data Inc.

7

組込み機器の従来の手動テスト
手動で周辺装置を操作しなければならない
手間と時間がかかるスイッチを手で押す
スイッチ

LED

ロジック信号
アナログ信号

手動で距離を変えて電圧値を変化させる

オシロスコープや目視で計測・確認

パルス信号

距離センサ

ターゲット機器
マイコン

温度計

マイコンに入力される回転数を手動で設定する

治具© 2024 Heartland.Data Inc.

ブザー

8

組込み機器のテスト自動化方法一般的な組込み機器のテスト自動化の方法とそれぞれの課題

テスト自動化の方法

課題①

HILS/ロボットアームによる実機の操作

高価 / 場所をとる / 導入できる数も限られる②

PLCや専用治具による疑似操作

周辺機器とのインターフェース仕様の理解が必要③

通信シミュレータ/仮想ハードウェアによる動作模擬

実機での動作は確認できない

弊社は②の方法でテスト自動化環境の構築を行ってきた受託案件ごとに異なる様々な組込み機器に対してテスト自動化環境を構築© 2024 Heartland.Data Inc.

9

テスト自動化の苦労話© 2024 Heartland.Data Inc.

10

自動化環境構築での苦労話
これまで自動化で失敗したこと、苦労したことは...

検討と準備に時間がかかる
さらに...

想定とのギャップが存在
検討に時間を掛けるほどやりたいことが発散していく© 2024 Heartland.Data Inc.

11

自動化環境構築での苦労話

検討と準備に時間がかかる
HW
設計
課題
分析

自動化
要件検討

HW
実装

HW
検証

システム
仕様検討

システム
結合検証
SW
設計

検討フェーズ2 〜 3ヵ月© 2024 Heartland.Data Inc.

SW
実装

SW
検証

開発フェーズ

3ヵ月 〜 1年

実対象
結合検証

テスト
データ作成

運用開始

修正
調整

検証フェーズ

導入フェーズ2ヵ月

12自動化環境構築での苦労話

想定とのギャップが存在状態のリセットは電源OFF/ONするだけでOKです

実際は特定のエラーが出たときはRAMクリアが必要だった

A社
やむを得ず...

.batで処理を組みRAMへの書き込みツールと無理やり連携© 2024 Heartland.Data Inc.

13

自動化環境構築での苦労話

想定とのギャップが存在
動作ログを出力しているのでそれを収集して動作結果を判定してほしい

開発中にログフォーマットが二転三転

実際は

B社

対象外のログが混在
ログは暗号化され、復号が必要

結局...

ログフォーマットの追従だけで工数が膨れ上がる© 2024 Heartland.Data Inc.

14

自動化環境構築での苦労話

やりたいことが発散していく
時間のかかるテストを夜間実行したい

できます

C社

弊社

最初の目的はシンプルで...

• 最長12時間連続実行• ログだけ残して後で目視評価• 特定の異常が発生した際はストップができればよかったはずが...
© 2024 Heartland.Data Inc.

15

自動化環境構築での苦労話

やりたいことが発散していく
仕様変更されたらテストケースをすぐ修正したい

結果は１年分残したい

ベース機種にも流用できるインターフェースにしておきたい

やっぱり自動判定してほしい

C社
結果をレポートとして出力したい

他のテストも自動化するなら...

それができるならこれもやりたいと...

仕様が具体化するにつれて要望が増えていき...
© 2024 Heartland.Data Inc.

16

自動化環境構築での苦労話

やりたいことが発散していく
できます
…
…

C社

…

要検討です
こういう仕様なら...
できます
ちょっと厳しいです

弊社

技術的には可能です

数々の追加要望に対して...

検討・調整・実証実験をしながら数週間かけて構成を検討したが...
© 2024 Heartland.Data Inc.

17

自動化環境構築での苦労話

やりたいことが発散していく
パターンAなら〇〇万円です
パターンBなら...

C社

やはり効果が不透明
事業の方針転換もあり自動化は改めて検討する

パターンCなら...

弊社最終的に...

案件は立ち消えに© 2024 Heartland.Data Inc.

18

組込みテスト自動化の課題
自動化自体の課題
テスト運用自体の課題

自動化の方法、費用対効果など検討事項が多い
長期運用しないと費用対効果を十分に得られない

テスト自動化環境自体の品質
自動化環境にも定期的にメンテナンスが必要

HW操作/物理的な入力が必要

組込み特有の課題

SWのテスト環境と比べテスト環境の修正・変更が加えづらい
ターゲットのIFに合わせこむため他ターゲットに流用しづらい•

費用対効果や長期運用前提を考慮して一度にシステム全体のテスト自動化を目指しがち•

仕様追加・変更に柔軟に対応できず機能を絞った不十分なテスト環境になりがち© 2024 Heartland.Data Inc.

19

課題に対するHLDCのアプローチ© 2024 Heartland.Data Inc.

20

課題に対するHLDCのアプローチ◼ 弊社で実施したアンケート
現在の主な開発モデル
9%

3%
3%

15%MSOfficeJiraウォーターフォール27%

アジャイル / スクラム64%

© 2024 Heartland.Data Inc.

テスト管理を行っているツール

その他

TestRail

10%
69%

TestLink

その他

21

課題に対するHLDCのアプローチ◼ 弊社で実施したアンケート
テストで課題を感じている項目
0%

10%

20%

30%

40%

テストで課題を感じているフェーズ
50%

60%

45%

人員が足りていない

70%

0%

5%

10%

15%

20%

25%

30%

35%

41%

テストケース作成
41%

時間がかかりすぎている
18%

テストの抜け漏れ(品質)に課題がある

14%

実施環境の整備に課題がある

9%

テストデータの用意

41%

テスト環境準備
23%

実施・判定の内容が属人化している

32%

テストの実施14%

これまでの資産を活用できていない

27%

テスト結果の評価
テストプロセスに課題がある

9%

その他

9%

© 2024 Heartland.Data Inc.

45%

36%

テスト計画・テスト設計
59%

工数がかかりすぎている

40%

その他

5%

22

課題に対するHLDCのアプローチ◼ 弊社で実施したアンケート
自動化への取り組みでの課題
0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

導入費用や費用対効果

41%

50%

9%

自動化の実現の方法

41%

50%

9%

ツールの運用・プロセス

18%

自動化用テストケース作成

14%

自動化用テストデータ作成

18%

59%

64%

59%

結果の分析・管理23%

構築後のメンテナンス

27%

とても当てはまる© 2024 Heartland.Data Inc.

23%

36%

自動化環境の準備

23%

23%

50%

55%

23%

64%

当てはまる

14%

9%

あまり当てはまらない23

課題に対するHLDCのアプローチ◼ なぜ費用対効果がネック？

根拠が示せない

費用も効果も何を勘定に入れればよいのかわからない

やったことがないから概算すら難しい© 2024 Heartland.Data Inc.

24

課題に対するHLDCのアプローチ◼ まずはやってみるべき

PoC / パイロットプロジェクト的に自動化の効果測定から始める© 2024 Heartland.Data Inc.

25

課題に対するHLDCのアプローチ◼ 理屈ではわかっているけれど・・・

なぜ始められない？

HWのリードタイムが必要© 2024 Heartland.Data Inc.

初期投資が大きくなるやるためのリソースがない

最初はどこまでやればいい？

26

SmallStartするには© 2024 Heartland.Data Inc.

27

SmallStartするには◼ 組込み開発で“自動テスト”を“SmallStart”するために求められる3つの要素

HWのリードタイム・タ
イミングが合わない

すぐに始められる© 2024 Heartland.Data Inc.

初期投資が大きいやるためのリソースがない

最初はどこまでやればいい？

誰でもできる

拡張しやすい28

SmallStartするには◼ “自動テスト”を“SmallStart”するために求められる3つの要素

ハートランドの解すぐに始められる

ツール
環境

Raspberry Pi ですばやく、安く環境構築対象にするテストすぐに始められる© 2024 Heartland.Data Inc.

テスト
ケース

入力条件 / 出力結果が単純なテストケースから自動化してみる29

SmallStartするには◼ “自動テスト”を“SmallStart”するために求められる3つの要素

ハートランドの解
誰でもできるツール
環境

学習コストが小さいツール

Pythonでシナリオを作成できる対象にするテスト
誰でもできる© 2024 Heartland.Data Inc.

テスト
ケース

期待値が分かりやすい
基本機能や繰り返し(回帰)テスト

30

SmallStartするには◼ “自動テスト”を“SmallStart”するために求められる3つの要素

ハートランドの解
拡張しやすいツール
環境

HATボードを自由に組合せ/あとから増設可
仕様変更/追加でIFが変わっても追従可能対象にするテスト
拡張しやすい© 2024 Heartland.Data Inc.

テスト
ケース

1つの操作をモジュール化できるテスト
パラメータ等をかえるだけの組み合わせテスト

31

SmallStartするには課題が多くて始められない「効果の確認」や「課題の洗い出し」を目的にして小さい範囲からやってみる

小さく始められないシングルボードコンピュータや既製品の組み合わせで「やりやすいところ」から始めてみる© 2024 Heartland.Data Inc.

32

SmallStartするにはデバッグ・テスト時の組込み機器の煩わしい操作を伴う「制御」「計測」を自動化します

Raspberry Pi

テスト自動化
アプリケーション

拡張I/Fボード© 2024 Heartland.Data Inc.

33

SmallStartによるメリット© 2024 Heartland.Data Inc.

34

SmallStartによるメリット
Raspberry PiでSmallStart

VS

これまでの自動化環境開発

早ければ2週間程度

リードタイムの短縮

早くても3か月数十万円～

初期費用の軽減

HWだけで百万円以上
トータル数百万～

制約アリ
低スペック

機能・スペック

専用・便利機能
必要十分なスペック

平均2-3か月

結果が出るまでのサイクルを短縮

早くても半年© 2024 Heartland.Data Inc.

35

SmallStartによるメリット
早ければ2週間程度

リードタイムの短縮

早くても3か月

期間が長いほど周囲の状況に影響を受けやすかった

スタートの時期を見定めてピンポイント始められる© 2024 Heartland.Data Inc.

36

SmallStartによるメリット
数十万円～

初期費用

HWだけで百万円over
トータル数百万～計画が大きいほど大きな方向転換はできない
予算を掛けた以上使わないといけない

小さく始めるほど方向転換の判断も素早くできる© 2024 Heartland.Data Inc.

37

SmallStartによるメリット
制約アリ
低スペック

機能・スペック

専用・便利機能
必要十分なスペック

スペックに縛りがある

機能的な制約もある

不便が多い

検討する範囲が発散しにくい“どうしても必要”という機能を洗い出しやすい© 2024 Heartland.Data Inc.

38

SmallStartによるメリット
結果が出るまで平均2-3か月早くても半年

最終的な効果測定までスパンが長い

フィードバックを早く得られる© 2024 Heartland.Data Inc.

課題
分析

自動化
要件検討

1ヵ月

システム
仕様検討

HW
選定

2週間

実対象
結合検証

テスト
データ
作成

1ヵ月

運用開始

39

SmallStartした事例紹介© 2024 Heartland.Data Inc.

40

組込み機器の自動化環境構築事例①
洗濯機の組込みSWテスト自動化
Raspberry Pi を使って定期テスト環境を構築
ユーザI/F➢ テンキー➢ 各種操作ボタン➢ 表示器/LED

Logicスイッチ➢ 給水/排水弁➢ 蓋ロック装置➢ など

Analogセンサ

課題• 実機使用の待ち時間が多く発生• テストの拘束時間が長い

目的• テストの実施期間を30%短くする• 定期テストによるデグレの早期発見(手戻り工数短縮)➢ 水位センサ➢ 洗濯槽回転センサ➢ など© 2024 Heartland.Data Inc.

41

組込み機器の自動化環境構築事例①
洗濯機の組込みSWテスト自動化
Raspberry Pi を使って定期テスト環境を構築

SmallにしたPoint

ユーザI/F➢ テンキー➢ 各種操作ボタン➢ 表示器/LED

Logicスイッチ➢ 給水/排水弁➢ 蓋ロック装置➢ など

手順の大半が「待ち時間」であるテストを対象にした• 実機使用の待ち時間が多く発生
課題• テストの拘束時間が長い
自動で結果判定する機能は実行に影響がある部分だけにした
Analogセンサ

目的• テストの実施期間を30%短くする• 定期テストによるデグレの早期発見(手戻り工数短縮)➢ 水位センサ➢ 洗濯槽回転センサ➢ など© 2024 Heartland.Data Inc.

42

組込み機器の自動化環境構築事例①
段階的に自動化テストケースの一部を制御

計測

STEP 01

STEP 02

STEP 03正常系 1 シナリオを自動化

判定項目の追加

通信判定の追加、テスト範囲拡大⚫ ボタン入力を自動化⚫ 水位センサを疑似的に再現⚫ モータの回転/停止を判断⚫ カメラによるセグ表示チェックを追加⚫ CI 環境追加で失敗時にリトライ⚫ シリアル通信で RAM データ取得・保存⚫ RAM データの判定⚫ UART 通信の代替⚫ アノマリー系テストの追加© 2024 Heartland.Data Inc.

43

組込み機器の自動化環境構築事例①制御

課題• 実機使用の待ち時間が多く発生•テストケースの一部をテストの拘束時間が長い

目的• テストの実施期間を30%短くする• 定期テストによるデグレの早期発見(手戻り工数短縮)

段階的に自動化

計測

5分に短縮

1つのテストシナリオの実行時間を60分⇒
STEP 01

STEP 02

夜間実行によってテストの実施期間をSTEP 03
70%短縮
通信判定の追加、テスト範囲拡大

正常系 1 シナリオを自動化

判定項目の追加⚫ ボタン入力を自動化⚫ 水位センサを疑似的に再現⚫ モータの回転/停止を判断⚫ カメラによるセグ表示チェックを追加⚫ CI 環境追加で失敗時にリトライ⚫ シリアル通信で RAM データ取得・保存© 2024 Heartland.Data Inc.

⚫ RAM データの判定⚫ UART 通信の代替⚫ アノマリー系テストの追加

44

組込み機器の自動化環境構築事例②
充電プラグの手動テストの手順を半自動化

DIO制御機能を持った通信シミュレータ環境を構築
CAN通信➢ バッテリとの通信

Logic I/O

課題

• 通信シーケンスが複雑でテストできる人が限られる

目的• スキルに依存しないテスト環境の用意• 1つのテストの手順を1/3にする• 複雑な操作を省くことでテスト実施時間を短縮➢ プラグの接続状態© 2024 Heartland.Data Inc.

45

組込み機器の自動化環境構築事例②
充電プラグの手動テストの手順を半自動化

DIO制御機能を持った通信シミュレータ環境を構築
CAN通信

SmallにしたPoint➢ 自動車との通信

全自動ではなく手動テストの一部を半自動化
課題 • 通信シーケンスが複雑でテストできる人が限られる
規格によって明確な期待値が定義されているテストを対象にした目的
Logic I/O

• スキルに依存しないテスト環境の用意• 1つのテストの手順を1/3にする• 複雑な操作を省くことでテスト実施時間を短縮➢ プラグの接続状態© 2024 Heartland.Data Inc.

46

組込み機器の自動化環境構築事例②
簡単な設定で特定のシーケンスを再現
CAN⇔USB変換デバイス
CAN通信➢ バッテリとの通信

Logic I/O
➢ プラグの接続状態

USB-DIO制御ユニット

USB-DIO制御ユニット

CAN⇔USB変換デバイス⚫ USB接続で制御する市販のDIO制御ユニットを使用⚫ プラグの挿抜等のイベントを模擬⚫ 従来のテストで使用していたデバイスを継続して使用⚫ イベントに紐づいて発生する通信を模擬© 2024 Heartland.Data Inc.

47

組込み機器の自動化環境構築事例②
課題• 通信シーケンスが複雑でテストできる人が限られる
簡単な設定で特定のシーケンスを再現• スキルに依存しないテスト環境の用意
CAN⇔USB変換デバイス
目的 • 1つのテストの手順を1/3にする
CAN通信• 複雑な操作を省くことでテスト実施時間を短縮➢ 自動車との通信

Logic I/O
➢ プラグの接続状態

８０%削減

USB-DIO制御ユニット
テストケースの手順数が最大

CAN⇔USB変換デバイス
50%削減

USB-DIO制御ユニット
テストケースの実施時間を⚫ USBで制御可能な市販のDIO制御ユニットを使用⚫ プラグの挿抜等のイベントを模擬テスターのスキルに© 2024 Heartland.Data Inc.

⚫ 従来のテストでしようしていたデバイスを使用⚫ イベントに紐づいて発生する通信を模擬依存しにくいテスト環境に48

今後の取り組みと課題© 2024 Heartland.Data Inc.

49

今後の取り組みと課題◼ よりSmallStartしやすくするために既存資産の活用・連携開発プロセスへの組込みやすさ◼ SmallStartから本格運用するために大量のテストケースの作成

作成済みテストケースのメンテナンス

大量のテスト結果の管理

繰り返さないテストでも自動化の効果を出すには© 2024 Heartland.Data Inc.

50

まとめ
なぜ自動化が進まないのか？

検討ことが多い！
時間がかかる！

どうすれば進めやすいか？

SmallStartで小さく始める！

どうすればSmallStartできる？

RaspberryPiで構築！
すぐにできるテストに絞る！

SmallStartすると何がいい？

リスクや無駄を最小限に！

© 2024 Heartland.Data Inc.

51

まとめ
なぜ自動化が進まないのか？

検討ことが多い！
時間がかかる！

組込み開発におけるテスト自動化で困っている方にどうすれば進めやすいか？
SmallStartで小さく始める！

わずかでも有益な情報になれば幸いです。

同じような課題を抱えている方やRaspberryPiで構築！
資料の中で1つでも共感いただけた方はどうすればSmallStartできる？
すぐにできるテストに絞る！
ぜひ会場ブースやDiscordチャットにお立ち寄りください！

SmallStartすると何がいい？

© 2024 Heartland.Data Inc.

無駄やリスクを最小限に！

52

ブース＆ミニデモ◼ 4階 4-A ホール後方◼ AUTOmealの実機展示中

この辺り

Track1
視聴会場◼ Discord「ハートランド・データ株式会社」チャンネルではミニデモを実施中© 2024 Heartland.Data Inc.

53

Thank you!!

© 2024 Heartland.Data Inc.

▲

"Designed by macrovector / Freepik"

質疑応答© 2024 Heartland.Data Inc.

▲

"Designed by macrovector / Freepik"© 2024 Heartland.Data Inc.

© 2024 Heartland.Data Inc.