“d is for driven”objectclub.jp/download/files/event/2006christmas/d_is_for_driven.pdf · is the...

181
クは駆動のク (株)永和システムマネジメント 角谷 信太郎 [email protected] オブジェクト倶楽部 2006クリスマスイベント 技術トラック 2006-12-20(水) “D is for Driven” ~Developer TestingとBDD~

Upload: others

Post on 13-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

クは駆動のク(株)永和システムマネジメント

角谷 信太郎[email protected]

オブジェクト倶楽部2006クリスマスイベント技術トラック2006-12-20(水)

“D is for Driven”~Developer TestingとBDD~

Page 2: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

「ーーぼくは心を相手に戦いを始めた。 からだが供給できないものを、心がほし がるからさ」

レイ・ブラッドベリ『ウは宇宙船のウ』

Page 3: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

自己紹介

Page 4: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

角谷 信太郎• (株)永和システムマネジメント

• テスト駆動開発者• 日本Rubyの会(理事)

• 最近停滞中• Quick-JUnit Plugin• 勝手に翻訳

• ときどき執筆

Page 5: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

宣伝

Page 6: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

2つ

Page 7: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

(1)

Page 8: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

『月刊JavaWorld』の次号(休刊号)

Page 9: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

(2)

Page 10: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

デブサミ2007

Page 11: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

デブサミ2007

•時: 2007-02-14(水),15(木)

•於: 目黒雅叙園(東京・目黒)

•主催: 翔泳社• http://seshop.com/event/dev/2007/

Page 12: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

実践『From Java To Ruby』~血があつい鉄道ならば/走りぬけてゆく汽車はいつかは心臓を通るだろう~

Page 13: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

謝辞

•t-wadaさん•私のTDDコーチ

•懸田 剛さん •私にBDDを教えてくれました

Page 14: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

謝辞(順不同)水越さん、伊藤コウイチさん、 id:secondlifeさん、平鍋さん、 諸橋さん、須藤さん、天野さん、Yuguiさん、宮川さん

Page 15: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

よろしくお願いします

Page 16: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

Developer TestingとBDDについて

Page 17: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

DeveloperTesting

Page 18: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•Developer Tests•開発者が行う、開発促進のためのテスト

•QA Tests•Customer Tests•顧客視点からのシステム機能のテスト

Developer Testing

Page 19: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•Developer Tests•開発者が行う、開発促進のためのテスト

•QA Tests•Customer Tests•顧客視点からのシステム機能のテスト

Developer Testing

Page 20: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

BDD

Page 21: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

振舞駆動開発Behaviour Driven Development

ビヘイビア

Page 22: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

“BDD is the natural evolution of TDD.”

BDDはTDDの正常進化である

http://groups.yahoo.com/group/extremeprogramming/message/113518

ーーSteven R.Baker

Page 23: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

TDD

Page 24: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

テスト駆動開発Test Driven Development

Page 25: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

TDD by Example

Page 26: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

テスト駆動開発入門

Page 27: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

偉大な書籍は偉大な1行から

はじまる

Page 28: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

Clean code that works, in Ron Jeffries’ pithy phrase, is the goal of Test-Driven

Development(TDD).

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

このRon Jefferiesの簡潔な言葉こそが

TDDのゴールである。

Page 29: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

動作するきれいなコード“Clean code that works”

Page 30: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

© The Seasar Foundation and the others 2006. all rights reserved.15

Seasar ConferenceSeasar Conference

2006 Autumn2006 Autumn

!"#$(#%&')!()*

+*

,-*

Refactor

Green

Red

動作するきれいなコードとR-G-R

Page 31: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

“The translation of a feeling into a test is a

common theme of TDD.”

感情をテストにすることが、TDDに共通するテーマである。

Page 32: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•不安: 自分は仕事は正しいか?

•自信: 自分の仕事は正しい!

•勇気: 不安を克服する意志

•信頼: 自分が仲間を、仲間が自分を

•退屈: このテストは必要か?

感情

Page 33: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

駆動

Page 34: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

駆動•「動作するきれいなコード」への意志

•「設計」とフィードバックとのギャップ認識/ギャップ制御

•感情

Page 35: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

『WEB+DB PRESS』 vol.35

Page 36: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

t-wadaさんによるTDDの

思想・技術・実践

Page 37: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

心技体

Page 38: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

t-wada says...•プログラマのための設計技法

•R-G-Rのリズムを体得せよ

•心理マネジメント手法

•無駄なく健康なコード

•テストコードの資産価値

Page 39: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

© The Seasar Foundation and the others 2006. all rights reserved.15

Seasar ConferenceSeasar Conference

2006 Autumn2006 Autumn

!"#$(#%&')!()*

+*

,-*

