ソフトウェアテストシンポジウム2004
2004/01/27(火)組み込みシステム における解決すべき問題

組み込み商品群におけるソフトウェアの妥当性確認

n 組み込みシステムへ降りかかる多様な要求
n 求められる高安全性・高信頼性
n しかし開発期間の延長は許されない
n これらの問題を解決するにはどうすればよい

組込みソフトウェア管理者・技術者育成研究会のか？

酒井 由夫

1

Product Line結論

2

Product Line

組み込み機器におけるプロダクトライン戦略n

組み込み機器は幅広い商品グレードを持ち、ソフトウェアのみならず、さまざまな資産を再利用することが多いn

組み込み機器を商品群としてとらえ、プロダクトライン戦略によってコア資産を摘出・利用・管理することで差分開発を加速し商品開発を効率化できる

n 組み込み機器の安全性・信頼性をリスクマネージメントによって確保する
n 組み込み商品群 におけるコア資産とバリエーション を実現する部分を明確に分離し異なるテストのアプローチをとる¨ プロダクトラインはCMU/SEIにて定義 されたソフトウェア開発のアプローチ

n これらにより短期間で効果的な組み込みソフトウェア

ドメイン
エンジニアリング（摘 出）の妥当性確認 (Validation)を実施することができる

コア資産

アプリケーション
エンジニアリング（利 用）

プロダクトラインの３つの活動

マネージメント（フィードバック）3

Product Line

開発プロセスの上流工程にリスク分析を下流工程プロダクトラインを適用

4

リスク分析の必要性
n 商品出荷後に不具合が発生

リスク分析¨ リコール→莫大な回収費用→企業の信頼が低下

妥当性確認

機能設計

システムテストn リスク分析の結果は技術者の暗黙知となっていて無検 証

内部設計

意識のうちに再利用 している

結合テ ス ト検 証

詳細設計

Product Line¨ 暗黙知のままにしておくと漏れ、抜けがでる
単体テスト

n 品質の高い商品を提供している組織はリスクに関する情報を資産化している

プログラミング

Product Line5

Product Line61

リスク分析の意義

リスク分析表を使ったマネージメント

n 商品の安全性や信頼性を効果的に確保する近道はリスク分析とリスクマネージメントである
n リスク分析を行い対策を実施することで、組み込み機器におけるハードウェア の曖昧さを許容し、無限に想定されるヒューマンエラーを効率的に回避する

n電子ポットのリスク分析表の例番号

障害

原因

重要度

発生の可能性／故障率

対策

実施確認の方法

チェック

No.

HazardCause

Level ofConcern

Likelihood/
Failure Rate

Method of Control

Trace

CheckA-1

ヒータの異常加熱により火災が起こる・サーミスタの故障
・ヒータの故障High

1/10000（故障率）

・ハードウェア による対策
温度ヒューズによるヒータへの回路切断
・ソフトウェアによる対策
ブザーによる注意喚起とエラー表示（３０秒）を行う．

設計書番号 #001
テスト計画 #001□□

・水の量が少ないに加熱したHigh

たまにあり(Moderate)

・ソフトウェアによる対策
第１水位センサがオフ状態ならば，ヒータや沸騰ボタンは動作しない．

設計書番号 #002
テスト計画 #002□□n 組み込み商品群 に対するリスク分析の結果と対策の多くは商品の要求仕様の変化とは対照的に普遍的であり、コア資産として代々蓄えられながら継承されていくべきものである
7

Product Line

出典：Guidance for FDA Reviewers- PremarkrtNotification Submissions for Automated Testing Instruments Used inBlood Establishments

Product Line

8Product Line

10

Validation（妥当性確認）とVerification（検証）n

ソフトウェアライフサイクルプロセス（ＳＬＣＰ）の中の個々のプロセスをきちんと定義し、各プロセスの入力と出力を検証することが Verification となる

nVerification の積み重ねが Validation されているという結論に結びつくnValidation はユーザー要求に製品が適合しているという「自信」が十分なレベルに達するまで行う必要があるn

リスク（障害）がユーザーに与える影響が大きければ大きいほどValidation は慎重かつ確実に行われる必要がある
9Product Line

ハードウェア制御を多く含んだ組み込みシステムのコア資産のシミュレーションテストの例

単体テスト・結合テストの方針? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ?

単体テスト
ハードウェア制御を含むコア資産

自動テスト

テストケースを作成

静的テストツールを利用する

シミュレーションテストを実施する

ハードウェア制御を含テストケースを作成
まない受動的な
xUnitなどのテストフレームモジュール群
ワークを利用コア資産でない，ハードウェア制御を含んだモジュール群テストケースを作成? ? Ⅳ ? ? ? ? ?
? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? Ⅳ ? ? ? ? ?
? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ?

? セ? ?

シミュレーションテストを行う

自動テスト

テストケースを作成

静的テストツールを利用する

実機テストで十分に検 証する

工 数 小（スクリーニング ）工 数 中（ 設計検証）

Product Line

結合テスト

? ? ? ? ? ? ? ? ? ? ? ?
? ?
? ? ? ? ? ?

? ? ? ? ? ?

工 数 大（設 計 検 証）
11Product Line

? ?

? ? ?

?

? ? ? ? ? ? ? ? ? ? ? ?
? ?
? ? ? ? ? ?

? ? ? ? ? ? ? ? ?

122

リスク分析

妥当性確認

結論（再掲）

機能設計

システムテスト
検証内部設計結合テ ス ト検証

詳細設計

単体テスト

プログラミングn

組み込み機器の安全性・信頼性をリスクマネージメントによって確保する

何かご質問はありますか？

¨ リスク分析表n

組み込み商品群におけるコア資産とバリエーションを実現する部分を明確に分離し異なるテストのアプローチをとるn

これらにより短期間で効果的な組み込みソフトウェアの妥当性確認(Validation)を実施することができる

E-mail でもお受けします¨ プロダクトライン

Product Line13xx_sakai@d3.dion.ne.jp

Product Line

143