Index: [Article Count Order] [Thread]

Date:  Mon, 11 Dec 2000 13:03:10 +0900
From:  firo <firo@....jp>
Subject:  [XP-jp:01312] Re: テストはテスト ?
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <00Dec11.130652jst.115202@....jp>
References:  <00Dec7.153552jst.115203@....jp> <20001208130349omura@....jp>
Posted:  Mon, 11 Dec 2000 13:06:51 +0900
X-Mail-Count: 01312

矢崎です。

"Shinichi I. OMURA"さん wrote:

> おおむらです。
>
> >・テストを最初に書くこと
> >・テストは自動化すること
> >・少しずつテスト、コード、テスト、コードを繰り返すこと。
> > これで、テストが通らなくても、どこにバグがあるか、
> > 容易に検出できる。
> >・常に、過去からのテストを再実行すること
> >
> >というような戦略、戦術が新しくて楽しいのだと思うので
> >すがどうでしょう?
>
> このあたりのことなのかもしれません。私の違和感は。
>
> 少しずつテストとコードを繰り返すというのの目的は、
> テストをすることにあるのではなくてコード=プログラミング
> を確実にすすめることにあるように思います。
>
> つまり、XPのUnit Testは、テストで強化されたプログラミングだと
> 見ることもできますよね。あくまでもプログラミングが主体です。
>
> そこが普通のテストと違うような気がします。
>

感じ方は人それぞれかもしれませんが、もし、おおむらさんが
プログラミング=コーディングという意味でおっしゃっているとすれば、
私としては、
「あくまでもプログラミング(コーディング)が主体」
という感じではないです。(ちがっていたらごめんなさい)

むしろ、プログラミングとはコーディングとテストとが一体化された
ものである、というように再定義したものと考えています。
#XPではさらに、デザインもプログラミングの範疇に含まれます。
(と私は理解しています)

そうしたやり方が、*普通の* のテストと違うといえば、まさしくそうだ
と思います。そしてXPのテストとはどういうものか、という説明は、まさ
しくその *普通の*テストと違うところにあるのではないかと考えていま
す。つまり、テストそのものにあるのではなく、テストをいつ、どういう
アプローチで行うか、、という戦略にです。。

もし、そのやり方が納得できない人については、
・XPのテストを説明するのをあきらめる。
・実際にXPの方法でテストしてもらって体で理解してもらう。

のどちらかを選択するしか道はないかもしれません。

#あ、あるいはおおむらさんが、XPを使って、それがすばらしいことを実証す
る、というのもありますね^^/

>
> なかば冗談ですが、こんなたとえはどうでしょうか。
>
> XPでは、ニンジンを目の前にぶらさげて馬を走らせます。
> ニンジンの位置はそのときそのとき微調整していくことが
> できます。
>
> コードを全部作ってからテストをするというやりかただと、
> 地図を見てだいたい見当をつけて馬を走らせて、
> このあたりかな、という段階でニンジンを目的地におき、
> あ、こんなに離れてたんだあ、となります。まあ、そんなに
> ひどくはないでしょうけど。
>
> XPでは、ニンジンがナビゲーションシステムになっている
> ところが大違いというわけです。
>

そうですね。そして、私達の目的が正しい目的地に行く(プログラミング)、
ということであれば、馬を走らせる(コーディング)、という活動と、ニン
ジンをどう使えばよいか(テスティング)、という活動には、主従は
ないと、考えています。どちらが欠けても、正しい目的地には行け
ませんから。。。。


--
矢崎博英  firo@....jp