Test-Driven Development
& Refactoring Techniques Course
(Available in Java, C++ or C#. Please consult the public course calendar or call us about an onsite class)
Test Driven Development (TDD) is one of the most profound Agile development practices. It has been adopted by nearly all the Agile methods and there is documented evidence that it has reduced defect rates by a factor of ten.
This 3-day course teaches you how to use the principles and practices of TDD to specify requirements and designs using acceptance tests and unit tests. You will learn the intensely granular TDD approach to development using XUnit for unit testing and FitNesse for acceptance testing. You will experience the frequent and regular feedback and progress of letting tests drive the development and design. And you will discover just how much faster you can go by writing tests!
The principles of good object-oriented design are emphasized throughout. You will learn how to keep your designs clean and simple by applying those design principles through refactorings that are verified by your tests. You will learn to incrementally transform complex and difficult modules into readable, well-structured, and well-designed code, while keeping them running at all times.
As you participate in our hands-on environment, you will learn how to approach design from the outside-in; one test case at a time, driving the system to better and simpler designs and architectures while it continues to pass all its tests. You will learn how unit tests and acceptance tests can be used to incrementally grow well-factored systems that are easy to maintain.
Objectives
By the end of this course, you will be able to:
- Recognize poor code constructs
- Improve designs in small safe steps
- Use the xUnit framework (Junit, Nunit, or CppUnitLite)
- Use "intention" to drive object interface design
- Perform test -first programming of object clusters
- Know how and when to use Mock objects and other testing patterns
- Know how and when to refactor when growing systems test-first
- Write executable requirements
- Understand Unit and Acceptance Tests
- Write Acceptance Tests using FitNesse
- Keep the system running
Detailed Outline
Prerequisites
- Familiar with an object-oriented programming language such as Java, C# or C++
Length
Price
- $1950
- Price includes course notes and workbooks
Registration and Start Dates
To request an onsite or private course or for more information about registration and start dates, call 1-847-249-4209 or

Onsite Requirements
|