おおむらです。
はじめまして、河合さん。
"Akio Kawai" <object@....jp> wrote:
in: "[XP-jp:01260] RE: テストはテスト ?"
>河合です
>>普通のテストというのは、すでに完成したプログラムが
>>正しいかどうかを判定するために作られます。
>
>「プログラマとテストする人は別にすること」という考えが
>あると思います。つまりテストする人はあくまで仕様書
>ベースにテストプログラムを書きます。
Unit Testにあたるホワイトボックステストについては、従来でも
プログラマがやっていたのではないでしょうか。
今でも、わたしのまわりの人達はそうやってます :-(
>>XPのテストも、確かにそういう働きはするわけですが、やはり実行可能な
>>仕様書であり、コードがこうなっていてほしいということを書いているもの
>>だという気持ちのほうが先に立ちます。
>
>XPではテストプログラムに仕様書的意味があり、それが
>動くようにプログラミングを行う。
これは、同じことを言い方をかえて言われているようなので、わたしの意見
に同意してくださったって意味ですよね。
ここらへんのことは、こんなふうに考えています。
従来のテストというのは、仕様書Sがあって、プログラムPとテストTを
S->T, S->Pという具合に作って、TでPをテストするという形ですよね。
でもXPでは S->TのあとT->P、つまりTにあうようにPを作り、それも
自動化されていて100%パスすることを求められているから、TとPの間には
隙間がないわけです。これが、すごく重要な気がします。
もっとも、couldn't possibly breakな部分については抜けているので
厳密には隙間がないわけじゃないんですけどね。
結局、プログラミングというプロセスにおいて、テストが積極的な役割を
果たしているという点においてUnit Testは従来のテストと違うのかなあ
と思います。
平鍋さんへの返信にも書きましたが、
UnitTestは鋳型である
という気がしています。