#devlove2012a 2012/12/16 DevLOVE2012 Day2 13:00〜 テストに開発をもっと駆動させたい

DevLOVE 2012 http://devlove2012.devlove.org/ 諸橋恭介氏 ★テストに開発をもっと駆動させたい 続きを読む
0
みよひで画伯 @miyohide

諸橋「コードを書いて動かしたいという『基本的な』欲望に対する答えとして、テストを書くという方法がある。もちろん、テストを書かずとも、irbとかmainを書くとかいろいろな方法はある。」#devlove2012 #devlove2012a

2012-12-16 13:11:15
もう疲れちゃって 全然動けなくてェ...(💉x5) @kamekoopa

インタラクティブシェル的なものがあれば簡単なコードは動かせるけど、ちょっと複雑なものになるとダメ #devlove2012a

2012-12-16 13:11:30
みよひで画伯 @miyohide

諸橋「だが、irbなどで実行出来るのは単純なコードであって、複雑になると結構しんどい。」#devlove2012 #devlove2012a

2012-12-16 13:11:52
yonet77 @yonet77

"コードを書いたら動かさずにはいられない..." -> その(本能的)欲求に応えるためには「テストを書く」ってのは良いよね! #devlove2012a

2012-12-16 13:12:38
みよひで画伯 @miyohide

諸橋「しんどさの部分。例えばデータなどの準備。2回動かしても大丈夫?実行結果の確認は目視とか。」#devlove2012 #devlove2012a

2012-12-16 13:13:08
Takuo Doi @takuo_doi

テストは開発しやすくするためのもの。#devlove2012 #devlove2012a

2012-12-16 13:13:19
Atsuo Fukaya @fukayatsu

データの準備・結果の目視、実行順に注意。手動テストしんどい #devlove2012a

2012-12-16 13:13:54
もう疲れちゃって 全然動けなくてェ...(💉x5) @kamekoopa

データの準備とか、結果の確認(目視)とか、実行順序とか気にしないといけない→テスティングフレームワークはそういう面倒くさいものをうまいことやってくれる #devlove2012a

2012-12-16 13:14:26
yonet77 @yonet77

"データを準備する","結果を目視する","実行順通りに動かす" を毎回手動でやるのはしんどいよね... -> "そこでテスティングフレームワークですよ" #devlove2012a

2012-12-16 13:14:45
せみやしん @shin_semiya

@sue445 さんのツイートを見ていると、 #devlove2012a は多分平行次元に2つ存在する。私ももうひとつの方に行きたい。

2012-12-16 13:14:51
みよひで画伯 @miyohide

諸橋「そこで登場するのがテスティングフレームワーク。Arrange(データやコンテキストを用意)、Act(それぞれ独立に動かし),Assert(結果のチェック)を行ってくれる」#devlove2012 #devlove2012a

2012-12-16 13:14:52
みよひで画伯 @miyohide

諸橋「テスティングフレームワークは、コード実行を助けてくれる。」#devlove2012 #devlove2012a

2012-12-16 13:17:15
みよひで画伯 @miyohide

諸橋「テスティングフレームワークは、ちょっと大きいコードを自分が狙ったところだけ動かすことができるのが大きなメリット。」#devlove2012 #devlove2012a

2012-12-16 13:18:16
もう疲れちゃって 全然動けなくてェ...(💉x5) @kamekoopa

テスティングフレームワークはそこそこの大きさのコードを手早く、狙ったところだけ動かせるのがメリット #devlove2012a

2012-12-16 13:19:20
Atsuo Fukaya @fukayatsu

*think* : 何をするか・どうするか #devlove2012a

2012-12-16 13:20:14
yminowa @y_minowa

TDDを浸透させるための説得文句として「事前条件は?結果は?どういう作り方が?」ってのは予め当たり前のように考えているわけだから、そのプロセスでテストコード書いとくと後の検証便利よ。ってのはいいかなと思います。 #devlove2012 #devlove2012a

2012-12-16 13:21:32
みよひで画伯 @miyohide

諸橋「コードを書くために考えることは二種類有る。『何をするか』と『それを実現するためにはどうするか』」#devlove2012 #devlove2012a

2012-12-16 13:22:19
みよひで画伯 @miyohide

諸橋「『何をするか』と『実現方法を考える』ことはぐるぐる行ったり来たりしている感じ。」#devlove2012 #devlove2012a

2012-12-16 13:22:25
もう疲れちゃって 全然動けなくてェ...(💉x5) @kamekoopa

ユーザはシステムに何をしてほしいか、開発者としてオブジェクトにどうして欲しいか #devlove2012a

2012-12-16 13:22:31
みよひで画伯 @miyohide

諸橋「はじめる!Cucumberは達人出版会で販売中です。http://t.co/3sLfb0If#devlove2012 #devlove2012a

2012-12-16 13:23:33
みよひで画伯 @miyohide

諸橋「『何をするか』をテストとして書く。」#devlove2012 #devlove2012a

2012-12-16 13:24:04
みよひで画伯 @miyohide

何をするかをテストとして落とし込むためにまた考えて・・・って無限ループにハマるのが俺なんだけど、それって俺だけ? #devlove2012a

2012-12-16 13:24:52
すえなみ @a_suenami

よくある検索フォームを用いて具体例。楽しみ。 #devlove2012a

2012-12-16 13:25:45
yonet77 @yonet77

(ユーザ|開発者)として(システム|オブジェクトetc)に「なにを」して欲しいのか考える -> その「なにを」するかをテストとして書く。「どうやって」するかを考えて実装する..というお話。 #devlove2012a

2012-12-16 13:25:48