zimathon blog

フルリモート開発エンジニア

テスト駆動開発入門に行ってきました(ずーっと前の話)

ずーっと前に参加したテスト駆動開発入門

 

和田さん(@t-wada)の話した内容を、反省(チームに全く導入できていない)含めて残しておきます。

 

TDDの目的

動作する綺麗なコード!!

 

 

TDDのサイクル

1 次の目標を考える

2 目標を示すテストを書く

3 テストを実行して失敗させる

4 目的のコードを書く

5 3で書いたテストを成功させる

6 テストが通るまでリファクタリングを行う

7 1~6を繰り返す

一つ一つ片付けていく

 

TDDのこころ

・1つずつ少しづつ段を小さく

・素早くまわす(フィードバックサイクル)

・自分が最初のユーザ

自分が作ったメソッドを自分が利用せず提供するケースが存在する

そのままでは自分のメソッドの改善点に気づかない

・不安をテストに

手が止まるときは何が問題なのかを考える

・命綱を編む

 

TDDのメリット

最大の理由は心理的なもの

 

応用

テストの無いコードが既にたくさんある

#レガシーコード改善ガイド

既にデータの入ったデータベースがある

#データベースリファクタリング

 

FragileTests

SlowTests

#xUnitTestPatterns

#ソフトウェアテスト技法ドリル

#実践駆動開発

 

一つ覚えて帰った

f:id:sisijumi:20140215234925p:plain