TDD Workshop

Test-driven development represents a mindset shift and requires you become skilled with modern software design, refactoring, and (usually) paying down your pre-TDD technical debt.

People who have made the mindset shift tend to be more successful as developers, producing more maintainable systems with better longevity. However, not all of the credit for this success can go to TDD. Some of it - maybe even most of it - goes to the attendant skills one must master in order for test-driven development to be within reach.

For that reason, this workshop ends up being fairly open-ended. Some time goes into conversations and exercises that demonstrate the value of the test-driven mindset and create buy-in but some of the time usually has to be spent helping attendees bolster one of the underpinning skills listed in the previous paragraphs.

It can be run as a one, two, or three day session.

Day 1

  • Explain TDD & what is required to make the shift.
  • Establish buy-in.
  • Demonstrate the test-first technique.
  • Define a good structure for long-lasting tests.
  • Show how tests drive better class-level design.
  • Show how to use TDD to enable refactoring.
  • Establish tests as executable specifications.

Day 2

  • Show how tests can provide feedback on design.
  • Show how to refactor the test suite, itself.
  • Advanced design concepts (intro design patterns).
  • Show how to use mocking to maintain stable tests.
  • Show how to use mocking to help drive design.

Day 3

  • Demonstrate some advanced refactoring techniques (a.k.a "refactoring to patterns").
  • Practices techniques for paying down technical debt in legacy code.
For more information contact max@abiding.software.

Back to training packages.