---
title: "Notes from a TDD masterclass"
url: "https://osherove.com/blog/2010/7/23/notes-from-a-tdd-masterclass.md"
canonical: "https://osherove.com/blog/2010/7/23/notes-from-a-tdd-masterclass.html"
published: "2010-07-23T21:39:46"
updated: "2010-07-23T21:39:46"
tags: ["Unit Testing"]
author: "Roy Osherove"
description: "another TDD masterclass is done , and this time it was Munich! Lovely people, and smart programmers :) made a few changes this time – had an excersice about doing automated builds and CI, removed rhino mocks and added a…"
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# Notes from a TDD masterclass

By Roy Osherove July 23, 2010 In [Unit Testing](https://osherove.com/blog/category/unit-testing)

**Historical article** · Originally published July 23, 2010; technical details may be outdated.

[another TDD masterclass is done](https://osherove.com/training), and this time it was Munich! Lovely people, and smart programmers :)

made a few changes this time – had an excersice about doing automated builds and CI, removed rhino mocks and added a bunch of other frameworks (FakeItEasy, JustMock and others) and various other small things.

at the last day of the course, I asked each person on the most important thing they learned, and something that surprised them during the course.

here’s the list we made:

•How to practice TDD

•Isolation frameworks abilities, differences and categories

•Difference between test and production code standards

•Pay attention to requirements

•TDD is doable, also in legacy

•Simple tests

•Legacy code refactoring is hard

•Better unit tests

•It’s not hype

•Reviewing is easier than thought

•Pair programming is productive

•How to refactor and test legacy

•Power of manual fakes

•Tdd makes testable code

•Tests as specs

•How to write fast tests, productively with tdd

•RTM tests are harder than you think

•Spec and Interface based development

•Code gets written differently

•Incremental work, simply

•Lots of different ways to do the same concept

•How to handle statics

•Different people are different

•Brownfield is tough to tdd

## More in Unit Testing

[All posts in Unit Testing](https://osherove.com/blog/category/unit-testing)

- Sep 6, 2010

    ### [Unit Testing in C++ is harder than..](https://osherove.com/blog/2010/9/6/unit-testing-in-c-is-harder-than.html)

- Aug 14, 2010

    ### [Two different ways to create bad logic in unit tests](https://osherove.com/blog/2010/8/14/two-different-ways-to-create-bad-logic-in-unit-tests.html)

- Mar 24, 2010

    ### [Introducing QuickUnit](https://osherove.com/blog/2010/3/24/introducing-quickunit.html)

- Mar 19, 2010

    ### [Code excavations, wishful invocations, perimeters and domain specific unit test frameworks](https://osherove.com/blog/2010/3/19/code-excavations-wishful-invocations-perimeters-and-domain-s.html)


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
