38
Coding the Right Thing

Coding the right thing

Embed Size (px)

DESCRIPTION

Presentation on TDD, BDD and Acceptance-test Drive Development in .NET using SpecFlow and WatiN

Citation preview

Page 1: Coding the right thing

Coding the Right Thing

Page 2: Coding the right thing

AgendaQueuing Theory(x)DDGherkin, SpecFlow and WatiN

Page 3: Coding the right thing

About Me

• Developer Evangelist @ Microsoft

• Web Developer and Architect

• Based in Austin, TX• Husband and Father

Page 4: Coding the right thing

ON RELIGIOUS DEBATES…

Page 5: Coding the right thing

"If we don't bother to verbalize our intuition, we ourselves will do the opposite of what we believe in." - Eli Goldratt

Page 6: Coding the right thing

The Goal…

Create Value :: deliver something desired; optimize

for quality

Page 7: Coding the right thing

WHAT I LEARNED ABOUT TDD WHILE WAITING IN LINE…

Page 8: Coding the right thing

QUEUING THEORY

Page 9: Coding the right thing
Page 10: Coding the right thing
Page 11: Coding the right thing
Page 12: Coding the right thing

TRADITIONAL TDDDEMO

Page 13: Coding the right thing

SO WHAT’S MY PROBLEM?

Page 14: Coding the right thing

"The deeper I got into TDD, the more I felt that my own journey had been less of a wax-on, wax-off process of gradual mastery than a series of blind alleys." - Dan North

Page 15: Coding the right thing

SHIFTING FOCUS“Working software that matters” – Dan North

Page 16: Coding the right thing

FOCUS ON ACTUAL BEHAVIORS

Page 17: Coding the right thing

“SHOULD”

Page 18: Coding the right thing

BEHAVIOR-DRIVEN DEVELOPMENT

DEMO

Page 19: Coding the right thing

SO WHAT’S MY PROBLEM?

Page 20: Coding the right thing

QUEUING THEORY

Page 21: Coding the right thing
Page 22: Coding the right thing
Page 23: Coding the right thing
Page 24: Coding the right thing
Page 25: Coding the right thing

A STORY, MY TEST; THE BROWSER, MY API…

Gherkin, SpecFlow and WatiN

Page 26: Coding the right thing

GHERKINFeature Syntax

Page 27: Coding the right thing

SPECFLOWAutomated ATDD

Page 28: Coding the right thing

WATINDrive the Browser

Page 29: Coding the right thing
Page 30: Coding the right thing

SPECIFYING FEATURES WITH SPECFLOW

DEMO

Page 31: Coding the right thing

TDD, BDD, ATDD, FDD, SDD…

Page 32: Coding the right thing

THE GOAL OF (X)DD…

Page 33: Coding the right thing

MINIMIZE REWORK…

Page 34: Coding the right thing

Question Your Thinking“Good people with good process will outperform good people with no process every time.” – Grady Booch

Page 35: Coding the right thing

Resources• SpecFlow.org• WatiN.sourceforge.net• Gherkin :: http://bit.ly/cONNiL

• Slides and Demos :: http://bit.ly/bddPresentation

Page 36: Coding the right thing

Resources (Cont’d)

• Growing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce :: http://amzn.to/atddbook

• How TDD Works (and More!) :: http://bit.ly/jbrainsTDD

Page 37: Coding the right thing

COMING IN THE DECEMBER ISSUE OF MSDN MAGAZINE…

Page 38: Coding the right thing

Questions?

Email: [email protected] Twitter: @BrandonSatromBlog: www.userinexperience.com