TDDはテスト手法か否か

TDD
58
前へ 1 2 ・・ 6 次へ
なんもわからん @babie

@t_wada 「反証」テストは「間違っていると証明する」ことを試みるテストという意味で使っています。

2010-02-22 23:04:25
なんもわからん @babie

@t_wada 実証(正常に動く)を幾ら積み重ねても信頼度は上がらないことは同意して頂けると思いますが、「反証」は1つあればその動作は間違っていると証明できます。ゆえに、反証テストを多様に積み上げることで信頼性が上がっていくということが導かれます。

2010-02-22 23:05:24
Takuto Wada @t_wada

@babie 前半同意。反証テストはどのような形をとりますか?

2010-02-22 23:12:52
なんもわからん @babie

@t_wada そして、TDDは反証テストも含むので信頼度が上がるのは間違いありません。ゆえに、テスト手法も含んでいると見るのが妥当でしょう。従って @yoshiori の「テスト手法ではない」という断言は間違いです。

2010-02-22 23:12:13
Takuto Wada @t_wada

@babie 「信頼度が上がる」という実感を(私たち)プログラマは持っていますよね。で、問題は「テスト手法」という言葉ですね。曖昧で広いんですかね…

2010-02-22 23:17:02
なんもわからん @babie

@t_wada ただ、TDDで信頼度が上がるのは一定レベルまで、充分ではないと思います。システムを破壊してバグを見つけるテストなどは外部化せざるを得ません。

2010-02-22 23:13:26
なんもわからん @babie

@t_wada 例えば「このパラメーターを与えたらエラーになるだろう」というようなテストです。エラーが起こったら、テスト対象にフィードバックされ、信頼度が上がるというわけです。

2010-02-22 23:15:37
Takuto Wada @t_wada

@babie ああ、よくやっています。ふつうにやっています。

2010-02-22 23:17:49
なんもわからん @babie

@t_wada 「TDDはテスト手法でもあり、開発手法でもあるが、テスト手法としては不十分だ」が正しい言だと思います。

2010-02-22 23:16:57
Takuto Wada @t_wada

@babie yes. 例えば第三者の視点が欠けていると思います。

2010-02-22 23:18:21
なんもわからん @babie

@t_wada はい、第三者の視点が欠けています。TDDがテスト手法としては不十分というのは認めます。

2010-02-22 23:19:42
なんもわからん @babie

@t_wada あまり語義論にはつっこみたくないんですが、「テスト手法」は「テストをするやり方」ぐらいの捉え方でいいと思います。この捉え方でしたら、TDDは「テスト手法」を含みます。

2010-02-22 23:21:47
なんもわからん @babie

@t_wada @yoshiori さんのように、TDDは「テスト手法ではない」と言いたいなら、BDDという言葉を使うべきだと私は思います。

2010-02-22 23:23:16
Takuto Wada @t_wada

@babie なるほど、結局みんな理解は近くて、表現の違いなんですね。「TDDはテスト手法でもあり、(略) テスト手法としては不十分だ」の「不十分だ」をもって、テスト手法ではない、と言うか、テスト手法でもある、と言うか。皆不十分であることはわかっていると思うんです。

2010-02-22 23:21:49
なんもわからん @babie

@t_wada 論理の問題です。「不十分だ」からといって「ではない」とは言えません。

2010-02-22 23:24:45
なんもわからん @babie

@t_wada これらのことは、私が独自に考えぬいたわけではなくて、私が最近ハマっている、カール・ポパーという現代思想家の科学哲学から引いてきたものです。「反証主義」でググってみると、そのエッセンスは読み取れると思います.

2010-02-22 23:34:46
Takuto Wada @t_wada

@babie 懐かしいです。大学のときに科学哲学をやったので、ポパーとかファイヤアーベントも読みました。(復習しないと怪しいですが…)

2010-02-22 23:36:55
ヽ(´・肉・`)ノ @niku_name

2年くらい昔のことだけど,TDDワークショップで @moro が僕とペアプロ中に, Coin.new(50, 2) の戻り値 Coin.new(100,1) になって欲しいんですよねって,ささっとコードを書いた時に, TDD について衝撃を受けた.

2010-02-22 23:27:35
Takuto Wada @t_wada

@babie ちょっと話はそれるかもですが、「テスト手法ではない」という言説の素をたどると『テスト駆動開発入門』の p199 にたどりつきます。

2010-02-22 23:33:42
Takuto Wada @t_wada

@babie "TDD の皮肉の1つは、 TDD がテスト技法ではない(カニンガムの考案)ことである。TDD は分析手法および設計手法であり、実際には開発のすべてのアクティビティを構造化するための技法である" 『テスト駆動開発入門』p199 というところです。

2010-02-22 23:35:44
なんもわからん @babie

@t_wada 私は先に述べた論理から、カニンガムの言が間違っていると判断します。

2010-02-22 23:37:08
なんもわからん @babie

@t_wada 私は『テスト駆動開発入門』 p. iv の「コードの欠陥密度を劇的に低下させ」という文から、反証主義的には、信頼度を上げる「テスト手法」とみても間違いないと思います。

2010-02-22 23:45:16
Takuto Wada @t_wada

@babie なるほど。 TDD はテストを設計する/データを選ぶ/書く段階でテスト技法を内部に含むのはそのとおりです。で、不完全であれ含むのだから、テスト技法ではない、という言説は正確ではないということですね。(ここまで書いて @babie さんのまとめとほぼ同じことに気づく)

2010-02-22 23:42:50
前へ 1 2 ・・ 6 次へ