組み込みソフトウェア・テスト・クライシスの「傾向と対策」 ――「品質」をつねに念頭に置きながらソフトウェアを開発する
●テスト設計とテスト実装を経て「テスト仕様書」が完成
テスト設計では,テストの目的を確認して,テスト方法を検討します.具体的には,図8の手順で作業します.
まず,テストの目的を明らかにし,テストを実施した際の合否判定のしくみを作ります.テストの目的は,大ざっぱに言うと「処理すべき機能が実装され,実装した処理が要求を実現しているかどうかを確認する」ということになりますが,さらにブレークダウンし,より現実的な目的を明文化します(表3).実際にテストを行うときの数値データが必要になるところまで詳細化できれば,テスト設計は終了です.
テスト設計後は関係者でレビューを行い,これから進めようとしているテストの目的やテスト内容を共有します.
一方,テスト実装では,テスト設計の結果に基づいてテスト項目を作成します.具体的な数値データを用いてテスト仕様書を作成します.このテスト仕様書をもとにテスト担当者がテストを行うことになるので,テスト項目ごとに具体的に作業内容がわかるように記述します.
テスト実装で作成したテスト仕様書の内容に不明瞭な部分があると,テスト担当者とのコミュニケーションが必要になり,テストの効率が下がります.また,あいまいな記述があると,テスト担当者の思い込みでテストされてしまい,結果として確認作業の重複が発生したり,まちがった欠陥情報が報告されることになります.すなわち,ソフトウェア開発者の負担が増え,開発全体の進捗の遅れにつながります.
〔図8〕テスト設計の作業手順
テスト設計とは,テストの目的を確認して,テスト方法を検討する作業である.まず,テストの目的を明らかにし,テストを実施した際の合否判定のしくみを検討する.