MasaoApril's Library.

Software Testingなネタを書いてみた。

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.ユニットテスト

3.CREST

3.1 サイト

http://jburnim.github.io/crest/

3.2 CRESTとは?

3.2 工夫したこと

  • パスが網羅できるか確認するため、複雑度(以下CCN)=2,4,8のサンプルソースコードを作成して、CRESTで確認した。
    • 確認の流れは、「ソースコード→静的解析ツール→関数入出力情報→CREST」である。
    • CRESTでオプションスイッチを色々試し、テストケースを全て作成。
  • CCN=28にしても、テストカバレッジ率100%未達成なので、入力値に制約をかけた。
  • マイコン変更時
    • マイコンAとマイコンBでCRESTでかけた結果を比較する。
    • 課題は、各bitデータでは生成時間がかかること。

所感

 ユニットテストの手間を減らすため、ツールの選定から、実務に耐えうるかを検証するために試行し、適用可能であることを確認した内容でした。自組織のユニットテストは、手作業のところも多々あるので、手間を減らしながらもユニットテストで検出できるバグが効率的にできるように進める必要があると思いました。