Hands-on engineering training

Small changes. Clear feedback.

Test-driven development training.

Learn by doing: write a failing test, make a small change, see it pass, and refactor with confidence. Practical training for developers and technical leads who want to make their tests genuinely useful.

Illustrative TDD example: a failing test, a small code change and a passing result, connected by annotations

A passing test is the start.Better design is the work.

Tests give you fast, honest feedback. We use that feedback to design better code, not just to make tests pass.

What you’ll practice

From a failing test to clearer code.

Illustrative coding example

1. Write a failing test

expect(price_for(2)).to eq(20)
# Expected: 20
# Got: nil

Start with a small, concrete behavior.

2. Make it pass

def price_for(quantity)
  quantity * 10
end

1 example, 0 failures

Make the simplest change to pass.

3. Improve the design

UNIT_PRICE = 10

def price_for(quantity)
  quantity * UNIT_PRICE
end

Same behavior. Tests stay green.

Now refactor with confidence.

Hands-on exercises, real examples and guided discussion. You’ll practice the core TDD loop and related techniques that help you design and change code safely.

  1. 01

    Design useful tests

    Choose small behaviors, express them in a failing test, and learn when a test gives useful feedback—and when it merely repeats the implementation.

  2. 02

    Refactor while the tests stay green

    Improve the design without changing behavior. Explore how test structure, dependencies and coupling affect the freedom you have to change code.

  3. 03

    Go beyond unit tests

    Use BDD to discuss behavior and examples, and explore pair programming, refactoring and short feedback cycles from Extreme Programming. We’ll work out where these practices fit into your development workflow.

Matthias Orgler facilitating a workshop

Your trainer

Learn with Matthias Orgler

I’m Matthias Orgler. I help software developers and technical leaders build a shared understanding, practice together, and apply TDD in a way that fits their team.

  • We discuss your goals, technical environment and the time available before the training.
  • Training is built around your starting point, with coding exercises and discussion.
  • You practice choosing the next test, keeping changes small, and refactoring while the tests stay green.

Let’s talk about TDD training for your team.

Tell me about your team, current challenges and what you’d like to focus on.