Take Your Test-Driven Development to the Next Level
Test-driven development (TDD) is a powerful discipline that combines testing, coding, and software design to ameliorate defect rates and facilitate future enhancements. TDD has been around for some twenty years, so why isn’t it more prevalent—and more popular? For one thing, TDD is not easy to get right! And, it seems expensive. In this mostly hands-on tutorial, Rob Myers will explore these concerns by diving straight into the deep-end. Rather than starting with theory and working toward practice, Rob is going to reverse the tutorial recipe. Come prepared to spend the first half of the day writing code—test-driven! He guides your exploration of the modern approaches to TDD, including the latest frameworks, assertion/expectation syntax, and techniques for organizing tests. Then participants will debrief and cover TDD’s cooperative relationship with behavior-driven development (BDD), its increasing business value over time, and a gentle but effective adoption technique. Rob will discuss Behavioral Boundaries and how to derive them on an ad hoc basis; and the Jetlagged Intern Principle, a heuristic to help determine whether or not something must be tested. Rob will include one of his Black Swan User Stories to illustrate many of these topics and to help reveal how TDD can make your code anti-fragile.
Note: Laptop Required. Attendees should have strong programming skills. At least half of all attendees will want to bring a laptop installed with their preferred modern programming language, IDE, and preferred microtesting/xUnit/xSpec tool.