Refactor

Green

Red

Red-Green-Refactor

Page 40: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

Kent Beckも言ってる:•プログラマのための設計技法

•R-G-Rのリズムを体得せよ

•心理マネジメント手法

•無駄なく健康なコード

•テストコードの資産価値

Page 41: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

t-wadaが言ってたよ:•プログラマのための設計技法

•R-G-Rのリズムを体得せよ

•心理マネジメント手法

•無駄なく健康なコード

•テストコードの資産価値

Page 42: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

Kent BeckとBDD

Page 43: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

> So, stop thinking of TDD and> BDD as conflicting ideals.> BDD is the natural evolution of> TDD.

What evolved?ーーKent Beck

http://tech.groups.yahoo.com/group/extremeprogramming/message/113575

何が進化したって?

Page 44: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

アジェンダ•TDDからBDDへの”進化”によって:

•何が変わるのか?

•変わらないものはあるのか?

•変わらないものがあるならばそれは何なのか?

Page 45: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

まとめ

Page 46: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

BDDとは:•顧客と同じ語彙を使って記述したシステムの振る舞いからのフィードバックと、

•開発者の感情によって、

•駆動される開発

Page 47: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

まとめ• BDDはTDDのマインドセットをより明確にする

• BDDはマインドセットを明確にする語彙とツールを提供する

• BDDもTDDも、具体的なフィードバックと開発者の感情が開発を駆動する

Page 48: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

もくじ•BDDへの道

•BDDで変わるもの

•BDDで変わらないもの

•RSpecでBDDのデモ

Page 49: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

BDDへの道

Page 50: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

稲垣足穂

Page 51: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

詩は歴史に対して

垂直に立つ

Page 52: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•人は、•BDDerとして「在る」のではない

•BDDerに「成る」のだ

•どうやって「成る」のか?

実存としてのBDDer

Page 53: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

比喩

Page 54: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

個体発生は系統発生を繰り返す

Page 55: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

反復説

Page 56: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

ある動物の発生の過程は、その動物の進化の過程を反復する。

Page 57: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか
Page 58: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

2006: a testing odyssey

Page 59: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

テスティングの夜明けThe Dawn of The Testing

Page 60: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

1971

Page 61: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

プログラミングの心理学

ジェラルド・M・ワインバーグ(初版は1971年)

Page 62: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

(プログラマがテストしなくなる)この過ちから身を守るための一つの方法は、テスト問題をテストをはじめる前に、いやそれどころかもし可能ならばコーディング前に作っておく、というものである。

Page 63: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

1992

Page 64: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

ソフトウェア設計とは何か?What is Software Design?

By Jack W. Reeves

Page 65: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

村上 雅章さんによる翻訳

http://www.biwa.ne.jp/~mmura/SoftwareDevelopment/WhatIsSoftwareDesignJ.html

Page 66: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•設計: ソースコード

•製造: ビルド

ソフトウェア設計とは何か?

Page 67: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

コーディングは設計であり、テスティングとデバッギングも設計の一部であり、私たちが一般的にソフトウェア設計と呼んでいるものもやはり設計の一部なのです。

Page 68: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

ソフトウェア設計はコーディングが完了し、「かつ」テストされるまでは完璧にならないのです。そして。テスティングは設計の検証と洗練を行うプロセスにおける礎となるものです。

Page 69: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

太初にテストファーストありきIn the beginning was the test-first

Page 70: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

1998

Page 71: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

JUnit1.0

Page 72: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

テスト熱中症“Test Infected: Programmers Love

Writing Tests”

プログラマは、テストを書くのが好きになる

By Eric Gamma

Page 73: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

小野 剛さんの翻訳

http://www.objectclub.jp/community/XP-jp/xp_relate/testinfected-j

Page 74: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

システムはこう動くはずだ、という考えが頭に浮かんだとしても、実装について考えるのは後回しにしよう。まずはテストを書くのだ。そしてテストを実行するのだ。

Page 75: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

1999

Page 76: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

XP:explained

Page 77: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

テストファーストという単語自体は

出てこない (意外)

Page 78: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

XPのテストは...プログラムを動作させることが好きな人の仕事である。...テストはあくまでも道具であって、本来重要なものはシステムの振る舞いである。

Page 79: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

2000

Page 80: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

XP:installed

Page 81: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

テストファーストという単語が

広まるきっかけ?

Page 82: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

テストファーストの効果

•テスト可能な設計

•コード利用者の視点

•インターフェイス中心の設計

『WEB+DB PRESS Vol.35』のt-wada記事から要旨抜粋

Page 83: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

どうみても設計です

Page 84: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

コーディングは設計であり、テスティングとデバッギングも設計の一部であり、私たちが一般的にソフトウェア設計と呼んでいるものもやはり設計の一部なのです。

