小井土です。
#割り込みです。
> 矢崎です。
>
> 私はXPのテスト(の楽しさ)の源泉は、やはり
> test a little, code a little, test a little, code a little. ・・・
> というリズムと、自動化という点にあるのではないかと考えています。
> それと、あとはテストファーストってことですかね?
>
> 要は、テストの意義と、その実施方法が変わったという
> ことなんでしょうね。
>
> ひっくるめていえば新しいテスト戦略だと思うのですが、
> これは、まあ何も言っていないに等しいですね。^^;;;
>
> 個々のテストケースについていえば、ブラックボックスという
> 点では従来から何かドラスティックに変わったとは思わない
> のですが、やっぱり
>
> ・テストを最初に書くこと
> ・テストは自動化すること
> ・少しずつテスト、コード、テスト、コードを繰り返すこと。
> これで、テストが通らなくても、どこにバグがあるか、
> 容易に検出できる。
> ・常に、過去からのテストを再実行すること
>
> というような戦略、戦術が新しくて楽しいのだと思うので
> すがどうでしょう?
>
> それとやっぱり、1回やってもらうということですね。
> やってみて、やっぱりXPのテストに価値を見出さない人も
> いるでしょうし(それが悪いということではなくて)、人のそれぞ
> れの価値観の違いもあるのは仕方ないでしょう。
>
> 私もJUnitを使ってみて、そのよさを実感しましたから。
テストが再利用できて、新しいテストケースが簡単に実現できる
ところは、非常に便利だと思います。
特に、コンポーネントベースで開発している時は、テストプログラム
とコンポーネントの実装を繰り返すことが通常の作業になるので
JUnitなどが受け入れられやすいとも思います。
> Shinichi OMURA さんwrote:
>
> >
> > XPを知らない人に、テストが大切で...という話をはじめると、
> > 条件反射的に、テスト=たいくつ、うっとうしい、めんどう
> > という図式が頭に浮かぶようで、話がその先に進みません(涙)
> >
> > 話のすすめかたが悪いんでしょうね。
最近、テストファーストで思うのですが、コンポーネントベース開発で
以下のような経験がよくあります。
設計
インターフェイス設計
実装
単体テストプログラム作成
単体テストの実施
といったプロセスで開発を行うのですが、単体テストプログラムを
作成した時点で、インターフェイスの不備や不整合に気が付くこと
があります。
私は天才プログラマではないので、使う立場になって始めて見え
てくることが多いのです。
そうなると、実装が無駄になるわけです。
もし、これを
設計
インターフェイス設計
単体テストプログラム作成
実装
単体テストの実施
といったプロセスで行えば、実装の無駄がはぶけるわけですし
インターフェイスの仕様確認を実装の前に行えるので非常に
作業が効率的になります。
皆さん、いかがお考えですか?