Index: [Article Count Order] [Thread]

Date:  13 Mar 2001 17:29:11 +0900
From:  Takeshi Kakeda <kakeda@....jp>
Subject:  [XP-jp:01723] Re: XP 事例 (
To:  extremeprogramming-jp@....jp
Message-Id:  <874rwyxeaw.fsf@....com>
In-Reply-To:  <4.2.0.58.J.20010312201036.03217c40@....jp> (Hada Akihiro's message of "Mon, 12 Mar 2001 21:03:55 +0900")
References:  <3AAC797E.3040007@....com> <20010312132542Z.hiranabe@....jp> <3AAC797E.3040007@....com> <4.2.0.58.J.20010312201036.03217c40@....jp>
X-Mail-Count: 01723

こんにちは、懸田です。

>>>>> In [extremeprogramming-jp : No.01712] 
>>>     Hada Akihiro <Akihiro.Hada@....jp>さん wrote:

> 牛尾さん、懸田さん、今日は。
> 平鍋さん、紹介ありがとうございます。
> 筆者に成り代わり、回答します。
わざわざありがとうございます。

> At 午後 04:53 01/03/12 +0900, Takeshi Kakeda wrote:
> snip.

> まず、前提として(アンケートにも書きましたが)
> この事例は、XP を実践することを目的としている訳ではなく、
> 短期開発で、プログラマーの生産性を最大にすることが必要となり、
> XP を念頭に置きつつ、開発し、あとで XP 的に振り返ってみた、ということです。

> >>  ところで、上記の資料ですが、どうやらUnitTestはしてないみたい
> >> ですね。UnitTestはXPの肝と思っていたので、かなり意外です。
> >> #計画ゲームやオンサイト顧客までできてるのに、、。
> >私も拝見しました。非常に興味深い内容でしたが、牛尾さんと同様にUnitTest
> >が実現できていないという部分が気になりました。

> 単体テストはしていますが、(extreme な)Unit Test はしていない、ということです。
> つまり、
> ・ 単体テストに、testing framework を利用していない。
> ・ 単体テストを、インテグレーション時に自動的に行なうようなことをしていない。
> ・ 単体テストを、コーディングより先にしていない。
> ということです。

> なぜか、というと、端的に言えば、アプリケーション・ロジックが単純である。
> ということです。
> 単純なアプリケーション・ロジックである場合、コードの外側に、intention を
> 書く必要があると考えていません。
> (オブジェクト指向言語なのですから。)
> 実際、JavaDoc とシナリオで十分でした。
> では、例外的なこと(失敗すべきテスト)はどうなるかですが、
> ・J2EE 環境で開発していて、失敗すべきテストは、
>     基本的に環境に任せればいい。
> ・システム的、言語的には把握できない"失敗"は、
>     function test で書けばいい。
> と考えました。

> >UnitTestが徹底されていないが、機能テストを徹底してフィードバックする
> >ということを行ったと記述してありますが、品質の上で可なのでしょうか?
> で、十分な品質を持ったシステムとして、稼動しています。
> (そうでない事例を、ユーザ名・システム名を明示して紹介できません(^^))

> 単体テストは、各自に任せましたが、一例は、
> シェル+peanuts+Java 
> で、テスト環境を築いています。

> >またUnitTestなしのRefactoringも非常に辛い気がします。このあたりをどのよう
> >に回避していたのかも気になります。

> まず、test first について。
> 難しいアプリケーションであれば、やっています。
> というか、オブジェクト指向言語で書く場合、そうしないと書けない、
> というのが実感です。

> しかし今回のアプリケーションは単純なので、
> Refactoring するというほどのプログラムではありません。
> "機能を変えずに、実装を替える"という余地がほとんど無いのです。
> ほんとにナイーブなプログラマーから見れば、自由度はあるのかも
> 知れませんが、ある程度の域に達していれば、一つの解しかない、
> といような類です。
> ので、辛くありませんでした。

> >
> >あと文中には触れられていませんが、メタファーの実践について詳しく話を
> >伺いたいですね。
> 白板に、クラス図とシーケンス図を書いて、共有した、というのが
> 実践の全てのようです。
> "詳しく"とは、どのようなストーリを期待していますか?

> >
> >私がお客さんにXP(というかJUnitによるTesting)を紹介した時に「短かい納期でテス
> >ト書い
> >ている時間があるのか?」と反論されたことがありますが、この記事のプロジェ
> >クトも同様の理由でUnitTestをはしょったのでしょうか...
> このお客さんの"時間があるのか"という質問の意図が不明ですね。
> 納期が、短かろうが、長かろうが、
> 書く必要のあるテストは書き、必要の無いテストは書かない。
> 仕事なのですから。

> 今回のシステムの特徴と、必要な品質を確保するための手段を考えた場合、
> Unit Test が必要と考えなかった、ということです。

> XP を前提にしても、
> そもそも、プラクティスにあるのは、Testing であって、Unit Tests では
> ありません。Unit test と Function(Acceptance) test の分業?は、
> ケースバイケースなのではないでしょうか。

> 確かに、自動的なテストは役に立ちます。
> しかし、残念ながら、
> 以前、GUI のテストで話題になったように、十分に実用的な web ベースの
> testing framework が無いのが、現状(少なくとも半年前には)でしょう。

> 如何ですか?回答になっていますでしょうか?

> はだ