why you should do test driven development

14
Test Driven Development Why you should do Lightning talk Rod Caldas [email protected]

Upload: rodders-caldas

Post on 07-Jan-2017

153 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Why you should do Test Driven Development

Test Driven Development

Why you should do

Lightning talk

Rod [email protected]

Page 2: Why you should do Test Driven Development

Dark Matter Makes 90% of the Universe

Page 3: Why you should do Test Driven Development

UNTESTED CODE IS THE DARK MATTER OF SOFTWARE

(Apparently because it makes up 90% of the software universe) … Uncle Bob

Page 4: Why you should do Test Driven Development

Why untested code is bad?

Page 5: Why you should do Test Driven Development
Page 6: Why you should do Test Driven Development

Test Driven DevelopmentDevelopment Driven by Tests

Page 7: Why you should do Test Driven Development

DebugDriven Development

Page 8: Why you should do Test Driven Development

Debug Driven Development

Page 9: Why you should do Test Driven Development

Test Driven Development

Page 10: Why you should do Test Driven Development

public void Withdraw(double amount) { if(m_balance >= amount) { m_balance -= amount; } else { throw new ArgumentException(amount, "Withdrawal exceeds balance!") } }

[TestMethod]public void Withdraw_ValidAmount_ChangesBalance() { // arrange double currentBalance = 10.0; double withdrawal = 1.0; double expected = 9.0; var account = new CheckingAccount("JohnDoe", currentBalance); // act account.Withdraw(withdrawal); double actual = account.Balance; // assert Assert.AreEqual(expected, actual); } THE TEST IS MORE IMPORTANT THAN THE CODE

Page 11: Why you should do Test Driven Development

Development time

Page 12: Why you should do Test Driven Development

What kind of tests?

The higher we go:

+Expensive+Unreliable+Slower Feedback

Page 13: Why you should do Test Driven Development

Final Message

Page 14: Why you should do Test Driven Development

Thanks!Questions?

References:

http://www.typemock.com/test-driven-development-tdd/http://butunclebob.com/ArticleS.UncleBob.UntestedCodeDarkMatterhttp://pt.slideshare.net/alextercete