メディア

ソフトウェアテストの施策と運用(前編)――IoT時代を生き抜くテスト施策IoTとAI、ビッグデータ時代のソフトウェアテスト(8)(5/6 ページ)

» 2017年04月21日 09時00分 公開
[五味弘TechFactory]

テストと設計の関係

 不確定で不安定な要求を入力として設計を行うときは、防御的な設計になりがちである。不確定な要求に対する仕様をホットスポット(*)として、将来、どのようになろうとも対処できるよう事前に手を入れておく。その結果、やがて設計はホットスポットだらけになる(図4)。

(*)ホットスポット(hot spot) 「熱い場所」という意味で、設計においては現在仕様が未確定の部分や将来の仕様変更が予想される場所を指す。設計ではホットスポットに対して、実装を抽象化するなどの何らかの対処をしないとやけどする

 設計ではホットスポットに対して、多くは回りくどい設計(教科書的にはこれを柔軟性とか拡張性とか呼ぶ)をして、ホットスポットがどのようになっても対処できるようにする。例えば、何個ものインタフェースを追加したり、プログラムをデータにして取替え自由にしたり、ありとあらゆるテクニックを使う。しかし当然、設計は複雑になり、見にくくなり、実装は大変になり、実行は重く遅くなる。

photo 図4. ホットスポットだらけの設計

Copyright © ITmedia, Inc. All Rights Reserved.