Index: [Article Count Order] [Thread]

Date:  Thu, 7 Dec 2000 17:28:48 +0900
From:  "Toru Koido" <koido@....jp>
Subject:  [XP-jp:01267] Re: テストはテスト ?
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <00Dec7.172818jst.27780@....jp>
References:  <20001206122555omura@....jp> <00Dec7.153552jst.115203@....jp>
Posted:  Thu, 7 Dec 2000 17:28:16 +0900
X-Mail-Count: 01267

小井土です。
#割り込みです。


> 矢崎です。
>
> 私はXPのテスト(の楽しさ)の源泉は、やはり
> test a little, code a little, test a little, code a little.  ・・・
> というリズムと、自動化という点にあるのではないかと考えています。
> それと、あとはテストファーストってことですかね?
>
> 要は、テストの意義と、その実施方法が変わったという
> ことなんでしょうね。
>
> ひっくるめていえば新しいテスト戦略だと思うのですが、
> これは、まあ何も言っていないに等しいですね。^^;;;
>
> 個々のテストケースについていえば、ブラックボックスという
> 点では従来から何かドラスティックに変わったとは思わない
> のですが、やっぱり
>
> ・テストを最初に書くこと
> ・テストは自動化すること
> ・少しずつテスト、コード、テスト、コードを繰り返すこと。
>  これで、テストが通らなくても、どこにバグがあるか、
>  容易に検出できる。
> ・常に、過去からのテストを再実行すること
>
> というような戦略、戦術が新しくて楽しいのだと思うので
> すがどうでしょう?
>
> それとやっぱり、1回やってもらうということですね。
> やってみて、やっぱりXPのテストに価値を見出さない人も
> いるでしょうし(それが悪いということではなくて)、人のそれぞ
> れの価値観の違いもあるのは仕方ないでしょう。
>
> 私もJUnitを使ってみて、そのよさを実感しましたから。
テストが再利用できて、新しいテストケースが簡単に実現できる
ところは、非常に便利だと思います。
特に、コンポーネントベースで開発している時は、テストプログラム
とコンポーネントの実装を繰り返すことが通常の作業になるので
JUnitなどが受け入れられやすいとも思います。

> Shinichi OMURA さんwrote:
>
> >
> > XPを知らない人に、テストが大切で...という話をはじめると、
> > 条件反射的に、テスト=たいくつ、うっとうしい、めんどう
> > という図式が頭に浮かぶようで、話がその先に進みません(涙)
> >
> > 話のすすめかたが悪いんでしょうね。
最近、テストファーストで思うのですが、コンポーネントベース開発で
以下のような経験がよくあります。

設計
インターフェイス設計
実装
単体テストプログラム作成
単体テストの実施

といったプロセスで開発を行うのですが、単体テストプログラムを
作成した時点で、インターフェイスの不備や不整合に気が付くこと
があります。
私は天才プログラマではないので、使う立場になって始めて見え
てくることが多いのです。

そうなると、実装が無駄になるわけです。
もし、これを

設計
インターフェイス設計
単体テストプログラム作成
実装
単体テストの実施

といったプロセスで行えば、実装の無駄がはぶけるわけですし
インターフェイスの仕様確認を実装の前に行えるので非常に
作業が効率的になります。

皆さん、いかがお考えですか?