Testing & Refactoring Workshop

Explore the foundations of TDD, microtesting and automated refactoring with the help of various patterns, strategies, tools and techniques.

This bestselling workshop offers a comprehensive, hands-on introduction to Refactoring, Evolutionary Design, Test-Driven Development (TDD), and Automated Testing.

Over the past decade, practices like TDD and Refactoring have helped many teams significantly improve development speed, code quality and responsiveness to changing requirements.

You will explore the foundations of TDD, Microtesting, and Automated Refactoring with the help of various patterns, strategies, tools, and techniques. You will learn essential test-first approaches via interactive discussions, multimedia content, hands-on exercises, and quizzes.
Object-Oriented Programmers and Architects, and others who program.
Testing & Refactoring Workshop

Workshop Editions

Our online version of this workshop includes online discussions with an expert instructor and exceptional eLearning exercises. It typically consists of two weekly sessions online that are about 2 hours each over 8 weeks, with homework in between each session. We can schedule the sessions to best meet your needs.
  • Managing Technical Debt
  • Understanding Basic Code Smells
  • The Foundations of Refactoring
  • More Code Smells
  • Automated Refactoring
  • Refactoring Strategies
  • Microtesting
  • Understanding Test-Driven Development
  • Practicing Test-Driven Development
  • Faking & Mocking Part 1
  • Faking & Mocking Part 2
  • Putting It All Together
  • Workshop Conclusion
We teach this best-selling workshop onsite in 2-day, 3-day and 4-day editions. Here is a typical agenda:
  • Managing Technical Debt
  • Understanding Code Smells
  • Refactoring
  • Microtesting
  • Test-Driven Development
  • Faking and Mocking
  • Legacy Code

What Will You Learn?


Understand the steps involved during a typical test-driven session


Drive the development of user stories via automated tests


Increase development speed by writing automated tests first


Identify poorly designed code by understanding code smells


Learn automated refactoring techniques to safely improve the design of code


Incrementally transform complex code into simple, readable, well-tested code