テスト駆動開発 (test-driven development; TDD) について マターリ 語りましょう
ツールについては別スレで
テストツールについて語るスレ 2
http://hibari.2ch.net/test/read.cgi/tech/1208013693/
探検
【TDD】テスト駆動開発【TestFirst】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2010/09/19(日) 21:26:12338デフォルトの名無しさん
2014/02/13(木) 00:48:59.46 >>337
> プログラミングにおいていちばん重要な財産はテストであり,
これは嘘w
あたりまえだけどテストよりも動くコードの方が重要。
テストコードはあっても今すぐには価値を生み出さない。
今すぐアプリとしては動かないのだから。価値を生み出すのはアプリのコードの方。
テストコードはなくても動くが、アプリのコードはなかったら動かない。
アプリコードからテストコードを生み出すことはできるが、
テストコードがあってもアプリコードは生み出せない。
仮にテストコードからアプリコードを作り出すことが可能だとして
それにかかる時間はどれくらいかかるか。その間テストコードに価値はない。
そしてテストコードからアプリコードを書くのは不可能
なぜなら全てのコードをテストしているわけじゃないから
その主な例がユーザーインターフェースデザイン、
分かりやすく言えばHTMLで作られた入力画面等。
テストコードがあっても使いやすい(同じ品質の)入力画面は復活不可能。
また現実的な問題としてテストコードが全て書かれているという証明はできない。
アプリコードがあるなら当然そこにすべての動作が記述されているが
テストコードは全てあるとは限らない。
あたりまえだけどアプリのコードのほうが重要。
> プログラミングにおいていちばん重要な財産はテストであり,
これは嘘w
あたりまえだけどテストよりも動くコードの方が重要。
テストコードはあっても今すぐには価値を生み出さない。
今すぐアプリとしては動かないのだから。価値を生み出すのはアプリのコードの方。
テストコードはなくても動くが、アプリのコードはなかったら動かない。
アプリコードからテストコードを生み出すことはできるが、
テストコードがあってもアプリコードは生み出せない。
仮にテストコードからアプリコードを作り出すことが可能だとして
それにかかる時間はどれくらいかかるか。その間テストコードに価値はない。
そしてテストコードからアプリコードを書くのは不可能
なぜなら全てのコードをテストしているわけじゃないから
その主な例がユーザーインターフェースデザイン、
分かりやすく言えばHTMLで作られた入力画面等。
テストコードがあっても使いやすい(同じ品質の)入力画面は復活不可能。
また現実的な問題としてテストコードが全て書かれているという証明はできない。
アプリコードがあるなら当然そこにすべての動作が記述されているが
テストコードは全てあるとは限らない。
あたりまえだけどアプリのコードのほうが重要。
339デフォルトの名無しさん
2014/02/13(木) 01:16:10.11 >>338
アプリコードの方が重要って考えは視点が違うだけだからなんとも
そもそもTDDスレとしての突っ込みどころはオレオレテスト駆動であって
そんなアプリコードとテストコードどっちが重要かってところに
そこまでの長文を書いてまで反応する意味が分からない
アプリコードの方が重要って考えは視点が違うだけだからなんとも
そもそもTDDスレとしての突っ込みどころはオレオレテスト駆動であって
そんなアプリコードとテストコードどっちが重要かってところに
そこまでの長文を書いてまで反応する意味が分からない
340デフォルトの名無しさん
2014/02/13(木) 02:24:17.12341デフォルトの名無しさん
2014/02/13(木) 09:57:16.39 プロレスで相手の手の内を出させないままキックだけで勝って俺TUEEEみたいな
342デフォルトの名無しさん
2014/02/13(木) 11:04:59.49 おまえら勘違いすんな
> テストが無事なら元と同じ品質のコードをもう一度書くことができる。
同じ*品質*のコードといってるんだ
テストが保証するのはコードの品質であってアプリの価値ではない
ましてや同じ入力画面を復活させる事では全くない
> テストが無事なら元と同じ品質のコードをもう一度書くことができる。
同じ*品質*のコードといってるんだ
テストが保証するのはコードの品質であってアプリの価値ではない
ましてや同じ入力画面を復活させる事では全くない
343デフォルトの名無しさん
2014/02/13(木) 11:22:44.29 ゴミページを擁護してる奴は何が目的なんだ
344デフォルトの名無しさん
2014/02/13(木) 13:59:44.58 TDDどうこうよりも、テスト対象のクラスを継承したテストクラスを作って、テスト結果の確認をテスト対象クラスのメンバに設定された値でアサートするというやり方がセンスないわ。
345デフォルトの名無しさん
2014/02/13(木) 20:48:44.35 アプリのソースだけ残った場合と
テストコードだけが残った場合
どっちが安価に元の状況に戻せるの?
テストコードだけが残った場合
どっちが安価に元の状況に戻せるの?
346デフォルトの名無しさん
2014/02/13(木) 20:55:48.07347デフォルトの名無しさん
2014/02/13(木) 22:49:05.90 TDDはアプリのソースとかテストコードがどっちが残ると〜とかそういうことを
語るもんではないんだが
語るもんではないんだが
348デフォルトの名無しさん
2014/02/14(金) 01:07:04.09 おおよそ、テストをどうやって書くかを考えるのが設計になり、
テストをどのように満たすかを考えるのが実装になる。
テストとコードを共に成長させていって開発を進めるのだから、
片方だけ残して、これがテスト駆動開発だ!とか言われると
ゲフンゲフンとなる。
品質との関連性は微妙
テストをどのように満たすかを考えるのが実装になる。
テストとコードを共に成長させていって開発を進めるのだから、
片方だけ残して、これがテスト駆動開発だ!とか言われると
ゲフンゲフンとなる。
品質との関連性は微妙
349デフォルトの名無しさん
2014/02/14(金) 02:07:53.24 >テストとコードを共に成長させていって開発を進めるのだから、
成長が順調に進むのであればテストファーストもコードファーストも大差なく
テストとコードのどちらを先に書くかの順番の違いしかないが、
成長が逆戻りした(コードに修正を加える必要が出てきた)ときに
テストを優先して(テストの中に設計を含めて)コードを大胆に修正できるようにするか、
コードを優先して(コードの中の設計を維持するように)コードの修正量をなるべく少なくするか、
という所に違いがある、という感じか。
成長が順調に進むのであればテストファーストもコードファーストも大差なく
テストとコードのどちらを先に書くかの順番の違いしかないが、
成長が逆戻りした(コードに修正を加える必要が出てきた)ときに
テストを優先して(テストの中に設計を含めて)コードを大胆に修正できるようにするか、
コードを優先して(コードの中の設計を維持するように)コードの修正量をなるべく少なくするか、
という所に違いがある、という感じか。
350デフォルトの名無しさん
2014/02/14(金) 02:10:51.12 >品質との関連性は微妙
実装フェーズが完了した段階ではコードもテストも固まっているから
テストファーストでもコードファーストでも同等の成果物が作成されて
同等の品質が得られているはず、ということなんだろうか、
それとも、実装フェーズではそれなりに動くモノができていればいい、
品質はその後の試験フェーズで高めていく、という考え方なんだろうか。
実装フェーズが完了した段階ではコードもテストも固まっているから
テストファーストでもコードファーストでも同等の成果物が作成されて
同等の品質が得られているはず、ということなんだろうか、
それとも、実装フェーズではそれなりに動くモノができていればいい、
品質はその後の試験フェーズで高めていく、という考え方なんだろうか。
351デフォルトの名無しさん
2014/02/14(金) 10:08:16.40 >>348
> テストとコードを共に成長させていって開発を進めるのだから、
> 片方だけ残して、これがテスト駆動開発だ!とか言われると
> ゲフンゲフンとなる。
誰も本当に片方捨てろなんて言ってない
> テストが無事なら元と同じ品質のコードをもう一度書くことができる。−この考えを立証すべく
って考え方を言ってるんだよ
お前は抽象的な話しが出来ない奴か?
> テストとコードを共に成長させていって開発を進めるのだから、
> 片方だけ残して、これがテスト駆動開発だ!とか言われると
> ゲフンゲフンとなる。
誰も本当に片方捨てろなんて言ってない
> テストが無事なら元と同じ品質のコードをもう一度書くことができる。−この考えを立証すべく
って考え方を言ってるんだよ
お前は抽象的な話しが出来ない奴か?
352デフォルトの名無しさん
2014/02/14(金) 10:51:38.30 >>351
> > テストが無事なら元と同じ品質のコードをもう一度書くことができる。−この考えを立証すべく
>
> って考え方を言ってるんだよ
> お前は抽象的な話しが出来ない奴か?
これのどこが抽象的な話なんだ?
「テストが無事でも元と同じ品質のコードをもう一度書くことができないときがある」
で、論破。
> > テストが無事なら元と同じ品質のコードをもう一度書くことができる。−この考えを立証すべく
>
> って考え方を言ってるんだよ
> お前は抽象的な話しが出来ない奴か?
これのどこが抽象的な話なんだ?
「テストが無事でも元と同じ品質のコードをもう一度書くことができないときがある」
で、論破。
353デフォルトの名無しさん
2014/02/14(金) 11:11:56.77 後付けのC1カバレッジ100%で全ての副作用に対するassertionが記述されている
テスト一式があれば、元コードと同等のものを翔かもしれないが、このこととTDDは
一切関係無いね。
テスト一式があれば、元コードと同等のものを翔かもしれないが、このこととTDDは
一切関係無いね。
354デフォルトの名無しさん
2014/02/14(金) 11:31:08.45 >>352
> 「テストが無事でも元と同じ品質のコードをもう一度書くことができないときがある」
> で、論破。
論破って…単なる仮説を立てただけだろ。立証してから言ってくれ
そういう分かりやすい最終的な結論だけで話しを進めるたがる事を
抽象的な話しが出来ないっていうんだよ
> 「テストが無事でも元と同じ品質のコードをもう一度書くことができないときがある」
> で、論破。
論破って…単なる仮説を立てただけだろ。立証してから言ってくれ
そういう分かりやすい最終的な結論だけで話しを進めるたがる事を
抽象的な話しが出来ないっていうんだよ
355デフォルトの名無しさん
2014/02/14(金) 11:56:51.72 >>354
> 論破って…単なる仮説を立てただけだろ。立証してから言ってくれ
は?どうみても
「テストが無事でも元と同じ品質のコードをもう一度書くことができないときがある」
は明らかだろ。
> 抽象的な話しが出来ないっていうんだよ
抽象的を辞書で引け、アホ。
> 論破って…単なる仮説を立てただけだろ。立証してから言ってくれ
は?どうみても
「テストが無事でも元と同じ品質のコードをもう一度書くことができないときがある」
は明らかだろ。
> 抽象的な話しが出来ないっていうんだよ
抽象的を辞書で引け、アホ。
356デフォルトの名無しさん
2014/02/14(金) 12:45:53.91 >>351
なんであの糞記事を擁護するの?
なんであの糞記事を擁護するの?
357デフォルトの名無しさん
2014/02/14(金) 12:52:21.25 >>355
> 「テストが無事でも元と同じ品質のコードをもう一度書くことができないときがある」
> は明らかだろ。
明らか言われても論破された気にはなれないよ
ちなみに「できないときがある」の反対は「常にできる」だから該当記事の「〜ことができる」を
反論している事にはならないよ
むしろ同じ事を言っている
> 抽象的を辞書で引け、アホ。
辞書で引いてみたよ
1 いくつかの事物に共通なものを抜き出して、それを一般化して考えるさま。「本質を―にとらえる」
で、だから何?
> 「テストが無事でも元と同じ品質のコードをもう一度書くことができないときがある」
> は明らかだろ。
明らか言われても論破された気にはなれないよ
ちなみに「できないときがある」の反対は「常にできる」だから該当記事の「〜ことができる」を
反論している事にはならないよ
むしろ同じ事を言っている
> 抽象的を辞書で引け、アホ。
辞書で引いてみたよ
1 いくつかの事物に共通なものを抜き出して、それを一般化して考えるさま。「本質を―にとらえる」
で、だから何?
358デフォルトの名無しさん
2014/02/14(金) 14:24:13.22359デフォルトの名無しさん
2014/02/14(金) 14:31:22.73360デフォルトの名無しさん
2014/02/14(金) 17:22:33.79361デフォルトの名無しさん
2014/02/14(金) 17:32:25.39 >>360
> TDDにおけるテストの重要性は、「同じ品質」ではなく「同じ動作」を求めるため、
> しかもカバレッジ100%の完成したコードではなく実装途中のコードに対して、
> でよいよね?
そんなかんじ。
カバレッジに関しては、C0カバレッジですら100%に満たないよね。
TDDのテストは、その人が十分だと思う分しか書かれない。
そして、そのテストコードをいわゆる「単体テスト」では使わないという人もいる(extremeな人は全捨てするらしい。マジか)。
俺は使うけど。
> TDDにおけるテストの重要性は、「同じ品質」ではなく「同じ動作」を求めるため、
> しかもカバレッジ100%の完成したコードではなく実装途中のコードに対して、
> でよいよね?
そんなかんじ。
カバレッジに関しては、C0カバレッジですら100%に満たないよね。
TDDのテストは、その人が十分だと思う分しか書かれない。
そして、そのテストコードをいわゆる「単体テスト」では使わないという人もいる(extremeな人は全捨てするらしい。マジか)。
俺は使うけど。
362デフォルトの名無しさん
2014/02/14(金) 22:19:43.22 >>353
そうだな。誰もそこまでのテストは求めていないし、そんなことする気にもなれない。
そうだな。誰もそこまでのテストは求めていないし、そんなことする気にもなれない。
363デフォルトの名無しさん
2014/02/15(土) 00:21:14.85 テストとソースって
たまごとにわとりの関係なの?
たまごとにわとりの関係なの?
364デフォルトの名無しさん
2014/02/15(土) 07:15:22.29 たまごが成長すれば、ニワトリになり
そのニワトリが複数個のたまごを生む。
そのたまごがそれぞれ成長し
それぞれがたまごを複数個生む。
テストとソースはこういう関係です。
そのニワトリが複数個のたまごを生む。
そのたまごがそれぞれ成長し
それぞれがたまごを複数個生む。
テストとソースはこういう関係です。
365デフォルトの名無しさん
2014/02/15(土) 09:04:51.54 カバレッジは、ISOとかで必要なところもあるんだろう
あれも結局は認証されたxUnitでテストするらしいが
あれも結局は認証されたxUnitでテストするらしいが
366デフォルトの名無しさん
2014/03/02(日) 15:11:51.03 カバレッジのスレないのでここで。
テストするまでもないコードというのがある。
たとえば変数の初期化関数とか。
こういうのをテストしたってしょうがない。
だけど実行しないとカバレッジは上がらない。
カバレッジ100%を目指しているわけじゃないが
それはカバレッジを上げるために時間がかかりすぎるなら
コストとメリットを天秤にかけてやらなくていいという話なはず。
だから関数呼び出しだけで簡単にカバレッジがあがるならやってもいいではないか?
テストを行わないが関数実行だけはする。これに意味が無いかといえば
そうではなく。それはコードが確実に動くということを証明できる。
スクリプト言語系はスペルミスなど実行しなければエラーを検出できないことがある。
つまりだ。テストを行わないで関数を実行するだけ。というのは気持ち悪いがありなのだろうか?
テストはしていないが、あえて言うなら関数が動くことをテストしているということ。
テストするまでもないコードというのがある。
たとえば変数の初期化関数とか。
こういうのをテストしたってしょうがない。
だけど実行しないとカバレッジは上がらない。
カバレッジ100%を目指しているわけじゃないが
それはカバレッジを上げるために時間がかかりすぎるなら
コストとメリットを天秤にかけてやらなくていいという話なはず。
だから関数呼び出しだけで簡単にカバレッジがあがるならやってもいいではないか?
テストを行わないが関数実行だけはする。これに意味が無いかといえば
そうではなく。それはコードが確実に動くということを証明できる。
スクリプト言語系はスペルミスなど実行しなければエラーを検出できないことがある。
つまりだ。テストを行わないで関数を実行するだけ。というのは気持ち悪いがありなのだろうか?
テストはしていないが、あえて言うなら関数が動くことをテストしているということ。
367デフォルトの名無しさん
2014/03/02(日) 15:58:52.16 それは、なしです
368デフォルトの名無しさん
2014/03/02(日) 16:30:47.67 実は関数読んでなかったり別の関数呼んでたらどうするわけ?
369デフォルトの名無しさん
2014/03/02(日) 17:01:14.12 >367
理由は何ですか?
処理を実行してコンパイルエラーを
実際に見つけられているのです。
理由は何ですか?
処理を実行してコンパイルエラーを
実際に見つけられているのです。
370デフォルトの名無しさん
2014/03/02(日) 17:46:28.42 >>366はガバレッジとテストの関係について何か壮大に勘違いしてると思う
371デフォルトの名無しさん
2014/03/02(日) 18:15:04.54 なにがしかでも作業効率が改善できてるならいいんじゃないの
カバレッジ○○%達成できました!とか言って持ってきたら殴るけど
カバレッジ○○%達成できました!とか言って持ってきたら殴るけど
372デフォルトの名無しさん
2014/03/02(日) 19:06:23.64373デフォルトの名無しさん
2014/03/02(日) 19:12:20.55 話を聞いてないように見えるのはお前が基本を理解してないか
もしくは説明が下手だからだ
もしくは説明が下手だからだ
374デフォルトの名無しさん
2014/03/02(日) 19:31:34.78 あぁ、わかった。
例外が発生するテストの反対。
つまり例外が起きないテストと考えればいいわけだ。
ということはコードの最後に必ず成功するテストを入れた方がよさそうだ。
例外が発生するテストの反対。
つまり例外が起きないテストと考えればいいわけだ。
ということはコードの最後に必ず成功するテストを入れた方がよさそうだ。
375デフォルトの名無しさん
2014/03/03(月) 17:40:56.93 >>366
テストは、実際どのように使うのかというドキュメント性があり、また、テストを書くことによって設計が洗練されるということもあるので、ただ実行するだけのメソッドも意味は無くないと思うよ。
テストは、実際どのように使うのかというドキュメント性があり、また、テストを書くことによって設計が洗練されるということもあるので、ただ実行するだけのメソッドも意味は無くないと思うよ。
376デフォルトの名無しさん
2014/03/03(月) 19:28:18.39 書いたら保守せなあかん
簡単に書けるからと書くと、負の遺産になりかねないかも
変数の初期化関数とかは必要だからやってるのであって
それがないと困る箇所が本当は別にあるのではないだろうか
と妄想
簡単に書けるからと書くと、負の遺産になりかねないかも
変数の初期化関数とかは必要だからやってるのであって
それがないと困る箇所が本当は別にあるのではないだろうか
と妄想
378デフォルトの名無しさん
2014/04/06(日) 10:39:53.51ID:7IsAfKCx 2つ質問です。
テストを作ってから同じテストを別のオブジェクトにするとき
別のテストをつくりますか?
リファクタリングをするときソースを書き換えてもとに戻せなくならないように
リファクタリングをする前のファイルを保存しておきますか?
テストを作ってから同じテストを別のオブジェクトにするとき
別のテストをつくりますか?
リファクタリングをするときソースを書き換えてもとに戻せなくならないように
リファクタリングをする前のファイルを保存しておきますか?
379デフォルトの名無しさん
2014/04/06(日) 10:44:48.65ID:AUPUS+0I380デフォルトの名無しさん
2014/04/24(木) 16:15:35.14ID:Vet88S2u DHH(Ruby on Railsの作者)の"TDD is dead. Long live testing." (の訳)
http://d.hatena.ne.jp/yach/20140424#p1
http://d.hatena.ne.jp/yach/20140424#p1
381デフォルトの名無しさん
2014/04/24(木) 17:32:03.50ID:29x10p2Y 彼らは自分のエゴを満たすためにコードを書いてるんだから、
金色の牛を殺したりしたらダメだよね?(´・ω・`)
金色の牛を殺したりしたらダメだよね?(´・ω・`)
382デフォルトの名無しさん
2014/04/25(金) 16:52:52.53ID:TjzC2Fyr >>380
一行目から引いた
一行目から引いた
383デフォルトの名無しさん
2014/04/28(月) 12:40:27.17ID:97z81I41 Unit Test Frameworks
よんだけど、CPPUNITのことが全然書いてないので
CPPUNITの高度な使い方ってどうやってわかりますか?
よんだけど、CPPUNITのことが全然書いてないので
CPPUNITの高度な使い方ってどうやってわかりますか?
384デフォルトの名無しさん
2014/04/28(月) 15:56:01.02ID:GLzPd+IX385デフォルトの名無しさん
2014/04/28(月) 15:59:59.35ID:97z81I41 UnitTestFrameworks.pdf?
386デフォルトの名無しさん
2014/04/28(月) 16:19:09.38ID:GLzPd+IX つか、CppUnitの高度な使い方って何よ?
387デフォルトの名無しさん
2014/04/28(月) 16:20:09.84ID:GLzPd+IX388デフォルトの名無しさん
2014/04/28(月) 16:23:45.04ID:97z81I41 抽象クラスのテストを作って派生クラスのテストでテストしたいクラスを初期化する方法とか。
389デフォルトの名無しさん
2014/04/28(月) 16:24:20.94ID:97z81I41 UnitTestFrameworks.pdf
で検索すると出てくる著作権フリーの書籍。
で検索すると出てくる著作権フリーの書籍。
390デフォルトの名無しさん
2014/04/28(月) 16:27:49.28ID:GLzPd+IX391デフォルトの名無しさん
2014/04/28(月) 16:29:49.62ID:GLzPd+IX >>389
> UnitTestFrameworks.pdf
> で検索すると出てくる著作権フリーの書籍。
なんでずばっとURL書かないの?
俺が検索したら、O'REILLYの奴しか見つからなかったが。
これ、フリーじゃないだろ。
> UnitTestFrameworks.pdf
> で検索すると出てくる著作権フリーの書籍。
なんでずばっとURL書かないの?
俺が検索したら、O'REILLYの奴しか見つからなかったが。
これ、フリーじゃないだろ。
392デフォルトの名無しさん
2014/04/28(月) 16:30:35.56ID:97z81I41 >>391
O'REILLYはフリー
O'REILLYはフリー
393デフォルトの名無しさん
2014/04/28(月) 16:34:49.54ID:GLzPd+IX >>392
まさか、DRMフリーの意味がわからんのか?
まさか、DRMフリーの意味がわからんのか?
394デフォルトの名無しさん
2014/04/28(月) 16:46:40.37ID:sLIIqVQo PDF の各ページのフッタ見ればわかるけどフリーで配布されてるわけじゃないね
395デフォルトの名無しさん
2014/04/28(月) 16:51:24.25ID:97z81I41 なんかの記事で見たけど、無断配布を禁止するより
しない方が本が売れるからわざとそうしてるらしい。
しない方が本が売れるからわざとそうしてるらしい。
396デフォルトの名無しさん
2014/04/28(月) 16:56:55.25ID:GLzPd+IX >>395
> なんかの記事で見たけど、無断配布を禁止するより
> しない方が本が売れるからわざとそうしてるらしい。
どこの記事だよ?
O'reillyはDRMはフリーにしたけど、無断配布は禁止だろ。
> なんかの記事で見たけど、無断配布を禁止するより
> しない方が本が売れるからわざとそうしてるらしい。
どこの記事だよ?
O'reillyはDRMはフリーにしたけど、無断配布は禁止だろ。
397デフォルトの名無しさん
2014/04/28(月) 20:05:02.12ID:2i2SR7ZO なんだ釣りか
398デフォルトの名無しさん
2014/04/29(火) 10:12:01.42ID:gWfSfq0v 別にDRMフリーって無料配布を禁止してないわけじゃないんだけどなw
399デフォルトの名無しさん
2014/04/29(火) 10:15:16.74ID:FmOJz83e A. オライリー・ジャパンが販売する書籍(Ebookも書籍だと考えています)は、
コピー・フリーではありますがコピーライト・フリーではありません。
日本国の著作権法による保護を受けており、
著作権法で定められた範囲を超えた複製、頒布、
送信などは、
著作権法に抵触する恐れがありますのでご注意ください。
コピー・フリーではありますがコピーライト・フリーではありません。
日本国の著作権法による保護を受けており、
著作権法で定められた範囲を超えた複製、頒布、
送信などは、
著作権法に抵触する恐れがありますのでご注意ください。
400デフォルトの名無しさん
2014/04/30(水) 12:43:00.88ID:4gXDKzV2 著作権フリーだの無断配布だの意味不明な俺用語でかたるのがおかしい
401デフォルトの名無しさん
2014/05/08(木) 10:55:00.04ID:7mqxxUyE > なんか誤解してるっぽく見えるからそれをときたいだけなのに原理主義だの教条主義だの
> テスト厨だのって言われるのは心外っすね。。こちらだって別に銀の弾丸だと思ってないし、
> ただ誤った理解を訂正したいだけなのに。。
正しい理解が為されればTDDがdisられないという考えがすでに宗教。
だから原理主義言われるんだよ。
> テスト厨だのって言われるのは心外っすね。。こちらだって別に銀の弾丸だと思ってないし、
> ただ誤った理解を訂正したいだけなのに。。
正しい理解が為されればTDDがdisられないという考えがすでに宗教。
だから原理主義言われるんだよ。
402デフォルトの名無しさん
2014/05/08(木) 13:18:58.75ID:QEfRwn3W そうだな
TDDという概念自体が完全に誤ったもの
動いてるコードに手を触れないことこそが真理
TDDという概念自体が完全に誤ったもの
動いてるコードに手を触れないことこそが真理
403デフォルトの名無しさん
2014/05/08(木) 23:11:10.80ID:o3vM5nSH >>402
君、概念以前にTDDが何なのかすらよく分かってないでしょ
君、概念以前にTDDが何なのかすらよく分かってないでしょ
404デフォルトの名無しさん
2014/06/14(土) 11:06:05.15ID:7s4E5mM1 うんこ
405デフォルトの名無しさん
2014/07/21(月) 15:26:18.47ID:f2PpmiaZ オウンコ
406デフォルトの名無しさん
2014/07/21(月) 15:27:39.55ID:SvZi82X8 マンコ
407デフォルトの名無しさん
2014/08/06(水) 12:12:57.58ID:B/o+YfUv テスト鳥文
408デフォルトの名無しさん
2014/08/19(火) 01:55:15.38ID:TPeuIISX とりぶん?
409デフォルトの名無しさん
2014/09/29(月) 15:59:03.19ID:PXDdRZQD なぜ流行らなかったスレが死滅したな
410デフォルトの名無しさん
2014/09/29(月) 22:02:10.49ID:QcGUG2KQ あのスレのカオスっぷりを見れば
なぜ流行らなかったのか良く分かる
なぜ流行らなかったのか良く分かる
411デフォルトの名無しさん
2014/09/29(月) 22:59:57.93ID:yt38cp2j 2ちゃんねらーの脳みそではテストなんて書けるわけがなかったってことだ
412デフォルトの名無しさん
2014/09/30(火) 08:06:51.52ID:76NHBRqV TDDはともかくユニットテストまで否定かよ
恐れ入る
恐れ入る
413デフォルトの名無しさん
2014/10/01(水) 16:56:59.90ID:+PWQCZCn TDDやユニットテストを否定する奴って、経験ゼロなのに経験豊富な奴の知見や実感なんかを否定するよね。
あと、自分の嫌いなスクリプト言語をわざわざdisりに行く奴とメンタルが似てる気がする。
あと、自分の嫌いなスクリプト言語をわざわざdisりに行く奴とメンタルが似てる気がする。
414デフォルトの名無しさん
2014/10/01(水) 17:01:54.48ID:YKNuKmx4 自己紹介ですね
わかります
わかります
415デフォルトの名無しさん
2014/10/01(水) 22:34:56.80ID:0wPPS909416デフォルトの名無しさん
2014/10/02(木) 14:30:41.58ID:Ob3tDv0H >>415
http://blog.fieldnotes.jp/entry/2014/05/07/225129
> DHH氏のTDD is dead. Long live testing. (DHH)のエントリは、国内でもさまざまな議論を
> 呼び起こしました。ですが、そのセンセーショナルな見出しの影響もあり、「(TDDと同一視
> した上での)ユニットテストは不要」などの、ミスリードされた論調も見られます。
http://blog.fieldnotes.jp/entry/2014/05/07/225129
> DHH氏のTDD is dead. Long live testing. (DHH)のエントリは、国内でもさまざまな議論を
> 呼び起こしました。ですが、そのセンセーショナルな見出しの影響もあり、「(TDDと同一視
> した上での)ユニットテストは不要」などの、ミスリードされた論調も見られます。
417デフォルトの名無しさん
2014/10/02(木) 14:37:04.66ID:Ob3tDv0H418デフォルトの名無しさん
2014/10/02(木) 21:31:51.50ID:cEl3U7zN419デフォルトの名無しさん
2014/10/03(金) 11:17:58.55ID:MGOEkXEo420デフォルトの名無しさん
2014/10/03(金) 23:03:06.98ID:PD4heIQt >>419
>>413
> TDDやユニットテストを否定する奴って、経験ゼロなのに経験豊富な奴の知見や実感なんかを否定するよね。
>>380
> http://d.hatena.ne.jp/yach/20140424#p1
> TDDには感謝しているが、設計の教義としてはとっくに使わなくなっている。
とっくに使わなくなっている=現場で使えない=否定 だよね
>>413
> TDDやユニットテストを否定する奴って、経験ゼロなのに経験豊富な奴の知見や実感なんかを否定するよね。
>>380
> http://d.hatena.ne.jp/yach/20140424#p1
> TDDには感謝しているが、設計の教義としてはとっくに使わなくなっている。
とっくに使わなくなっている=現場で使えない=否定 だよね
421デフォルトの名無しさん
2014/10/06(月) 10:30:55.78ID:auIRFVse422デフォルトの名無しさん
2014/10/06(月) 22:45:50.57ID:h87PXXn5 TDDは慣習
423デフォルトの名無しさん
2014/10/12(日) 02:49:57.49ID:Go9nxJDi 組み込みなんだが
実機とTDDの解析環境でコンパイラが別になる
こういう場合は何をもってテストしたといえるんだ?
実機とTDDの解析環境でコンパイラが別になる
こういう場合は何をもってテストしたといえるんだ?
424デフォルトの名無しさん
2014/10/12(日) 10:48:18.63ID:0nnSDdGO 気になるのはコンパイラが別になるってことだけ?
それなら解析環境(?)でテストがパスすればテストしたと言えるだろう
コンパイラの差異については結合テストとシステムテストをパスすれば
問題ないと考えていいんじゃないの
それなら解析環境(?)でテストがパスすればテストしたと言えるだろう
コンパイラの差異については結合テストとシステムテストをパスすれば
問題ないと考えていいんじゃないの
425デフォルトの名無しさん
2014/10/12(日) 11:10:47.48ID:LjQH95WZ 最適化のバグでひどい目に遭ってからそのへんの互換性は信用出来ないと思い知ったわけだが
それでもテストしないよりはマシ
それでもテストしないよりはマシ
426デフォルトの名無しさん
2014/10/12(日) 15:18:45.36ID:Go9nxJDi >>424
他にも色々ある
というか俺の職場の装置のソースがクソなんだろうけど
パラメータが多すぎて全部網羅するのは無理
TDDでいうテストってのはどういうイメージなのか
ネットや本を見てもピンとこない
x+1の関数に1をいれて2になりましたとか
そんな説明は求めてないのだが
他にも色々ある
というか俺の職場の装置のソースがクソなんだろうけど
パラメータが多すぎて全部網羅するのは無理
TDDでいうテストってのはどういうイメージなのか
ネットや本を見てもピンとこない
x+1の関数に1をいれて2になりましたとか
そんな説明は求めてないのだが
427デフォルトの名無しさん
2014/10/12(日) 21:43:25.28ID:0nnSDdGO >>426
TDDがどんなものか、何の略かまでは分かる?
クソなソースになっているのならどうしようもないだろう
それにパラメータ多すぎて全部網羅するのは無理っていうけどさ
TDD以前にカバレッジはどうすんのよ
組み込みでC0すらパスしないような状況になってたらかなりマズイ気がするが
TDDがどんなものか、何の略かまでは分かる?
クソなソースになっているのならどうしようもないだろう
それにパラメータ多すぎて全部網羅するのは無理っていうけどさ
TDD以前にカバレッジはどうすんのよ
組み込みでC0すらパスしないような状況になってたらかなりマズイ気がするが
428デフォルトの名無しさん
2014/10/12(日) 22:13:02.74ID:tcHpyVOC >>426
TDDで目指すのは小さなフィードバックループを作ること
開発者が安心を得つつコーディングできること
安心というのは、ここでいうと例えば「実機で確認されていないコード・機能をベースに、それに依存したコードをさらに積み上げていくこと=不安な状態」的な
何をもってTDDでいうテストとなるか、って定義は割とどうでもいい気がする
>>423の環境で何をどうすれば開発者が安心できるか、作業のループを小さくしてフィードバックを得られるか、が大事
「これが動けばこのコードは正しい」っていう一般的なテストがあって
それが自動化できてさらにフレームワークで成否確認までできるなら十分
そうでないなら何か妥協したテストでやるしかない
・実機と検証(解析?)環境がどの程度異なっていて、開発者は検証環境をどの程度信頼できるのか
・どの程度の頻度で実機テストができるのか
とかが重要なのでは?
ここらへんは現場を見てないので多分他人には分からない所。
仮に検証環境があまり信頼できないのであれば、そこだけでどれだけ完璧な開発プロセスをこなしてもムダになる危険性が残るだろうから
実機での確認をいかに頻繁に行ってフィードバックを得られるか、が重要になる
そうすると一般的なTDDは実践しづらくなると思う。
けど実機でのテストを自動化できるのであれば多少は導入できるかも?
組み込みとか知らんのでとんちんかんなこと言ってたらすまん
TDDで目指すのは小さなフィードバックループを作ること
開発者が安心を得つつコーディングできること
安心というのは、ここでいうと例えば「実機で確認されていないコード・機能をベースに、それに依存したコードをさらに積み上げていくこと=不安な状態」的な
何をもってTDDでいうテストとなるか、って定義は割とどうでもいい気がする
>>423の環境で何をどうすれば開発者が安心できるか、作業のループを小さくしてフィードバックを得られるか、が大事
「これが動けばこのコードは正しい」っていう一般的なテストがあって
それが自動化できてさらにフレームワークで成否確認までできるなら十分
そうでないなら何か妥協したテストでやるしかない
・実機と検証(解析?)環境がどの程度異なっていて、開発者は検証環境をどの程度信頼できるのか
・どの程度の頻度で実機テストができるのか
とかが重要なのでは?
ここらへんは現場を見てないので多分他人には分からない所。
仮に検証環境があまり信頼できないのであれば、そこだけでどれだけ完璧な開発プロセスをこなしてもムダになる危険性が残るだろうから
実機での確認をいかに頻繁に行ってフィードバックを得られるか、が重要になる
そうすると一般的なTDDは実践しづらくなると思う。
けど実機でのテストを自動化できるのであれば多少は導入できるかも?
組み込みとか知らんのでとんちんかんなこと言ってたらすまん
429デフォルトの名無しさん
2014/10/13(月) 10:22:06.70ID:eF/9rJ3u >>428
ありがとう
指摘はとても現実を捉えていて救われた思いがした
現実は顧客の装置の一部のデバイスを作ってるのだけど
検証環境が貧弱(または無い)ので
仕様変更箇所のみを検査するみたいな対応になってしまってる
ここ数年リストラで人減りまくったのと
士気の低下なのかテスト不足と思われる市場不良が多発
「安心」と言う意味では
徹底的な回帰テストをすることが大事だとおもう
問題はどうやってそれをやるかなのだけど
ありがとう
指摘はとても現実を捉えていて救われた思いがした
現実は顧客の装置の一部のデバイスを作ってるのだけど
検証環境が貧弱(または無い)ので
仕様変更箇所のみを検査するみたいな対応になってしまってる
ここ数年リストラで人減りまくったのと
士気の低下なのかテスト不足と思われる市場不良が多発
「安心」と言う意味では
徹底的な回帰テストをすることが大事だとおもう
問題はどうやってそれをやるかなのだけど
430デフォルトの名無しさん
2014/10/14(火) 11:44:30.46ID:+LKn0wPu >>428
> 実機での確認をいかに頻繁に行ってフィードバックを得られるか、が重要になる
> そうすると一般的なTDDは実践しづらくなると思う。
組み込みの種類にもよるだろうけど、対象物をmock(あるいは、シミュレータ)で作って
実機なしに開発・テストできるようにするのが、自動テストをやる派の中では一般的だと思う。
まあ、中には「現地に行かないと、プログラムの起動すらできないのでテストできません」とか
言う奴もいるんだが。
> 実機での確認をいかに頻繁に行ってフィードバックを得られるか、が重要になる
> そうすると一般的なTDDは実践しづらくなると思う。
組み込みの種類にもよるだろうけど、対象物をmock(あるいは、シミュレータ)で作って
実機なしに開発・テストできるようにするのが、自動テストをやる派の中では一般的だと思う。
まあ、中には「現地に行かないと、プログラムの起動すらできないのでテストできません」とか
言う奴もいるんだが。
431デフォルトの名無しさん
2014/10/15(水) 22:41:20.51ID:2mUB6yWE UARTなりCANなりイーサネットなり
この部分は完璧に通信できるものとして実装するでおk?
この部分は完璧に通信できるものとして実装するでおk?
432デフォルトの名無しさん
2014/10/16(木) 10:27:00.84ID:qnIoh31O エラーのシミュレーションはするべき
433デフォルトの名無しさん
2014/10/16(木) 13:38:30.32ID:6zTGqYum 異常系の仕様が定義されていればそれに対応する
それ以外は単体テストの範囲ですらない
それ以外は単体テストの範囲ですらない
434デフォルトの名無しさん
2014/10/16(木) 13:56:42.86ID:+afjrAmT435デフォルトの名無しさん
2014/10/16(木) 17:14:14.25ID:CsOFEKWu まるで公務員の主張だな
436デフォルトの名無しさん
2014/10/16(木) 19:29:56.64ID:z4r7htJV 一緒に仕事したくねーな
437デフォルトの名無しさん
2014/10/16(木) 21:49:07.00ID:6zTGqYum 縦割りはそういうもの
■ このスレッドは過去ログ倉庫に格納されています
