組み込みソフトウェア・テスト・クライシスの「傾向と対策」 ――「品質」をつねに念頭に置きながらソフトウェアを開発する
●ソフト開発者自身が効果的にテストするための心得
ソフトウェアのテスト工程には,「テスト設計」と「テスト実装」の作業があります.テスト設計では,どのような考えかたでテストを行うかを決定します.テスト実装ではテスト設計の結果を受けて,テスト仕様書(テスト作業項目)を作成します(図6).
開発プロセスの中にソフトウェア開発者自身によるテストの工程が存在する場合,開発現場では以下のような問題がよく起こります.
- 開発量が多すぎて,ソフトウェア開発者がきちんとテストしないまま,ソフトウェアをリリースする
- ソフトウェア開発者が十分にテストするための工数を与えられていない
- 開発組織が,ソフトウェア開発者にテストを行う機会を与えていない
- ソフトウェア開発者が科学的手法によらないテストを行う
- ソフトウェア開発者とテスト担当者がテストに関する技術交流を行わない
- テスト担当者が,ソフトウェアに導入されている機能について十分に確認しないままテストする
この結果,ソフトウェア開発者からテスト担当者にリリースされるソフトウェアの品質が下がり,双方の作業効率の低下を招きます.
〔図6〕テスト設計とテスト実装
テスト設計では,どのような考えかたでテストを行うかを決定する.テスト実装ではテスト設計の結果を受けて,「テスト仕様書」を作成する.なお,境界値分析とは,データによる制御の変化点に着目するテスト手法である.最大値,最小値,制御の変化点が与えられており,制御ステップが1の場合は,最小値-1,最小値,最小値+1,最大値-1,最大値,最大値+1,変化点-1,変化点,変化点+1についてテストを行う.