組み込みソフトウェア・テスト・クライシスの「傾向と対策」 ――「品質」をつねに念頭に置きながらソフトウェアを開発する
ソフトウェア開発者とテスト担当者がそれぞれ分担して作業を行う場合,納期に追われたソフトウェア開発者は,わらをもつかむ思いでテスト担当者にソフトウェアの品質の検証をゆだねてしまうことがあります.こうなると,テスト工程で多くの欠陥が検出され,ソフトウェア開発者はその欠陥の修正作業に追われることになります.テスト担当者にソフトウェアの品質の検証をゆだねたソフトウェア開発者の甘えが,悪循環を引き起こすわけです(図5).
また,単体テストはソフトウェア開発者が行います.その際のテスト内容については,ソフトウェア開発者自身が作成した内容をテストすることになるため,ソフトウェア開発者が要求を誤解していた場合,誤解したとおりに制御していることを確認することになってしまいます.単体テストにパスすると,全体との整合性やシステム動作を検証するシステム・テストの段階まで,この欠陥は検出されません.欠陥の発見が遅れると,対策に費やすことのできる期間が短くなり,最悪の場合,製品の市場投入時期を遅らせることにもなります.
ソフトウェア開発者がテストを行うと設計品質は改善されますが,より多くの目でソフトウェアをテストしなければ,要求の誤解や抜け,漏れなどを防止することはできません.つまり,ソフトウェア開発者自身によるテストには限界があるということです(表2).
〔図5〕ソフトウェア・テストの悪循環
ソフトウェア開発者がリリースするソフトウェアの品質が低いと,テスト担当者の負担が増える.その対策に追われるため,結局,ソフトウェア開発者の作業も増えることになる.
表2〕分析,設計,実装,テストの工程を一人のエンジニアが担当した場合の利害得失
長 所
|
短 所
|
|
|