Index: [Article Count Order] [Thread]

Date:  Fri, 27 Jul 2001 11:18:09 +0900
From:  Takashi Abe <abetaka@....jp>
Subject:  [XP-jp:02289] Re: assert  で表現できないメソッドのテスト
To:  extremeprogramming-jp@....jp
Message-Id:  <200107270218.AA00573@....jp>
In-Reply-To:  <20010726181723tsujit@....jp>
References:  <200107260809.AA00569@....jp>	<20010726181723tsujit@....jp>
X-Mail-Count: 02289

阿部です。

>> 後半分は、複数のメソッドを利用するテスト(別発言にあるDBアクセスとか)
>>などは、例えばinsertとselectが両方実装できていないとテストが成功しない、
>>という意味では単体の実装より後回しにしているという事です。
>
>この場合には、insertのテストを書いて、insertを実装して、
>selectのテストを書いて、selectを実装して・・・
>という流れになるのではないでしょうか。
>
>ですから、阿部さんのされているのは立派に「テストファースト」
>になると思いますよ。
 誤解というか、強い思い込みがあったようです。

 insertのテストでは、正常な終了コードが返ってくるだけではなく、selectして
取得した値がinsertしたものと等値である必要がある、と判断したのですが、
そうなるとinsertテストはselectができるまで終わらない。selectとinsertの
両方を実装しきるまで(それぞれ1日ずつと仮定して)コミットしないのは
チーム開発の流れのリズムを保つには良くない。よってテスト・ファーストは
守りきれない、と考えていました。

 この場合「テストを100%通らない限りコミットしない」というルールと
「insertとselectの複合テストまで先に書く」という行為、そして「チーム開発
のリズムを保つには毎日コミットすべき」というルール(?)が一部矛盾して
しまったようです。テスト・ファーストをもう少し柔軟に捕らえるのが、この場合
一番いいんでしょうね、たぶん。

 まだまだ試行錯誤中なので、どの段階でどうテストコードを書くべきか、
タスクの分解の基準などを他のメンバーと話し合って決めていきたいと思います。

では。

-------------------------------------------------------------
Takashi Abe  <abetaka@....jp>
HP: http://homepage1.nifty.com/taka-page/

合気道 薫友会 : http://homepage2.nifty.com/kun-yu/index.html
-------------------------------------------------------------