はじめまして、和田卓人(わだ たくと)といいます。
このたびgihyo.jpにて、テスト駆動開発(TDD)の連載をすることになりました。
筆者は『WEB+DB PRESS Vol.35』の特集1「実演! テスト駆動開発」と、『WEB+DB PRESS Vol.37』の特集1「実演! リファクタリング」を執筆させていただいた際に、同時に動画企画を行わせていただきました。おかげさまで「実演! テスト駆動開発」と「実演! リファクタリング」は、本誌および特設サイトの企画として、たいへん多くの方にご覧いただき、多数のご意見をいただきました。頂いたご意見の中には、以下のような意見がありました。
- もう少し初心者にもわかりやすく
- もっと突っ込んだ内容をもう少し詳しく
- もう少し実践的に
特集をお読みくださった方々からの「もっとわかりやすく、かつ詳しく知りたい」という、ありがたいお言葉にお応えするために、そして自分がこれまでさまざまな方から教えていただいたことを伝えるために、gihyo.jpで動画企画の連載をさせていただくことになりました。
第一弾としては、フィードバック募集サイトに応募いただいた方にお集まりいただき、テスト駆動開発について講義形式でお話をさせていただいた内容を、動画としてご覧いただきたいと思います。
講義にご参加いただいた方のプロフィール
家永英治さん
- お仕事内容:
- 仕事では、プロセス指向フレームワークの開発/メンテナンスに2年半以上関わっています。プログラミング言語はJava。
- TDDとの関係:
- プロジェクトの初期段階に和田さんをコーチに迎えて、アジャイルの手法を積極的に採用しました。当然、TDDも必須要素でした。
現在、私がメンテナンスを担当しており、小さな修正を行う際は、過去にTDDで作成されたテスト網がセーフティーネットとして働き、いつも勇気づけられています。和田さん、過去にこのプロジェクトでテストを書いてくださったみなさん、サンクスです:-)
クロコさん
年齢は30歳。開発仕事暦は5年、TDD暦は1年~半年。
宮澤信吾さん
株式会社ラグザイアでシステム開発を行っています。
- TDDとの関係:
- 案件でTDDを導入し、その威力に衝撃を受けました。今回はTDDというよりもTDDで作成したテストのメンテナンスや共有方法について興味を持っていたので、参加させていただきました。
MIZOさん
- お仕事内容:
- 田舎で細々と、システム開発の基盤チームをサポートしています。大規模システムから小規模なものまで、いろいろなシステムに関わっています。
- TDDとの関係:
- 和田さんと会うまでは、TDDは机上の知識でした。でも、和田さんと会って、実地で教わり、現在自分で作るプログラムは、TDDで作ってます。とにかく、TDDは本人が安心できる、そんなふうに思ってます。今作っているプログラムもTDDで作ってます。
テスト駆動開発は、まだ馴染みがなかったり、誤解されている面もある技法だと考えています。テスト駆動開発を知るにはどうすればよいか、第一には自分で写経してみることです。第二には経験者の話を聞いてみることです。本連載は第二の点からみなさんのお役に立てればと考えています。
フィードバックはまだ募集をしていますので、WEB+DB PRESSの記事のこと、本連載のこと、何でも忌憚ないご意見をいただければと思います。
連載ロードマップ(予定)
講義編 |
第1回(今回) | 連載を始めるにあたって |
第2回(2007/10/30) | 「テスト駆動開発」とは何か? |
第3回(2007/11/02) | 「テスト」という言葉について ――Developer Testing、Customer Testing、QA Testing |
第4回(2007/11/06) | ナントカテスト ――ユニットテスト、単体テスト、機能テスト、結合テスト、受け入れテスト |
第5回(2007/11/09) | 進捗管理としてのテスト |
第6回(2007/11/13) | 「写経」でTDDの手順や書き方を学ぶ |
第7回(2007/11/16) | 「経験者」からTDDのリズムを学ぶ ――セミナー、ペアプログラミング、レビュー、動画 |
第8回(2007/11/20) | テスト駆動開発の「サイクル」 ――まず受け入れテストで土台を作る |
第9回(2007/11/23) | テスト駆動開発の「サイクル」 ――次にテストリストでToDoを洗い出し、レッド、グリーンでサイクルを回す |
第10回(2007/11/27) | テストの最小単位は不安 |
第11回(2007/11/30) | テストの資産価値 |
第12回(2007/12/04) | モックオブジェクト技法 |
ディスカッション編 |
第13回(2007/12/14) | 私のTDDへの目覚め |
第14回(2007/12/18) | テスト厨、TDDの壁、DBやGUIのテスト |
第15回(2007/12/20) | 追い込まれたときのテスト |
第16回(2007/12/21) | プログラミング言語とTDDは、どちらを先にマスターすべきか? |
第17回(2007/12/25) | リファクタリングをどこまでするか、いつやめるか |
第18回(2007/12/26) | 公布済みインタフェースのリファクタリング |
第19回(2007/12/27) | チーム開発での規約・規律 |
第20回(2007/12/28) | テストコードの重複はアリかナシか |
※最終週は毎日更新の予定です。