tdd のこころ @ agile samurai base camp
DESCRIPTION
at Agile Samurai Base Camp 2013.12.08(Sun) http://www.agilesamuraibasecamp.org/TRANSCRIPT
TDDのこころ
和田 卓人 (a.k.a id:t-wada or @t_wada)Dec 8, 2013 @ Agile Samurai Base Camp
和田 卓人id: t-wada@t_wadagithub: twada
よろしくおねがいします
こんな風景
荒みきったコード
疲弊しきった現場
爆弾処理のようなリリース
なぜこうなってしまうのか?
http://blogs.itmedia.co.jp/hiranabe/2012/09/rightwing-and-leftwing-of-agile.html
左サイドだけでは点は取れない
誰がシステムを作り続ける
のか
TDDとは?
最後に残った4つの章では、私が「問答無用で実践すべき」だと考えているアジャイルなソフトウェアエンジニアリングのプラクティスを紹介していきたい。具体的には次の4つだ。
アジャイルなプログラミング
•第12章 ユニットテスト•第13章 リファクタリング•第14章 テスト駆動開発•第15章 継続的インテグレーション
「動作するきれいなコード」、ロン・ジェフリーズのこの簡潔な言葉は、TDD(テスト駆動開発)の目標である。動作するきれいなコードは、あらゆる理由で価値がある。
─ Kent Beck
動作する、きれいなコードへ
きれい
汚い
(すぐには)動かない 動作する
二つの道がある
TDDのサイクル1. 次の目標を考える2. その目標を示すテストを書く3. そのテストを実行して失敗させる(Red)4. 目的のコードを書く5. 2で書いたテストを成功させる(Green)6. テストが通るままでリファクタリングを行う(Refactor)
7. 1~6を繰り返す
きれい
汚い
(すぐには)動かない 動作する
Red
Green
Refactoring
TDDと黄金の回転
TDDのこころ
一つずつ少しずつ 段を
小さく
ひとりずつ対処する。
複数を相手にしない。
すばやくまわす
自分が最初のユーザ
不安をテストに
命綱を編む
•即座にフィードバックを得るため•書いたコードに自信を持つため•これから書くコードに自信を持つため
TDD や Developer Testing にソフトウェア工学的なメリットはいろいろあるけれど、最大の理由は工学的なものではない。最大の理由は心理的なもの
テストは目的ではなく手段
TDDの真の目的
健康
変化に対応するのは健康体のコード
変化に対応するのは健康体のチーム
不安の克服健康の維持
プロとしての嗜みへ
ご清聴ありがとうございました