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

  • 3 days

 

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

 

Register now button

 

Onsite Requirements

 

Register Today!

Call 1-847-249-4209

Before The Course

Object Mentor Courses

Java Programming with TTD and UML
C++ Programming with TTD

Refactoring Techniques

Books

Refactoring, Martin Fowler

Articles

Test First Driven Articles

The Test/Code Cycle

After The Course

Additional courses

Agile/XP Immersion

©2006 Object Mentor Inc | Privacy Statement | Terms of Use