We all know what TDD is but few of us practice it consistently, and still fewer have realized the benefits it promises. We need to recognize when TDD has turned from a solution to another problem. TDD is supposed to help us refactor our code safely but we often find that when we refactor our code we also have to refactor our tests, and what was supposed to add safety becomes a burden, requiring time and effort to refactor tests.

Writing good unit tests is a critical skill that developers need to master in order to get the most benefit from doing test driven development. Tests must be unique, written at the right level of abstraction, and implementation-independent in order to be most valuable. In this session, we’ll cover effective techniques for doing TDD that support building useful tests and quality code. You'll learn how to approach TDD in a way that yields the right number and kind of tests to support refactoring.

Working through a few code examples we’ll see how many assertions are required to specify a linear range, exceptions, and other boundary conditions. We’ll look at how to write tests that don’t need to be changed when code is refactored while still keeping test coverage high. If you’ve struggled to apply TDD on a project, or are just not sure how to start, then this session is for you.

Additional Resources

About the Speaker(s)

David Bernstein has coached and trained more than 8,000 software developers from several Fortune 500 companies in the course of his 30-year career. His new book, Beyond Legacy Code: Nine Practices to Extend the Life (and Value) of Your Software (http://BeyondLegacyCode.com), covers the core technical practices for developing software.A longtime special consultant to IBM, David trained IBM software engineers around the world, giving them the skills to write the next generation of applications and operating-system software, and earning one of the highest satisfaction ratings in the history of IBM corporate education. He is the creator of a wholesale bank-accounting software program that has become the de facto standard across the globe, as well as econometric software used to invest trillions of dollars. Over the past five years, David has coached and trained thousands of developers at Microsoft, Boeing, Vanguard and dozens of other companies in Agile development practices.David is the founder of To Be Agile, a Registered Education Provider for the Scrum Alliance, and trains Certified Scrum Developers in Scrum and XP development practices. To see a list of pubic classes offered by To Be Agile, go to http://ToBeAgile.com/training.You can contact David Bernstein at (206) 792-9700 or visit http://ToBeAgile.com. David’s blog can be found at http://ToBeAgile.com/blog. You can follow David on Twitter under his account @ToBeAgile (http://www.twitter.com/ToBeAgile). - See more at: https://www.scrumalliance.org/community/profile/dbernstein#sthash.td91w4KW.dpuf