SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

テスト駆動開発を実習形式で体得する
「TDD Boot Camp 仙台」レポート

  • このエントリーをはてなブックマークに追加

 2011年7月2日(土曜日)に、デブサミ2011東北との併催という形で、TDDBC仙台が開催されました。TDD Boot Camp(TDDBC)とは、テスト駆動開発(Test Driven Development)について、座学だけでなく、実習形式で手を動かして体得することを目的としたイベントです。

  • このエントリーをはてなブックマークに追加

基調講演

 和田卓人さんの基調講演では、TDDBC仙台の開催経緯、TDDBCについての紹介などの後、TDDの背景、サイクル、こころ、プロフェッショナルとしてこの先生き残っていくためになど、TDDを軸として、示唆に富んだ講演となりました。

TDDBCについて

 TDDBCの名前の由来は、ビリーズブートキャンプからとったそうです。

 ペアプログラミングとチーム全員のコードレビューはよく言及されるが、実際にやった経験のある人は少ない。その両方を体験できるのがTDDBCであると紹介されました。その意味で、午後の演習の方が基調講演より大事だといいます。

 また、TDDBCの開催実績と開催予定が示され、各地で活発にTDDBCが開催されていることも紹介されました。

TDDの背景

 TDDを語るには、まず地ならしが必要だそうです。それは、「テスト」という言葉で思い浮かべるイメージ、範囲が1人1人異なり、テスト駆動開発の議論がかみ合わないことがよくあるため。誰が、何のためにという目的に立ち返ると、「開発者のテスト」「顧客視点のテスト」「品質保証のテスト」と、再分類できますとのことでした。

現代ソフトウェア開発の三本柱

 次に、現代のソフトウェア開発で重要な3つのスキルとして、「バージョン管理」「テスティング」「自動化」があげられました。3つのうちで一番大事なのはバージョン管理ですが、今回は対象外であること、TDDBCで取り上げるのは2つ目のスキルとしてあげられた、テスティングであることが語られました。

 なお、バージョン管理と同じく対象外ではありますが、3つめのスキルである自動化について、「自動化して、人間にしかできないことに時間を使いましょう」と語っていたのが印象的です。

 3本柱、三種の神器というと、1つ欠けてもなんとかなりそうなイメージがありますが、実際には三脚椅子のように、3つのスキルが支え合っている、一本でもなくなると駄目になる重要なスキルであると強調していました。

動作する、きれいなコードへ

 続いて、和田さんは、動作する、きれいなコードについて語りました。

 テスト駆動開発に至るまでの考えとして、もしくはそもそもプログラマーとして私たちが書きたいと思っている到達点は、動作するきれいなコードです。 この、動作する、きれいなコードへと至るためには、下図の赤い矢印が指し示すようにきれいな設計からコードへと落とし込む道があります。

 しかし、きれいを求め続けると際限がありません。もっと良い設計があるのではないのかといった完璧主義が邪魔をして、どこまでいったらコードを書くのか、なかなか動作するコードに進めなくなってしまいます。

 それに対して、動作する、きれいなコードに至るにはもう一つ別の道もあります。それが図の青い矢印が示す、汚くても、動作する方向にもっていって、動作するコードをきれいにする道です。コードを書いて動かすことによって、初めて分かることがものすごく多いのです。動くコードから多くのことを学び、フィードバックが得られます。ここで学ぶ物が多いのだから、それを動作するまま、きれいにしていってここに至る道もあるというのを考え出したのが、テスト駆動開発です。

TDDのサイクル:Red⇒Green⇒Refactor

  1. テストを書く
  2. そのテスト実行して失敗(Red)
  3. 目的のコードを書き
  4. 書いたテストを成功させ(Green)
  5. テストがとおるままでリファクタリングを行う(Refactor)
  6. 1~5をくりかえす。

 TDDのサイクルは基本的にこの繰り返しです。テストが通り、綺麗になったらもう一個テストを書きましょうと述べていました。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
TDDと黄金の回転

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
イベントレポート連載記事一覧

もっと読む

この記事の著者

片平 裕市(カタヒラ ユウイチ)

片平堂という屋号で活動する仙台在住のフリープログラマ。最近はSOICHA AIRというソーシャルアプリの開発をしています。また、朝活@片平堂という名前の朝活を月・木7:00~9:00に開催しています。やらないで後悔するくらいならやって後悔したい派。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6055 2011/07/26 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング