Project Management Institute

Sustainable Test-Driven Development

four young professional with laptop

Test-Driven Development (TDD) can become unsustainable as projects mature and the maintenance costs of the test suite build up. TDD becomes sustainable when developers know which tests to write, how to write them, when to refactor code, and the techniques for controlling dependencies.

Maximize Value While Minimizing Effort and Cost

In this three-day course (14 PDUs) we teach how to make TDD sustainable with a focus on deriving maximum value—technical and business—from minimal effort and cost. We also teach how TDD relates to analysis, emergent design, design qualities, and design patterns.

This is not a technology course, instead, it is about the overall process of TDD. Having said that, learning is accomplished through hands-on exercises where students will be writing code throughout. This course focuses on mindset, techniques, and how to apply them in practice: the focus is not on tools.

Why You Want to Attend This Course

  • To learn how to make TDD sustainable 
  • To learn the practice of Test-Driven Development, which utilizes refactoring and unit testing in a particularly fine-grained way
  • To address what to do with pre-existing “legacy” code within the TDD paradigm

Learning Objectives

In this course, we will show you how to:

  • Identify why and how to be "test-driven"
  • Structure tests in TDD
  • Analyze requirements using tests
  • Implement unit tests
  • Apply an XUnit testing framework (Junit, MSTest, Jest, etc…)
  • Use mock objects
  • Identify various forms of dependency injection
  • Refactor legacy code
  • Test architecture 

View Course Outline

Audience and Requirements

  • Developers of all levels, from junior to senior to technical leads will benefit from this training.  
  • Testers, also, will learn how their existing skills can benefit development, especially since exercises are conducted in pairs.
  • Students must have basic familiarity with Java, C#, or JavaScript, and the language of the course delivery must be agreed upon beforehand. If some students would prefer to work using another language or testing framework, the instructor should be contacted for consultation.  
  • It is helpful, but not required, for the students to have attended our Design Patterns Thinking course before attending this course.  

Register interest for your business

By submitting this form, you grant PMI permission to contact you regarding your inquiry.

Trust begins with our commitment to respecting as well as protecting your privacy.