誰が為のテスト
- 千里の道も一歩から -
和田 卓人 (a.k.a id:t-wada)
Jun, 22 2009 @ DevLOVE
自己
紹介
自己紹介
名前: 和田 卓人 (わだ たくと)
ブログ: http://d.hatena.ne.jp/t-wada
メール: takuto.wada@towersquest.jp
Twitter: http://twitter.com/t_wada
タワーズ・クエスト株式会社
取締役社長
これまで書いたもの
WEB + DB PRESS
vol.35 「実演! テスト駆動開発」
vol.37 「実演! リファクタリング」
vol.42 「REST特集」
vol.49 「DRY特集」
LifeHacks PRESS
オープンソースマガジン(リレーコラム)
他いろいろ
gihyo.jpの連載
『[動画で解説]和田卓人の テスト駆動開発 講座』
http://gihyo.jp/dev/serial/01/tdd/
全20回すべて動画付き解説
ニコニコ動画でも見れます
WEB+DB過去記事の特設サイトと動画も
デベロッパーテスティング・ライブ - 自信を持ってコードを書くための
心・技・体 -
【徹底討論】テストなんていらない?! -テストを、どこまでやる
べきか?
パネルディスカッション:テストを行うこと、テストを続けること
デブサミ
よろしく
おねがい
します
大事なこ
とから
感謝
私をここに
立たせてくれた
全てのひとに
30分で
こころを
持ち帰って
もらいたい
2009年
5月30日
papanda
さん達と
打ち合わせ
受け取った
思い
伝えたい
こと
まず己から変わる
自分と向き合う
鍛錬する
背中を見せる
2000年
生意気な
大学生
アナパタ
勉強会
@OGIS
2001年
完璧な
設計を
求めて
敗北
2002年
2003年
大規模
プロジェクト
ひたすら
読書
Fowlerの思い
 
UMLのエッセンス
Refactoring
XPシリーズ
深夜の
写経
masarl
さん
KentB
生原稿
TDD の
会得へ
2004年
7月1日
チーム
かくたに
全てを
ぶつける
2004年
以前の私へ
私たちの手を
止めるものは
何か
不安
開発方法論は
不安克服の
歴史
TDDもまた
不安克服の
手法です
TDDとは
1. テストを書き
2. そのテストを実行して失敗させ(Red)
3. 目的のコードを書き
4. 1で書いたテストを成功させ(Green)
5. テストが通るままでリファクタリングを
行う(Refactor)
6. 1∼5を繰り返す
テストの分類
Developer
Testing
開発者
開発促進
Customer
Testing
顧客
(のロール)
進捗管理
QA
Testing
品質保証
担当者
(のロール)
品質保証
「テスト」
Developer Testingとは
•プログラマの
•プログラマによる
•プログラマのための
•プログラムとしてのテストを書きながら
•開発を行っていく手法
フィードバック
自分のバカさと
向き合う
•即座にフィードバックを得るため
•書いたコードに自信を持つため
•これから書くコードに自信を持つため
Developer Testing に
ソフトウェア工学的なメリットはいろいろある
けれど、最大の理由は工学的なものではない。
最大の理由は心理的なもの
TDDの
こころ
動作する、きれいなコードへ
きれい
汚い
(すぐには)動かない 動作する
二つの道がある
一つずつ
少しずつ
ひとりずつ
対処する。
複数を相手
にしない。
すばやく
まわす
不安を
テストに
きれい
汚い
(すぐには)動かない 動作する
Red
Green
Refactoring
TDDと黄金の回転
なぜリファ
クタリング
するのか?
TDDの
真の目的
私たちが
気付くのは
いつ?
フィードバック
学びを
否定しない
計画する
設計する
計画し続ける
設計し続ける
テストは目的
ではなく手段
TDDは品質を
保証しない
TDDは品質を
向上させる
TDDは
テスト技法では
ない
変化を常態と
する
TDDの
真の目的
健康
変化に対応す
るのは健康体
のコード
変化に対応す
るのは健康体
のチーム
不安の克服
健康の維持
テストのない
コードが沢山
あるんだけど
誰が為の
テスト?
いまの自分
未来の自分
いまの仲間
未来の仲間
一人でも
始められる
テストは人
の為ならず
おわりに
テストはスキルです
• テストやTDDはスキルです。つまり…
• 才能ではなく、習得可能です
• 量は質に転化します
• 写経!!
ご清聴
ありがとう
ございました

DevLOVE TDD - For Whom the Tests Run