組み込みソフトウェア・テスト・クライシスの「傾向と対策」 ――「品質」をつねに念頭に置きながらソフトウェアを開発する
●ソフトの構成管理とプロジェクトの進捗管理が必要
構成管理はソフトウェアの変化を管理し,どのソフトウェアがどの要因で変化したのかを明確にします.変化した部分についてのみテストを行うことで,効率良く品質を高められます.実際の製品開発では,オブジェクト指向などの考えかたを使うことで,ソフトウェアそのものの独立性を高め,構成管理と品質の相関がつきやすいようにくふうし始めています.しかし,旧来の開発スタイルが定着している場合には,なかなか差分だけで品質を確保することができません.その場合でも,仕様変更数や仕様変更内容,欠陥数や欠陥内容の関係を管理することで,問題の原因を追及する際の手がかりになります.
ソフトウェアの開発状況とそれに伴うソフトウェア品質の推移の分析結果は,開発プロジェクトの進捗を見積もるうえでも欠かせません.ソフトウェアの世界では,一般に単位実行行当たりの欠陥密度から品質を判断します.この際に参考にする欠陥密度は,過去の開発経験から導き出したデータをもとにしています.市場に製品を出荷するまでに,開発コード量に欠陥密度をかけ合わせて導かれる欠陥数の対策を完了させることを目標に,テストを行うことになります.
これは目標としては良いのですが,ソフトウェアの品質を判断するにあたって,週ごとに検出した欠陥数を記録し,見つかった欠陥数がしだいに減少し,欠陥の報告がなくなったことで品質を確保できたと見なすのは早計です.この考えかたを正当化するには,ある程度網羅的なテストを定常的に実施し続ける必要があります.つまり,テストなくしてソフトウェアの品質を図ることはできない,というのも事実なのです.
すぎうら・ひでき
富士ゼロックス(株)
◆筆者プロフィール◆
杉浦英樹.1986年,富士ゼロックスに入社.以来,組み込みソフトウェア開発に従事.アセンブラによる開発から構造化設計を経て,工学的手法による開発に魅了される.構造化手法を実践したあと,オブジェクト指向による開発に転身.開発環境の整わない中,苦労の末,製品化に至る.「ソフトはコンパクトで,柔軟でなければならない」がモットー.