組み込みソフトウェア・テスト・クライシスの「傾向と対策」 ――「品質」をつねに念頭に置きながらソフトウェアを開発する

杉浦英樹

tag: 組み込み

技術解説 2004年3月16日

●欠陥の修正がほかの場所に悪影響を与えていないか

 システムが要求どおりに動作することは,どのようにして証明できるのでしょう.これは,それほど難しいことではありません.そのシステムが使用されるときの要件を抽出し,そのとおりに操作して,期待する結果が出ればよいのです.

 では,システムの欠陥に対して対策を施したとき,その対策が問題を解決し,同時にそれ以外の動作に悪影響を与えていないことはどのようにすれば証明できるのでしょうか.発生する問題に100%の再現性がある場合は,同じ条件下で問題が発生しないかどうかを確認することで,その対策の有効性を判断できます.

 再現性が低い場合はどうでしょう.再現性が低くても,再現のしかたに特徴があれば(例えば,問題発生時の信号のタイミングが決まっている),ある程度時間はかかるものの,そのタイミングと同じタイミングで問題が起こらないことを確認することで,その対策の有効性を判断できます.ただし,これは対策の効果を確認しているのであって,それ以外の動作に悪影響を与えていないことを保証するものではありません.

 ソフトウェアは,ある制御とある制御の間の依存関係がハードウェアほど明確ではありません.見つかった欠陥に対する対策を施すためにソフトウェアの変更を行ったとき,問題の起こった機能以外についても新たな問題や制約が生じていないかどうかを確認する必要があります.

 では,何をもって上述のような2次障害が起こらないことを保証するのでしょう.すべてのテストをやり直せば証明したことになりますが,変更のたびにテストを繰り返せるほど時間にも予算にも余裕はないはずです.したがって,通常は,設計内容と実装内容から影響範囲を予測して,その影響範囲の機能や性能を再チェックします.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日