13
Test Driven Development Marcelo Cure

Test driven development

Embed Size (px)

Citation preview

Page 1: Test driven development

Test Driven Development

Marcelo Cure

Page 2: Test driven development

Where did it come from?

•Kent Beck in 2003•Concepts related to Extreme

Programming

Page 3: Test driven development

What’s TDD?

•Development technique•Focus on quality•First test then code•Requirements before code•Based on cycles

Page 4: Test driven development

How does TDD work?

•Developer must have the feature knowledge

•Think baby steps•Write a failing test•Make it pass•Make sure it didn’t break any other test•Refactor•Loop

Page 5: Test driven development

Benefits

•More tests, less bugs•Code quality•Rare necessity to debug•Leads to modularize your system•Big coverage

Page 6: Test driven development

Limitations

•Management support is required•Fake tests•Are we really doing TDD?

Page 7: Test driven development

Environment (talking about Java)•Java•Eclipse•JUnit

Page 8: Test driven development

Examples – NameRetriever

Page 9: Test driven development

NameRetrieverTest

public class NameRetrieverTest {private NameRetriever nameRetriever;

@Testpublic void testRetrieveName() {String name =

nameRetriever.retrieveName();Assert.assertEquals("cure", name);}}

Page 10: Test driven development

NameRetriever

public class NameRetriever {public String retrieveName() { return "";}}

Page 11: Test driven development

NameRetriever

public class NameRetriever {public String retrieveName() { return "cure";}}

Page 12: Test driven development

NameRetrieverTest

public class NameRetrieverTest {private NameRetriever nameRetriever;

@Testpublic void testRetrieveName () {Assert.assertEquals("cure",

nameRetriever.retrieveName());}}

Page 13: Test driven development

That’s all, thanks!