Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
組込み向けテスト実行フレームワーク のご紹介
Search
misawa-san
December 11, 2021
Programming
4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
組込み向けテスト実行フレームワーク のご紹介
STAC2021資料
misawa-san
December 11, 2021
More Decks by misawa-san
See All by misawa-san
これならやれる。 仮想環境を使った Unityによる単体テストへの挑戦
misawasan
1
810
Introduction to Test Execution Automation Framework for Embedded Systems
misawasan
0
450
Other Decks in Programming
See All in Programming
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
4
1.2k
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
130
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
240
Intent as Code
shoppingjaws
6
1k
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
140
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
110
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
150
iOSDC2026登壇資料.pdf
riofujimon
0
160
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
110
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
110
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
280
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
Balancing Empowerment & Direction
lara
6
1.3k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
840
HDC tutorial
michielstock
2
870
Producing Creativity
orderedlist
PRO
348
41k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
A designer walks into a library…
pauljervisheath
211
25k
Abbi's Birthday
coloredviolet
4
10k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
450
The World Runs on Bad Software
bkeepers
PRO
72
12k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
520
Transcript
組込みCI研究WG presents 「組込み向けテスト実行フレームワーク のご紹介」 組込みCI研究WG 見澤 広志 1 © 2021
組込みCI研究WG All rights reserved 2021/12/11
2 ・見澤 広志 ・大阪府の出身。 ・半導体部品メーカを経て、 今は自動車関連会社で ソフト開発に従事。 ・JaSST Tokai実行委員 ・組込みCI研究WG
・最近の興味 AWS、Docker、CI ・趣味 子どもに動くおもちゃ作り リングフィットアドベンチャー(Lv 330) © 2021 組込みCI研究WG All rights reserved 2021/12/11 自己紹介
3 © 2021 組込みCI研究WG All rights reserved 2021/12/11 課題1 ハードと統合した状態でテストが必要。
コーディング Sys要件定義 SW要件定義 SWアーキテクチャ設計 SW詳細設計 Sysアーキテクチャ設計 SW単体テスト SW結合テスト SW総合テスト Sys結合テスト Sys総合テスト 組込み製品のテストの課題 ②ソフトウェアのみ ①ハードと統合 1 1 課題2 ソフトウェアの機能確認を先行して不具合を潰しこみたいが、 汎用ツールが揃っていない。
4 © 2021 組込みCI研究WG All rights reserved 2021/12/11 課題3 ソフトウェアだけのテスト環境を作ったとしても、
入出力が異なる為、テストケースを再利用しずらい。 組込みのテスト前倒しの課題 テスト対象 テスト環境 (SILS) センサ アクチュエータ マイコン Software テスト環境 (HILS) テスト対象 (ハードと統合) センサ アクチュエータ テスト対象 (ソフトウェアのみ) テスト環境 (PILS/S-PILS) センサ アクチュエータ 実物 模擬 【凡例】 テスト環境② テスト環境① テスト環境② 入出力=ハードの入出力 (ピン1=2.5Vなど) 入出力=ソフトの入出力 (変数1=250など) 入出力=ソフトの入出力 (変数1=250など)
課題と対策 2021/12/11 © 2021 組込みCI研究WG All rights reserved 5 《課題》
・ ハードと統合した状態でテストが必要。 ・ ソフトウェアの機能確認を先行して不具合を潰しこみたいが、汎用ツールが揃っていない。 ・ テスト環境毎に入出力が異なる為、テストケースを再利用しずらい。 《対策》 ・ SILS環境をオープンソースを活用して作成する。 ・ シナリオレベルのテストケースをテスト環境で共通化する。 ・ テスト環境の違いは実装側(ライブラリ)で吸収する。
外部照明システム 外部照明システム 2021/12/11 © 2021 組込みCI研究WG All rights reserved 6
環境光 ENGIN START イグニッション 状態 ECU A ECU B 電圧 テスト対象 ①夜間、駐車灯ON状態 ②エンジンON ③駐車灯から通過灯に切り替わること 《テストのシナリオ》 フォトセンサ 光 駐車灯 通過灯 光 光 通信 (I2C) 2 人
外部照明システム 7 2021/12/11 7 © 2021 組込みCI研究WG All rights reserved
外部照明 ECU 外部照明システムのテスト環境(HIL) © 2021 組込みCI研究WG All rights reserved フロントスポット ライトECU 通信(I2C) フォトセンサ 実物 実物 実物 模擬 環境光 イグニッション状態 模擬 駐車灯 実物 通過灯 実物 フォトセンサ フォトセンサ 光 電圧 光 光 電圧 電圧 PWM PWM 模擬(人) 模擬(人) 実物 光 ロボットフレームワーク HIL装置 テストケース(シナリオ) ライブラリ(HILS用)
1 1 外部照明システム 2021/12/11 8 外部照明ECU 外部照明システムのテスト環境(SIL) © 2021 組込みCI研究WG
All rights reserved フロントスポットライトECU ROSの TCP/IP フォトセンサ 模擬 環境光 イグニッション状態 模擬 駐車灯 通過灯 フォトセンサ フォトセンサ 数値 (光) 数値 (電圧) 数値 (光) 電圧 (数値) 模擬(人) 模擬(人) ライブラリ ライブ ラリ 模擬 ライブ ラリ 模擬 スタブ ソフト 実物 模擬 スタブ 模擬 模擬 スタブ 実物 模擬 スタブ ライブ ラリ ライブ ラリ 模擬 模擬 数値 (光) ライブ ラリ ライブ ラリ 電圧 (数値) ソフト PWM(数値) docker on Amazon Web Service ラッパーコード ラッパーコード ロボットフレームワーク テストケース(シナリオ) ライブラリ(SILS用) PWM(数値) SIL装置
ラッパーコードの補足 2021/12/11 © 2021 組込みCI研究WG All rights reserved 9 テスト対象
ラッパーコード ラッパーコード
ラッパーコードの補足 ~続き~ 2021/12/11 © 2021 組込みCI研究WG All rights reserved 10
ECU実行制御サーバ Flask (Webサーバ) Python SILS用 テストケース (python) ECU実行制御サーバ Flask (Webサーバ) Python 外部照明 ECUソフト (C言語) フロント スポットライ トECUソフト (C言語) SharedMemory SharedMemory ラッパーコード ラッパーコード
デモ(HILS環境) 2021/12/11 © 2021 組込みCI研究WG All rights reserved 11 https://www.youtube.com/channel/UCMS_fCjRiB2XjakCR5fGLGQ
デモ(SILS環境) 2021/12/11 © 2021 組込みCI研究WG All rights reserved 12 https://www.youtube.com/channel/UCMS_fCjRiB2XjakCR5fGLGQ
本ツールのメリット、デメリット 《メリット》 ・ ソースコードがあれば、早期にテストを始めることができる。 (品質) ・ 機能的な不具合を実機が無くても、潰すことができる。 (品質) ・ ソフトウェアの為、テスト環境を増やすことができる。
(品質) ・ シナリオレベルでテストケースを再利用することができる。 (費用) ・ オープンソースを使用している為、安価に作成できる。 (費用) 《デメリット》 ・ IT系のツールを駆使する為、組込み系の人材には敷居が高い。 ・ ライブラリのメンテナンスするのが難しい。 ・ リアルタイム性能の検証に使用できない。 2021/12/11 © 2021 組込みCI研究WG All rights reserved 13
テスト実行結果レポート(SIL環境) 2021/12/11 © 2021 組込みCI研究WG All rights reserved 14 テストケース(HIL、SIL共通)
2021/12/11 © 2021 組込みCI研究WG All rights reserved 15 テストケース 異常系処理の為、
実行されなかった。 テスト実行結果レポート(SIL環境)
入手方法 SILS/HILS環境で共通テストケースを使用できるか検証するため、 下記のテスト実行フレームワークを作成しました。 下記URLから、デモで使用したテストケース付きの、環境一式が入手できます。 「組込み向けテスト実行フレームワーク」 https://github.com/misawa-san/ExteriorLightSystem 2021/12/11 © 2021 組込みCI研究WG
All rights reserved 16
実行方法(SIL環境) docker環境で動作させてください。 ▪操作手順 ①git clone https://github.com/misawa-san/ExteriorLightSystem.git ②cd ExteriorLightSystem ③sudo chmod
-R 777 . ④docker-compose -f docker-compose.yml up -d --build ⑤docker-compose -f docker-compose.yml up -d --build 2021/12/11 © 2021 組込みCI研究WG All rights reserved 17
参考 2021/12/11 © 2021 組込みCI研究WG All rights reserved 18 SILS環境の場合
HILS環境の場合 キーワードを並べて テストケースを作る (キーワード駆動 スクリプティング) 実装テクニックにより、 SILS環境とHILS環境のどちらも、 同じテストケースを使用する。 テストケース
組込みCI研究WG参加者募集 2021/12/11 © 2021 組込みCI研究WG All rights reserved 19 組込みCI研究WGでは、継続的インテグレーション、継続的テスト
継続的デプロイなどの研究を実施しております。 もし、興味がありましたら、ご参加ください。 遠隔地からはオンラインでの参加もOKです。 月1度、主に日曜日の13:30~17:00で実施しております。 最近ではオンラインが主体となってきています。 以下のメールアドレスまで連絡をお願いします。
[email protected]
ご清聴ありがとうございました 20 © 2021 組込みCI研究WG All rights reserved 2021/12/11