Tech Excellence Conferenceというオンラインカンファレンスが先日あって、ケント・ベックがTDDをテーマに講演とQ&Aをしました。
なお他の講演者のものも含め、YouTubeで視聴できます。英語字幕もつくし、ライブ視聴者のコメントも見られて楽しいです。
ケント・ベックの話を聞きながら、自分が気になったところをメモしました。聞き逃し、聞き間違いがありますし、自分自身の興味関心に偏り、自分の解釈も混じっています。興味を引かれたら、ぜひ動画を見てみてください。
- 10歳の頃の話 テープでプログラムを読み込み、期待する結果もテープで読ませて、比較するプログラムを読ませた
- Smalltalk was personal programming environment
- バカなことを思いついて、コストが小さいなら、やってみろ。コストが小さくて誰もやったことがないことが実はバカじゃなかったらいいよね
- 1997年JUnitをErich Gammaと書いて、Martin Fowlerに渡したら、めっちゃ流行った
- TDDの誕生は1995年、JUnitのせいで再発見、注目された
- TDD本の表紙はカテドラル。ローカルの個別の判断が、全体としては統一された一貫した成果になるというイメージ
- GOOS本でClassical TDDが終わった
- Canon TDD。これが唯一のやり方ではない。ここから発展させて自分のものにする。しかし、これとまったく違うものはTDDではない
- トップダウンかボトムダウンかとよく質問されるが、どちらでもない。既知から未知へ、一歩ずつ進むもの
- モックについて。モックは一時的な代替品だった。テストに使うなら、モックなしで書けることを考えてみる
- これはテストの12の側面?要素?を図示したもの。Test Desiderata。Desiderataという言葉はないよ
- TDDによって得られるであろう効果、影響
- TDDはワークフローであってテスティング/設計/プログラミング技法ではない、とも言える…… いやいや、TDDはテスティング/設計/プログラミング技法だ。ただ技法を用いても、いい成果が自動的に得られるわけではなくて、よい判断をしないといけない
- QAは絶対必要。QA部門は絶対不要。
動画はこちらです