“Enabling teams and individuals to specify, design and deliver software for a complex world.”
Responsibility-Driven Software Development

DesignRebecca's BlogContact UsTraining and ConsultingConsultingResources

Wirfs-Brock Associates Home Page > Training > Pragmatic Test-Driven Development

Pragmatic Test-Driven Development

3 days

Ideal class size is 12 students. Price: Contact us at training@wirfs-brock dot com. Instructor travel and lodging expenses are extra.

Test-driven development (TDD) means writing unit tests along with production code. It leads to modular, flexible and extensible code. Many aspire to follow TDD practices however few know how to do so effectively. This course was developed by Rebecca Wirfs-Brock, inventor of Responsibility-Driven Design, and Joseph Yoder, founder of The Refactory, to bring practical testing techniques and practices to a wide audience.

In this 3 day intensive course you�ll learn several natural rhythms of testing, design and programming, uncover how refactoring affects tests, and see how acceptance and system quality tests support and enhance core TDD practices.

Course Objectives

The goal of this short course is to enable you to:

  • Effectively write unit tests in an agile development environment
  • Learn how to write maintainable tests
  • Isolate test code from code it depends on
  • Write well-formed acceptance tests
  • Refactor test code and build test suites
  • Test for boundary and normal conditions
  • Know what to test (and what not to test)
  • Write acceptance tests for system qualities

Course Topics

  • What is Test-Driven Development?
  • Two different TDD rhythms: Test first and test frequently
  • Different tests and how they support agile development: acceptance, function, unit, integration and smoke tests
  • Effective test and production coding practices
  • When tests are run (and who should write them)
  • What makes a good unit test?
  • What makes a good acceptance test?
  • The 10 commandments for testing
  • Where tests add value and where they don't
  • How refactoring affects tests
  • Organizing and managing tests
  • Effective test automation
  • Testing external services
  • Two different TDD rhythms: Test first and test frequently
  • Mocking and techniques for isolating test code
  • What makes good assertions?
  • The basic structure of a test scenario

Attendees should have some familiarity with object oriented programming and agile development practices.

Who should attend?

Course Information
Approximately 50% of the time is spent doing and reviewing short exercises; 50% in short lectures. Course exercises can be completed using either Java or .NET programming environments.

For additional information, please contact us at training@wirfs-brock.com

Site Map

Entire Site © Wirfs-Brock Associates 2005 - 2013.
Site Design by Phil Brock/Red Hills Graphics. Click here to contact the Webmaster.