Index: [Article Count Order] [Thread]

Date:  Fri, 02 Aug 2002 23:42:34 +0900
From:  Eiji Yamane <e-yamane@....jp>
Subject:  [XP-jp:03637] Re: ソフトウェア品質指標についての考察
To:  extremeprogramming-jp@....jp
Message-Id:  <20020802232021.E4E5.E-YAMANE@....jp>
In-Reply-To:  <000a01c239d3$0c1f5d60$85222fc0@....jp>
References:  <20020802004737.E4D0.E-YAMANE@....jp> <000a01c239d3$0c1f5d60$85222fc0@....jp>
X-Mail-Count: 03637

山根です。

On Fri, 2 Aug 2002 12:16:52 +0900
"NAKAMURA, Hiroshi" <nakahiro@....jp> wrote:

> なひです。

<...snip...>

> テスト不要の件、同感です。元の説明が悪いですね。前回の例は、
> 
> * あるプログラマーが、
> * テストファースト時に、
> * Foo#rateFor100の仕様として、i == 0のときに
>   Exceptionを返すよ、という手抜き仕様を考えた
> 
> 場合の例でした。
そうですね。
このようなケースであれば、テストを書いたほうがよいでしょうね。

> 事前条件としてi != 0という仕様の場合、テストすべきは
> Foo#rateFor100ではなく、これを呼び出している例えば
> Bar#createReportなどで、「Foo#rateFor100を呼び出すときに
> 絶対に0を渡さないこと」をテストする必要がありますね。
と言われると、やはり「必要に応じて」と答えてしまいます。f(^_^;
#なひさんのおっしゃる通り、人それぞれですね。

コードを書いた(書く)人とペアが、必要と感じれば、
品質に自信をもてるまでテストすればいいでしょうね。

ただしこの場合は、テストファーストで、この試験は出来ないはずなので、
「自信がない時」のテストラストと言うことになるとは思います。

必要に応じて、テストラストも行うべきでしょうね。
例えば、実装してて「やべぇ、なんか複雑になってきた...」
とかの場合ですかね?

って、言ってると完全にプログラマ任せになってしまうので、
初級者ペアの場合は、もしかすると一時的に進捗と
品質が下がるかもしれませんね。
監査機構は必要そうなので、トラッカさんよろしく!!
って感じです。

「ねぇねぇ、A君。次のタスクは僕が後ろについてもいいかい?」
とか言って、後ろから進め方見てみて必要に応じて、
アドバイスして挙げれれば、最高かな?

> プログラマがテストファースト時にテスターの帽子を
> 被って仕様を決めていく際には、鼻を利かせて「i == 0の時に
> どうするか」に思いをめぐらせないといけない。
> 結果的に、
> 呼び出し側の債務にして事前条件として書くのでもいいし、
> Exceptionが返る仕様にしてテストを書くのでもいいし、
> double / intのときでもInfinityが返る仕様にしてテストを書くのでもいい。
これが理想ですね。
まさにそう思います。

XPの場合、みんなが、テスターであり、デザイナーであり、
プログラマーなんですよね。
やっぱ、XPは難しいなぁ。

> できればカバレジツール、コード品質検査ツールなどのツールが
> 助けてくれるといいんですが、サポートしてくれないので、
> 従来どおり人に頼るしかない、と。
そうなんですよね。
ツールでは、論理的正当性はある程度保証できても、
機能的正当性に関しては数量化できないから、
品質って測るの難しいんですよね。
#受入れ試験の合格数くらいかな?測れそうなのは?

MDAだと、この当たりはクリアされるんでしょうか?
未だに、MDAが夢語ってるようにしか思えない、
山根の最後っ屁でした。

奥村さん、なひさん、石井さんお付き合い頂きありがとうございました。
#と、勝手にクロージングして良いのかな?

山根 英次(Eiji Yamane)
  mailto:e-yamane@....com
    http://www.ne.jp/asahi/e/yamane/software/