D Is For Driven

Shintaro Kakutani
D Is For Driven
D Is For Driven
D Is For Driven
•
•
•
    •
    •
    •
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
• http://seshop.com/event/dev/2007/
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
http://groups.yahoo.com/group/extremeprogramming/message/113518
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
Clean code that works, in
Ron Jeffries’ pithy phrase,
is the goal of Test-Driven
   Development(TDD).
“Clean code that works”
,-*


                               ed




                                                                   Refactor
                             R


   +*
                          Green

                    (#%&')!()*                          !quot;#$
Seasar Conference
                                                                                                     15
     2006 Autumn                 © The Seasar Foundation and the others 2006. all rights reserved.
“The translation of a
  feeling into a test is a
common theme of TDD.”
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
,-*


                               ed




                                                                   Refactor
                             R


   +*
                          Green

                    (#%&')!()*                          !quot;#$
Seasar Conference
                                                                                                     15
     2006 Autumn                 © The Seasar Foundation and the others 2006. all rights reserved.
D Is For Driven
D Is For Driven
D Is For Driven
http://tech.groups.yahoo.com/group/extremeprogramming/message/113575
D Is For Driven
D Is For Driven
D Is For Driven
•

•

•
•
•
•
•
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
2006:
a testing odyssey
D Is For Driven
1971
D Is For Driven
D Is For Driven
1992
D Is For Driven
http://www.biwa.ne.jp/~mmura/SoftwareDevelopment/WhatIsSoftwareDesignJ.html
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
1998
D Is For Driven
D Is For Driven
http://www.objectclub.jp/community/XP-jp/xp_relate/testinfected-j
D Is For Driven
1999
D Is For Driven
D Is For Driven
D Is For Driven
2000
D Is For Driven
D Is For Driven
WEB+DB PRESS Vol.35   t-wada
D Is For Driven
D Is For Driven
2002
D Is For Driven
D Is For Driven
D Is For Driven
2003
D Is For Driven
D Is For Driven
2004
•   http://blogs.itmedia.co.jp/hiranabe/2005/10/
    tdd__bdd__731d.html
2005
D Is For Driven
http://giantech.jp/wiki/BDDIntro
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
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 quot;Star Warsquot;
  end
end

class OneMovieList < Spec::Context
  def setup
    ...
  def should_have_size_of_1
    ...
end
2006
http://www.dannorth.net/introducing-bdd
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
http://behaviour-driven.org/
http://behaviour-driven.org/
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
25
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
Sapir–Whorf hypothesis
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
calc_spec.rb:
context quot;1+1             quot; do
  setup do
    @sum = 1 + 1
  end

  specify quot;          2           quot; do
    @sum.should_eql 2
  end
                 expectation
end

context quot;       quot; do
  specify quot;2-0   0              quot; do
    (2 - 0).should_eql 0
  end
end
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
rspec.rubyforge.org
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
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

...
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
D Is For Driven
•

•

•

•
Smalltalk
D Is For Driven
D Is For Driven
Do you have any questions?
1 of 181

Recommended

마케팅 패러다임의 변화 그리고 모바일 (Daum, Focus on Mobile Marketing 2012) by
마케팅 패러다임의 변화 그리고 모바일 (Daum, Focus on Mobile Marketing 2012)마케팅 패러다임의 변화 그리고 모바일 (Daum, Focus on Mobile Marketing 2012)
마케팅 패러다임의 변화 그리고 모바일 (Daum, Focus on Mobile Marketing 2012)kevin lee
4.1K views54 slides
Slideshow for career page 2 by
Slideshow for career page 2Slideshow for career page 2
Slideshow for career page 2Kirsten Dirsch
487 views37 slides
AllInside2007 by
AllInside2007AllInside2007
AllInside2007birchall
318 views71 slides
Allabout Nihon Ruby-no-kai Season6(KansaiRubyKaigi02 Edit) by
Allabout Nihon Ruby-no-kai Season6(KansaiRubyKaigi02 Edit)Allabout Nihon Ruby-no-kai Season6(KansaiRubyKaigi02 Edit)
Allabout Nihon Ruby-no-kai Season6(KansaiRubyKaigi02 Edit)Shintaro Kakutani
979 views41 slides
Project Report:Regional Rubykaigi by
Project Report:Regional RubykaigiProject Report:Regional Rubykaigi
Project Report:Regional RubykaigiShintaro Kakutani
1.2K views51 slides
Do You Web2.0.Ppt August 2008 by
Do You Web2.0.Ppt August 2008Do You Web2.0.Ppt August 2008
Do You Web2.0.Ppt August 2008valeriev
553 views57 slides

More Related Content

Similar to D Is For Driven

S is For Spec at RubyKansai25 by
S is For Spec at RubyKansai25S is For Spec at RubyKansai25
S is For Spec at RubyKansai25Shintaro Kakutani
1.1K views98 slides
S is for Spec by
S is for SpecS is for Spec
S is for SpecShintaro Kakutani
3.2K views98 slides
Cより速いRubyプログラム by
Cより速いRubyプログラムCより速いRubyプログラム
Cより速いRubyプログラムkwatch
5.3K views56 slides
Perl University: Getting Started with Perl by
Perl University: Getting Started with PerlPerl University: Getting Started with Perl
Perl University: Getting Started with Perlbrian d foy
56.7K views159 slides
421 Ch by
421 Ch421 Ch
421 Chanjaan
670 views15 slides
PhpSpec TDD 紅燈-綠燈-重構流程-PHP也有day#25_by_閃亮亮 by
PhpSpec TDD 紅燈-綠燈-重構流程-PHP也有day#25_by_閃亮亮PhpSpec TDD 紅燈-綠燈-重構流程-PHP也有day#25_by_閃亮亮
PhpSpec TDD 紅燈-綠燈-重構流程-PHP也有day#25_by_閃亮亮亮亮 閃
2K views41 slides

Similar to D Is For Driven(20)

Cより速いRubyプログラム by kwatch
Cより速いRubyプログラムCより速いRubyプログラム
Cより速いRubyプログラム
kwatch5.3K views
Perl University: Getting Started with Perl by brian d foy
Perl University: Getting Started with PerlPerl University: Getting Started with Perl
Perl University: Getting Started with Perl
brian d foy56.7K views
421 Ch by anjaan
421 Ch421 Ch
421 Ch
anjaan670 views
PhpSpec TDD 紅燈-綠燈-重構流程-PHP也有day#25_by_閃亮亮 by 亮亮 閃
PhpSpec TDD 紅燈-綠燈-重構流程-PHP也有day#25_by_閃亮亮PhpSpec TDD 紅燈-綠燈-重構流程-PHP也有day#25_by_閃亮亮
PhpSpec TDD 紅燈-綠燈-重構流程-PHP也有day#25_by_閃亮亮
亮亮 閃2K views
R57php 1231677414471772-2 by ady36
R57php 1231677414471772-2R57php 1231677414471772-2
R57php 1231677414471772-2
ady361.8K views
テストを書いてGradleプラグインの開発効率を改善しよう by Shunsuke Maeda
テストを書いてGradleプラグインの開発効率を改善しようテストを書いてGradleプラグインの開発効率を改善しよう
テストを書いてGradleプラグインの開発効率を改善しよう
Shunsuke Maeda1.2K views
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе by Yandex
Танки_в_Лунапарке: нагрузочное_тестирование_в_ЯндексеТанки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Yandex462 views
글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf... by Junho Choi
글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...
글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...
Junho Choi1.3K views
Developing Desktop Applications using HTML and Javascript by Jeff Haynie
Developing Desktop Applications using HTML and JavascriptDeveloping Desktop Applications using HTML and Javascript
Developing Desktop Applications using HTML and Javascript
Jeff Haynie8.2K views
JDD2015: Forgetting Java: Why Java Should Die in Flames and Take its Develope... by PROIDEA
JDD2015: Forgetting Java: Why Java Should Die in Flames and Take its Develope...JDD2015: Forgetting Java: Why Java Should Die in Flames and Take its Develope...
JDD2015: Forgetting Java: Why Java Should Die in Flames and Take its Develope...
PROIDEA105 views
Practical Domain-Specific Languages in Groovy by Guillaume Laforge
Practical Domain-Specific Languages in GroovyPractical Domain-Specific Languages in Groovy
Practical Domain-Specific Languages in Groovy
Guillaume Laforge1.3K views
Business Origami - UX Week 2011 Workshop by Jess McMullin
Business Origami - UX Week 2011 WorkshopBusiness Origami - UX Week 2011 Workshop
Business Origami - UX Week 2011 Workshop
Jess McMullin10.4K views
Tips And Tricks For Bioinformatics Software Engineering by jtdudley
Tips And Tricks For Bioinformatics Software EngineeringTips And Tricks For Bioinformatics Software Engineering
Tips And Tricks For Bioinformatics Software Engineering
jtdudley31.8K views
Microsoft NERD Talk - R and Tableau - 2-4-2013 by Tanya Cashorali
Microsoft NERD Talk - R and Tableau - 2-4-2013Microsoft NERD Talk - R and Tableau - 2-4-2013
Microsoft NERD Talk - R and Tableau - 2-4-2013
Tanya Cashorali2.2K views

More from Shintaro Kakutani

Postface from agilesamurai_supervisor by
Postface from agilesamurai_supervisorPostface from agilesamurai_supervisor
Postface from agilesamurai_supervisorShintaro Kakutani
3.6K views114 slides
Welcome to the Real World by
Welcome to the Real WorldWelcome to the Real World
Welcome to the Real WorldShintaro Kakutani
2K views59 slides
The gate by
The gateThe gate
The gateShintaro Kakutani
2.7K views135 slides
OedoRubyKaigi01 Opening Talk by
OedoRubyKaigi01 Opening TalkOedoRubyKaigi01 Opening Talk
OedoRubyKaigi01 Opening TalkShintaro Kakutani
1.3K views23 slides
Testing Environment of Ruby on Rails by
Testing Environment of Ruby on RailsTesting Environment of Ruby on Rails
Testing Environment of Ruby on RailsShintaro Kakutani
1.9K views83 slides
Agile Estimating and Planning on JFPUG by
Agile Estimating and Planning on JFPUGAgile Estimating and Planning on JFPUG
Agile Estimating and Planning on JFPUGShintaro Kakutani
1.9K views93 slides

More from Shintaro Kakutani(20)

Postface from agilesamurai_supervisor by Shintaro Kakutani
Postface from agilesamurai_supervisorPostface from agilesamurai_supervisor
Postface from agilesamurai_supervisor
Shintaro Kakutani3.6K views
Agile Estimating and Planning on JFPUG by Shintaro Kakutani
Agile Estimating and Planning on JFPUGAgile Estimating and Planning on JFPUG
Agile Estimating and Planning on JFPUG
Shintaro Kakutani1.9K views
what does "we speak Ruby" really mean? by Shintaro Kakutani
what does "we speak Ruby" really mean?what does "we speak Ruby" really mean?
what does "we speak Ruby" really mean?
Shintaro Kakutani2.1K views
All About Nihon Ruby-no-Kai in Developers Summit 2010 by Shintaro Kakutani
All About Nihon Ruby-no-Kai in Developers Summit 2010All About Nihon Ruby-no-Kai in Developers Summit 2010
All About Nihon Ruby-no-Kai in Developers Summit 2010
Shintaro Kakutani1.9K views
Making Software Development Agile With Ruby by Shintaro Kakutani
Making Software Development Agile With RubyMaking Software Development Agile With Ruby
Making Software Development Agile With Ruby
Shintaro Kakutani1.5K views
All about Nihon Ruby-no-kai Season6(TochigiRubyKaigi02 Edit) by Shintaro Kakutani
All about Nihon Ruby-no-kai Season6(TochigiRubyKaigi02 Edit)All about Nihon Ruby-no-kai Season6(TochigiRubyKaigi02 Edit)
All about Nihon Ruby-no-kai Season6(TochigiRubyKaigi02 Edit)
Shintaro Kakutani1.3K views
All about Nihon Ruby-no-kai:Season6 (NagoyaRubyKaigi01 Edit.) by Shintaro Kakutani
All about Nihon Ruby-no-kai:Season6 (NagoyaRubyKaigi01 Edit.)All about Nihon Ruby-no-kai:Season6 (NagoyaRubyKaigi01 Edit.)
All about Nihon Ruby-no-kai:Season6 (NagoyaRubyKaigi01 Edit.)

D Is For Driven