テストについて2

先日のエントリの補足。


テストをする際、Webの場合だとクライアントに影響を受ける部分/受けない部分の切り分けをきちんと意識しておかないと、テストケースの組み合わせ爆発が起こる以前にデバッグ時の問題をきちんと把握できない筈です。

さすがにOSI参照モデルまで疑おうとすると範囲が広すぎてしまいますが、(X)HTML、JavaScriptCSSに絡むテストケースはいわばクライアントの影響をもろに受ける部分な訳で(Flexならなおのこと)、これを業務ロジックとかRDBMSとの連携の部分といっしょくたに取り扱おうとしても、そもそもがきれいに結びついてくれないと思います。

という訳で、プログラム自体をなるべく小分けにして、個別にテスト出来るようにすることでまずテストケースの組み合わせ爆発を防ぎ、かつクライアント向けのコードとサーバ・サイドのコードと同じ視点で扱わなくても良いような設計にしてあげないといけないな、と。


ColdFusionで作るフレームワーク的な何かを作ろうとした場合、こういった考えを根底にしておかないとダメかも知れません。機能という面では、ColdFusionはColdFusionでそもそもがJavaWrapperなフレームワークとして存在している訳で、そこでさらに機能的な何かを載せようとしてもあまり意味のあるものにはなり辛いです。

それよりも、フレームワークという単語が指し示す「枠組み」としての側面を強調して、生産性というか作業効率に寄与するようなものを目指さないと、ですね。


テストという工程を軽視しての生産性向上などあり得ませんので、何をおいてもまずテスト!と思いこういったメモを書いた次第です。