Page 85: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

2002

Page 86: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

テスト駆動開発Test Driven Development

Page 87: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

TDD by Example

Page 88: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

t-wada says...•プログラマのための設計技法

•R-G-Rのリズムを体得せよ

•心理マネジメント手法

•無駄なく健康なコード

•テストコードの資産価値

Page 89: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

2003

Page 90: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

振舞駆動開発Behaviour Driven Development

ビヘイビア

Page 91: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

BDDの誕生•Dan NorthがJBehaveプロジェクトを開始

Page 92: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

2004

Page 93: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•ADC2004にて、平鍋さんがJBehaveに遭遇•Agile Development Conference 2004

•廊下でデモしていたらしい• http://blogs.itmedia.co.jp/hiranabe/2005/10/

tdd__bdd__731d.html

日本への輸入

Page 94: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

2005

Page 95: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

“A New Look at Test Driven Development”

テスト駆動開発についての新しい考えかた

By Dave Astels

Page 97: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•TDDで定義しているのは、テストというより振る舞いでは?

•xUnitはテストの語彙と、プログラミング言語の構造に囚われすぎでは?

•新しい考え方には新しいツール

BDDが認知される契機に

Page 98: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

新しいツール

Page 99: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

RSpec

Page 100: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

Frameworkfor Behaviour

DrivenDelopmentin Ruby

Page 101: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

初期のRSpec

Page 102: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

class EmptyMovieList < Spec::Context def setup @list = MovieList.new end

def should_have_size_of_0 @list.size.should_equal 0 end

def should_not_include_star_wars @list.should_not_include "Star Wars" endend

class OneMovieList < Spec::Context def setup ... def should_have_size_of_1 ...end

Page 103: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

2006

Page 104: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•RSpec on Rails => 利用者増加

• Introducing Behaviour-Driven Developmenthttp://www.dannorth.net/introducing-bdd (by Dan North)

•“Given, When, Then”の提唱

•他言語によるBDD実装

•本邦Ruby界(の一部)でもブレイク寸前?

2006

Page 105: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

RSpec on Rails

割愛

Page 106: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

“Given, When, Then”

割愛

Page 107: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•.NET: NSpec, NSpecify•Java: JBehave, (rMock)

•(Ruby: RBehave)

他言語によるBDD実装

C#が健闘中!

Page 108: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•池上さん• KOF2006、Ruby@関西

•諸橋さん•Rails勉強会(東京)

本邦Ruby界(の一部)でもブレイク寸前?

Page 109: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

いまここ

Page 110: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•ソースコードとテストは設計

•xUnit, test-first•TDD•BDD, RSpec

2006: a testing odyssey

Page 111: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

BDDで変わるもの/変わらないもの

Page 112: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

振舞駆動開発Behaviour Driven Development

ビヘイビア

Page 113: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•an evolution•in the thinking behind:•Test Driven Development

•Acceptance Test Driven Planning

BDD is...

http://behaviour-driven.org/

Page 114: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•進化した(evolution)

•考え方(thinking):•テスト駆動開発

•受入テスト駆動プランニング

BDD は...

http://behaviour-driven.org/

Page 115: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

BDDのゴール•Developer Testingと、Customer Testingの統合

•システムの振る舞いを定義する

•“Getting the Words Right”•「正しい言葉を選ぶ」 => 顧客と同じ語彙で設計する

Page 116: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

BDDはゴールに向けて•マインドセットを変える

•語彙を変える

•ツールを変える

Page 117: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

BDDで変わるもの

Page 118: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

BDDで変わるもの1. マインドセット2. 語彙3. ツール

Page 119: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

(1)

Page 120: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

マインドセットを変える

Page 121: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

マインドセット

•TDDっていうけど、

•開発を駆動してるこれって、

•テストではなく、

•システムの振る舞いでは?

Page 122: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

マインドセット

•「テスト」と呼ぶのは混乱の元

•「振る舞い」は「振る舞い」だ

•開発を駆動するのは振る舞いだ

Page 123: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

振舞駆動開発Behaviour Driven Development

ビヘイビア

Page 124: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

(私見)

Page 125: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

振舞

Page 126: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

ふるまい

Page 127: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

ビヘイビア

Page 128: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

発音しづらい

Page 129: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

振舞はテストではない?

Page 130: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

Test (by Kent Beck)【動詞】評価する

【名詞】受入または拒否を 導く手続き

『テスト駆動開発入門』第25章

Page 131: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

どうみてもテストです

Page 132: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

テストは発音しやすい

Page 133: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

(2)

Page 134: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

語彙を変える

Page 135: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

サピア=ウォーフ仮説Sapir–Whorf hypothesis

