「やる夫で学ぶTDD」一日目 #ytdd

某SIerで if(true == false) のような神コードをインスペクションし、廃人化しているやらない夫こと太田さんのTDDツィートが逸品すぎるのでトゥギャってみました。
24
Kenichiro Ota @oota_ken

一人で黙々とTDDやっても面白くないので、独り言で対話形式でTDDやってみることしました。題して、「やる夫で学ぶTDD」

2011-02-02 23:27:54
Kenichiro Ota @oota_ken

やる夫:有名エロゲメーカーアリスになぜかテスターとして入社できたダメ人間。鬼畜王ランス11-13 (仮称)ではたんたる打鍵テスターだったが、なんと、鬼畜王ランス14ではあこがれのプログラマーとして参加することに。

2011-02-02 23:29:10
Kenichiro Ota @oota_ken

やらない夫:某SIerで if (true == false) のような神コードをインスペクションし、廃人化しているなんちゃってプログラマ兼テスト担当者 やる夫のチャット友達

2011-02-02 23:30:22
Kenichiro Ota @oota_ken

やる夫:「やらない夫!今度初めて鬼畜王ランス14 おっぱいがいっぱいでプログラマーになれたお!C#でActiveXバリバリの最新作だお!」

2011-02-02 23:31:47
Kenichiro Ota @oota_ken

やらない夫:おめでとう。でもなんだか浮かない顔しているな。

2011-02-02 23:32:32
Kenichiro Ota @oota_ken

やる夫:実は毎日バグばっかりだしちゃって、ダントツバグばっかりで、リーダーにも怒られ、元のテスター仲間もやる夫のことおこり始めたお

2011-02-02 23:33:22
Kenichiro Ota @oota_ken

やる夫:凹んでいるやる夫に先輩がこの本くれたお。

2011-02-02 23:33:59
Kenichiro Ota @oota_ken

やらない夫:ふむ、ソフトウェアテスト技法ドリル・・・な、なんだってー!?これは日本のテスト界の重鎮といわれる秋山先生の本だぞ。

2011-02-02 23:34:46
Kenichiro Ota @oota_ken

やる夫:先輩はC++の難しいプログラミングの本とかたくさん持っているんだけど、グラフィックライブラリとかジオメトリエンジンとかそういうの前にまずこれを学んでおけってくれたお

2011-02-02 23:35:50
Kenichiro Ota @oota_ken

やる夫:でも、なんでプログラマーにテスト技法なんだお?テスト技法はやるおにテストケースとか渡していたテスト専門家に必要なものでスーパープログラマーのやる夫にはそんなに必要ないお!

2011-02-02 23:36:39
Kenichiro Ota @oota_ken

やらない夫:そうかな?やる夫、自分で作った関数やクラスのテストはしない?

2011-02-02 23:37:14
Kenichiro Ota @oota_ken

やる夫:あ、そういうのはするお。適当にデータ入て叩いてテストするお。でも、最近は、先輩がCPPUnitとかいう自動実行してくれるツール教えてくれて、それで楽しているお

2011-02-02 23:38:04
Kenichiro Ota @oota_ken

やらない夫:ということは、やる夫もテストしているってことじゃないか?手動でゲームを進めるだけがテストじゃなくて、プログラマもテストするんだよ。で、やる夫がバグバグなプログラムを作ってしまっている理由は単にプログラミング技術が低いということだけじゃなくて、

2011-02-02 23:39:14
Kenichiro Ota @oota_ken

やらない夫:適切なテスト技法を使っていないところにもある。

2011-02-02 23:40:11
Kenichiro Ota @oota_ken

やる夫:テストに技法なんてあるのかお?しらみつぶしにやるだけだと思っていたお!

2011-02-02 23:40:48
Kenichiro Ota @oota_ken

やらない夫:それじゃ、やる夫も疲れちゃうし、バグも効率的には見つけられないだろ。バグを適切に見つけ、かつ楽にテストするための方法が簡単に言うとテスト技法だ。

2011-02-02 23:43:21
Kenichiro Ota @oota_ken

やる夫:それで怒られないなら、やる夫頑張ってみるお。どうせならプログラムつくりながら勉強したいんだけど、やらない夫一緒に付き合ってくれるかお。

2011-02-02 23:44:37
Kenichiro Ota @oota_ken

やらない夫:ああ、ペアでプログラミングすると上達するんだ。また、テスト自体を設計や実装の促進として使うTDDという設計手法があるんだけど、それも一緒に勉強してみようか。

2011-02-02 23:45:27
Kenichiro Ota @oota_ken

やる夫:よく分からないけどやるお!

2011-02-02 23:45:47
Kenichiro Ota @oota_ken

やらない夫:じゃあ、まずはテストの世界できわめて伝統的な「マイヤーズの三角形」からいってみようか。三辺を入力してもらい、それが、正三角形か、二等辺三角形か、不等辺三角形か、三角形ではないかということを判定するものだ。

2011-02-02 23:47:55
Kenichiro Ota @oota_ken

やる夫:そんなのスーパープログラマーのやる夫には簡単だお!

2011-02-02 23:48:15
Kenichiro Ota @oota_ken

やらない夫:まあ、待て、実はそんな簡単じゃないんだ。まずは、三辺を設定し、それが正三角形かどうかを判定するという最も簡単なところから行かないか?

2011-02-02 23:49:09
Kenichiro Ota @oota_ken

やる夫:そんなの簡単だお。すぐ実装するお。 a == b == cをプログラムで書けばいいお!

2011-02-02 23:49:43
Kenichiro Ota @oota_ken

やらない夫:まて、まずはもっと具体的な値から行かないか? 三辺が 1 の三角形は?

2011-02-02 23:50:31
1 ・・ 4 次へ