組み込みソフトウェア・テスト・クライシスの「傾向と対策」 ――「品質」をつねに念頭に置きながらソフトウェアを開発する
●工程ごとの品質が高まれば,成果物の品質も高まる
テスト工程をソフトウェアの品質を確認する唯一の工程と考えるのは誤りです.ソフトウェア開発の作業手順(ソフトウェア開発プロセス)の中には,いくつもの品質確認ポイントがあります.できるだけ上流の工程で品質を確保するようにします.
ソフトウェア開発プロセスの中の各工程では,以下のような確認を簡単に行えるはずです.
- これから始める工程の作業内容を理解できているか
- これから始める工程に必要な情報はすべてそろっているか
- これから始める工程で作成する成果物が理解できているか
- 作成する成果物の品質レベルが認識できているか
- 工程作業の見積もりがなされ,納期やチェック・ポイントなどの計画ができているか
これらの確認を適切に行うことで,各工程の品質とその工程の作業結果としての成果物の品質を高めることができます.各工程における品質確立のポイントを表4に示します.
各工程の品質はレビューによって確立します.したがって,レビューは品質確立のためのテストと解釈できます.ソフトウェア開発者は積極的にレビューを実施し,同僚や先輩の知見を品質の確立に活用するべきです.レビューでは,目標,目的,目的達成のための計画や基準を設け,「品質確立のためのテスト」という視点に立って確認を行います.
レビューでは,表4に示す内容を確認します.さらに,レビューそのものの品質を高めるため,レビュー方法のくふうも必要です.
テスト作業そのものは,テスト仕様書に示された確認作業の実施なので,だれにでもできます.ただし,ソフトウェア開発者はテストを人まかせにするのではなく,自分自身の目で確認することによって開発対象の具体的なイメージを頭の中に入れておくことが重要です.こうすることで,品質問題が発生したときの原因究明がスムーズに進みます.また,設計段階でも最終製品のイメージがわくようになります.
ソフトウェアのテスト手法については,教科書や参考書が充実しているので,実際に手にとって研究することをお勧めします.教科書の内容を理解したら,実践に結び付けましょう.
〔表4〕開発工程ごとに品質確立ポイント
|
チェック・ポイント
|
チェック・タイミング (方法)
|
各工程 共通部分 |
各工程成果物の品質 各工程作業品質 |
工程移行時(レビュー) |
開発領域 特有部分 |
対象領域特有の品質確立手段がある場合は,その方法に従う (例)F-V利用によるモータの制御プロファイル測定 |
計画的にチェック・ ポイントを設ける |
テスト 工程部分 |
テスト仕様書の品質 テスト結果報告書 |
発行時(レビュー) テスト終了時(レビュー) |
開発手法 部分 |
開発手法特有の品質確立手段がある場合は,その方法に従う (例)CASEツールの検証機能によるチェックに合格していること |
計画的にチェック・ポイントを設ける |