Page 136: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

言語は我々の思考を形成し、思考できる内容を決定する。

ベンジャミン・ウォーフ

Page 137: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•TestCase•テストケース。クラス。

•Test Method•テストメソッド。メソッド。

•assert•アサート。結果の確認。

語彙:TDD

Page 138: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

テストに偏りすぎ

Page 139: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•Context•コンテキスト。No TestCase!

•specify•「仕様」の定義。No test_method!

•expectation•システムに期待する振る舞い。No assert!

語彙:BDD

Page 140: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

(私見)

Page 141: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

スペシファイ

Page 142: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

エクスペクテーション

Page 143: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

やっぱり発音

しづらい

Page 144: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•Unit Test•「単位」って? クラス? メソッド?

•“small-scale tests” -- Kent Beck

•製品コードと対応するの? しないの?

語彙:TDD

Page 145: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

プログラミング言語の構造に偏りすぎ

Page 146: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•spec file•振る舞いの論理的なまとまり•RSpecではファイル

•1ファイルにつき、nコンテキスト

語彙:BDD

Page 147: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

context "1+1の足し算" do setup do @sum = 1 + 1 end specify "合計値は2であること" do @sum.should_eql 2 end

end

context "引き算" do specify "2-0は0であること" do (2 - 0).should_eql 0 endend

calc_spec.rb:

expectation

Page 148: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

(3)

Page 149: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

ツールを変える

Page 150: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

RSpec

Page 151: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

Frameworkfor Behaviour

DrivenDelopmentin Ruby

Page 152: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

rspec.rubyforge.org

Page 153: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

絶賛開発中

Page 154: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

APIや内部設計の変更が激しい

Page 155: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

紹介するけど使わなくてもいい

Page 156: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

私とRSpec

Page 157: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

私とRSpec

Page 158: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

私とRSpec

Page 159: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•BDD実践のためのツール

•Rubyによる言語内DSL•Domain Specific Language

•ドメイン特化言語

•統合テスティング環境

RSpec

Page 160: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

BDD実践のためのツール•システムの特定の部分が、

•ある文脈(context)において

•期待(expectation)される

•振る舞い(behaviour)を

•仕様化(specify)する

Page 161: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

Rubyによる言語内DSL•BDDの語彙を活用•context, specify, expectation•プログラミング言語の構造に囚われすぎない•1ファイル: nコンテキスト•no TestCase, no test_method

•Testing DSL (角谷ローカル)

Page 162: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

統合テスティング環境•Green Bar (specコマンド)

•人に優しい出力(Testdox-like repots)

•built-in mocking/stubbing

•Rakeタスク (自動化)

•RCov (C0 カバレッジ)

•diff出力

•RSpec on Rails (流行は大事だ!)

Page 163: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

context “5ドルの場合” do setup do @five_dollar = Money.doller(5) end

specify “2を掛けると10ドルであること” do (@five_doller * 2).should_eql Money.doller(10) end

specify “5とは等価ではないこと” do @five_doller.should_not_eql 5 end

...end

...

Page 164: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

意識の変容

Page 165: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

 さらに興味深いのは、<ヘプタポッドB>はわたしのものの考えかたを変えていくという事実だった。

テッド・チャン『あなたの人生の物語』

Page 166: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

ノイズが少ない

Page 167: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

設計に集中できる

Page 168: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

そのまんま書ける喜び

Page 169: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

GreenBar原理主義:Fake Itの多用

Page 170: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

BDDで変わらないもの

Page 171: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

駆動

Page 172: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

•設計による決定と、動作するコードからの具体的なフィードバック

•開発者の感情•不安だ。何かがおかしい。これでいい。

駆動

Page 173: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

まとめ

Page 174: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

BDDとは:•顧客と同じ語彙を使って記述したシステムの振る舞いからのフィードバックと、

•開発者の感情によって、

•駆動される開発

Page 175: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

母語をASCIIで表現できる人達は良いですね

Page 176: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

日本語が母語の我々は

どうしよう?

Page 177: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

まとめ• BDDはTDDのマインドセットをより明確にする

• BDDはマインドセットを明確にする語彙とツールを提供する

• BDDもTDDも、具体的なフィードバックと開発者の感情が開発を駆動する

• 母語をASCIIで表現できる人は良いですね

Page 178: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

「でも、コードはそうするように言っているみたいですよ。やってみましょう。」『ケント・ベックのSmalltalkベストプラクティス・パターン』

Page 179: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

ご清聴ありがとうございました

Page 180: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

Happy Testing!

Page 181: “D is for Driven”objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf · is the goal of Test-Driven Development(TDD). ... はじめる前に、いやそれどころか

何かご質問は?Do you have any questions?