Test Driven Development (TDD)
Custom Team Workshop on TDD
Test-Driven Development Workshop Summary
3-day course for developers, providing hands-on experience with the techniques of Test-Driven Development (TDD). This course is designed for experienced developers who are comfortable with their programming language and the basics of object-oriented design. Attendees learn the techniques of test-first, refactoring, mock objects, and others. They learn how these techniques provide and maintain a very low defect-count, plus why TDD helps developers work fearlessly, swiftly, and comfortably on new features and bug-fixes. They will also learn how to work on legacy code: Building test-coverage for critical areas, and protecting areas of the legacy system that do not yet require any alteration.
What You Will Learn from Our Test-Driven Development Workshop:
- The history and value of TDD.
- The five practices that comprise TDD.
- The Test-First mindset, and using it as Just-In-Time problem analysis.
- Refactoring as Just-In-Time design.
- Emergent Design and simple design.
- Using Mock Objects to decouple difficult dependencies.
- Adding tests to legacy code.
This set of practices for developers is at the heart of low-defect Agile software development. These techniques allow incremental development and Emergent Design to flourish, without degrading quality. This 3-day course also contains a significant section on the not-so-pleasant task of adding unit tests to legacy code. The course is currently offered in Java or C#.
Competence with either the Java or C# programming languages. A familiarity with basic object-oriented principles of design. Basic familiarity with an Agile process such as Scrum or XP.
- Introductions and logistics
- High-level Overview, Basics, and Getting Started
- Refactoring and Design
- Refactoring to OCP
- Mock Objects – Part I
- Mock Objects – Part II
- Legacy Code
- Putting It All Together
- Course retrospective
- TDD and Agile
- ATDD Overview