JaSST15東海(3)「事例発表:安全系組込ソフトウェア開発におけるユニットテストの効率化」
11/6(金)に開催されたソフトウェアテストシンポジウム2015東海(JaSST'15 Tokai)に参加しました。私が聴講したセッションは下記です。
セッション1 基調講演:「テストから観た実体のモデリングと実装構造の評価 ~検証指向設計の実現に向けて~」 松尾谷 徹(デバッグ工学研究所)
セッション 4-1 特別講演:「はじめてのコンコリックテスト ~基本原理から知るホワイトボックステストの新技術とその応用~」 植月 啓次(フェリカネットワークス)
セッション 4-2 事例発表:「安全系組込ソフトウェア開発におけるユニットテストの効率化」 岸本 渉(デンソー)
セッション 4-3 ワークショップ 「意地悪漢字を使ってみよう! ~テスト設計ワークショップ~」 鈴木 三紀夫(リコーITソリューションズ)
情報交換会
以前書いた記事
masaoapril.hatenablog.com masaoapril.hatenablog.com
今回は、セッション 4-2 事例発表:「安全系組込ソフトウェア開発におけるユニットテストの効率化」です。
セッション 4-2 事例発表:「安全系組込ソフトウェア開発におけるユニットテストの効率化」 岸本 渉(デンソー)
1.背景
安全系組み込みソフトウェアでは、自動車機能安全規格ISO26262の準拠が求められている。
2.ユニットテスト
- 現行のツールでC0/C1 MC/DCカバレッジを100%にするのは困難。
- カバレッジを網羅できていないところは、人手でテストを行っている。
- ユニットテストの自動化について、色々なアプローチを研究した。
3.CREST
3.1 サイト
http://jburnim.github.io/crest/
3.2 CRESTとは?
3.2 工夫したこと
- パスが網羅できるか確認するため、複雑度(以下CCN)=2,4,8のサンプルソースコードを作成して、CRESTで確認した。
- CCN=28にしても、テストカバレッジ率100%未達成なので、入力値に制約をかけた。
- マイコン変更時
所感
ユニットテストの手間を減らすため、ツールの選定から、実務に耐えうるかを検証するために試行し、適用可能であることを確認した内容でした。自組織のユニットテストは、手作業のところも多々あるので、手間を減らしながらもユニットテストで検出できるバグが効率的にできるように進める必要があると思いました。