― テスト技法は”状況に応じて選ぶ”が正解 ―
Automotive Tester の Chapter 4 では、自動車領域で特に重要となる「動的テスト技法」が扱われます。
今回のトピック 4.2.5「Context-dependent Selection of Test Techniques」 は、その名の通り、
状況(文脈)に合わせてどのテスト技法を選ぶべきか
を理解するための章です。
CTFL(Foundation Level)で学んだブラックボックス/ホワイトボックス技法をベースにしつつ、自動車領域では ISO 26262 の ASIL や テストレベル などが選択に強く影響します。
1. テスト技法の種類と自動車領域との関係
まず、CTFL で学んだテスト技法をおさらいします。
■ ブラックボックス技法
-
同値分割(EP)
-
境界値分析(BVA)
-
状態遷移テスト
-
判定表テスト(Decision Table)
-
ユースケース/シナリオベーステスト など
■ ホワイトボックス技法
-
ステートメントカバレッジ
-
ディシジョンカバレッジ
-
条件網羅
-
MCDC(Modified Condition & Decision Coverage)
■ 経験ベース技法
-
エラーハンドリング中心の Error Guessing(エラー推測)
-
探索的テスト など
自動車ソフトウェアでもこれらの技法をそのまま使いますが、
ISO 26262(特に Part 6)では ASILごとに推奨される技法が異なるため、
“どれを使うべきか” が明確に決まりやすい特徴があります。
2. ISO 26262(ASIL)による技法の推奨
ISO 26262 は ASIL(A/B/C/D)ごとに推奨技法を提示しています。
たとえば…
|
技法 |
ASIL A |
ASIL B |
ASIL C |
ASIL D |
|---|---|---|---|---|
|
同値分割 |
推奨 |
強く推奨 |
強く推奨 |
強く推奨 |
|
境界値分析 |
推奨 |
推奨 |
強く推奨 |
強く推奨 |
|
ステートメント |
任意 |
推奨 |
推奨 |
強く推奨 |
|
MCDC |
任意 |
任意 |
推奨 |
強く推奨 |
ASIL が上がるほど ホワイトボックス寄りの網羅性が高い技法が要求されます。
3. Automotive Tester で扱う技法一覧
以下の技法が例として挙げられます。
-
Requirement-based Testing(要求ベーステスト)
-
Equivalence Partition(同値分割)
-
Boundary Value Analysis(境界値分析)
-
Statement Testing(ステートメント網羅)
-
Decision Testing(分岐網羅)
-
Modified Condition/Decision Coverage(MCDC)
-
Error Guessing(エラー推測)
-
Fault Injection Test(フォルトインジェクション)
-
Back-to-Back Testing(バックトゥバック)
これらはすでに Chapter 4 で解説済みの内容なので、ここでは選択基準を中心に説明します。
4. テスト技法を選ぶための「3つの基準」
テスト技法は ASIL だけでなく、以下 3 つの視点から判断する必要があります。
① State of the Art(技術の妥当性・最新性)
技法がその対象に適しているかどうか。
▼例
-
数値入力の範囲チェック → 同値分割 / 境界値分析が妥当
-
状態遷移を伴うドアロックシステム → 状態遷移テストが適切
-
Safety領域の高リスクECU → ASIL D → MCDC が最適
参照規格:
-
ISO 26262
-
ISO/IEC/IEEE 29119-11/19(テスト技法標準)
② Test Basis(テストベースの情報量)
技法を適用するために必要な情報が仕様に含まれている必要があります。
▼例
-
仕様に「数値の許容範囲」が書かれていなければ境界値分析はできない
-
仕様に「状態遷移」が定義されていなければ状態遷移テストは使えない
-
ソースコードがないとホワイトボックス技法は使えない
③ Test Level(テストレベルに適しているか)
すべての技法がすべてのレベルに適しているわけではありません。
▼例:どのレベルで使うと効果的?
|
技法 |
単体 |
結合 |
システム |
|---|---|---|---|
|
同値分割 / BVA |
◎ |
○ |
○ |
|
状態遷移 |
△ |
○ |
◎ |
|
MCDC |
◎ |
△ |
△ |
|
バックトゥバック |
△ |
○ |
◎ |
|
フォルトインジェクション |
○ |
○ |
◎ |
例
ECU の単体テスト → MCDC で内部ロジックを網羅
車両統合システムテスト → 状態遷移やシナリオテストが効果的
5. 実務でよくある判断例
◆ケース1:ADASのセンサ入力をテストする場合
-
値の範囲が仕様にある
→ EP/BVA が最適
-
統合環境で挙動確認したい
→ システムレベルの状態遷移テスト
◆ケース2:重要ECUの安全機能(ASIL D)
→ MCDC + フォルトインジェクションが必須級
◆ケース3:モデルベース開発のコード生成部分
→ Back-to-Back Testing(MIL/SIL/HIL の比較)で整合性チェック
6. まとめ(Part-1)
4.2.5 Part-1 の結論は以下です:
テスト技法は決まりきったものではなく、文脈(Context)に応じて選ぶ必要がある。
その判断基準は:
-
State of the Art(システムに最適か)
-
Test Basis(仕様に必要情報があるか)
-
Test Level(レベルに適しているか)
-
ISO 26262(ASIL)による推奨


コメント