今週の「週間オブジェクト倶楽部」(※)で、平鍋氏が提案している考え方である。「テストが簡単に行えるような設計をせよ」ということであろう。
ここでの「テスト」とは、xUnit のような自動テストと考えてよいだろう。自動テストは、プログラムによるプログラムのテストだ。いつでも何度でも実行できるので、初期開発時の品質向上のみならず、仕様変更時や改訂時のリスク低減にもなる。
平鍋氏の言う「EoT の高い設計」を行えば、自動テストプログラムの作成時間を短縮させ、その品質も向上させることができるだろう。そして、そのことが、テストされる側(製品)の品質や保守性をも向上させることは言うまでもない。
しかし、デメリットがないわけではない。「EoT の高い設計」では、製品プログラムを単独で見た場合よりも、テスト用プログラムと合わせて見た場合のほうが、構造的に美しくなるだろう。製品には、本来は不要なはずの「テストのための構造」が入り込むことで、実行速度面やプログラムサイズ面にも犠牲が出るケースも出てくるかもしれない。
とはいえ、多くの開発プロジェクトで、品質が最も重大な問題となっているのは事実であり、全体的にはメリットの方が大きいものと思われる。
更に EoT のような考え方が浸透していけば、例えば、アプリケーション・フレームワークとテスティング・フレームワークの融合が進むだろう。あるいは、自動テストが難しい GUI(画面操作)のテストの方法を、OS やウインドウ・マネージャが提供してくれる日が来るかもしれないではないか。
※「オブジェクト倶楽部」のメールマガジン(2004-39号 No.67)
http://objectclub.jp/
JUnitによるテストファースト開発入門
posted with amazlet on 06.03.25
サイバービーンズ 今野 睦
ソフトバンククリエイティブ (2004/04)
売り上げランキング: 95,598
ソフトバンククリエイティブ (2004/04)
売り上げランキング: 95,598
おすすめ度の平均:
ツール紹介の本実行例はわかるのですが,説明文が今一つ
ソフトウェアテスト本の新スタンダードかも
はじめて学ぶソフトウェアのテスト技法
posted with amazlet on 06.03.25
リー・コープランド 宗 雅彦
日経BP社 (2005/11/03)
日経BP社 (2005/11/03)