Gojko Adzic's Test Driven Development Workshop

Topics covered at TDD-02-02
View Schedule & Book More dates available

Next up:

Would you like to build quality into software from the start, design and develop systems fit for purpose and write code that is easy to maintain and evolve? Come along to this Test Driven Development course, and learn core TDD practices that will help you do just that!

In this TDD course, you will use and learn TDD practices such as unit testing, refactoring and related agile practices such as continuous integration and pair programming.

You will be immersed in a realistic TDD project, allowing you to learn the practices and principles of test driven development and try them out in practice.

Upon completion of this TDD course, you will understand the reasons behind TDD and will have experienced its benefits first-hand.

This is a completely hands-on workshop with coding right from the start, interrupted by very short presentations to explain the practices and put things into a wider perspective. It is based on the very latest tools, current knowledge and ideas from the community.

By applying what you learn, you will be able to build quality into software from the start, design and develop systems fit for purpose and write code that is easy to maintain and evolve in the future.

Learn how to:

  • Design and develop software driven by tests
  • Protect software from unwanted changes using regression tests
  • Evolve software design with refactoring and TDD
  • Recognise smells in the code and clean them up
  • Capture requirements and specifications as acceptance tests
  • Use executable specifications to drive development
  • Continuously integrate software to get quick feedback about changes
  • Apply best practices and avoid pitfalls of unit and acceptance testing
  • Use MBUnit, Gallio and Moq (.NET/C# developers) or JUnit and Mockito(Java developers)

About the Expert

Damjan Vujnovic

It all started at the age of 12, when the secrets of C=64 machine language ignited the passion for computer programming. Today, after more than 10 years of professional experience, the sheer excitement and pride of making a new technology "work" is still driving Damjan Vujnovic every day.

About the Author

Gojko Adzic

Gojko has helped numerous teams implement best specification-by-example practices, written two books on the subject and contributed to several open source projects. He frequently speaks at leading industry conferences.

  • Introduction to TDD
  • Unit testing basics
  • Using TDD with MBUnit (for .NET/C# developers) or JUnit (for Java developers) to explore and design software
  • Continuous integration and detecting change
  • Writing efficient unit tests
  • Best practices and pitfalls of unit testing
  • Applying mock and stub objects with Moq (for .NET/C# developers) or Mockito (for Java developers) to isolate tests
  • Identifying code smells and improving the code with refactoring


If you are a C#.NET or a Java developer, or if you are an architect, and you want to get started with agile development practices or learn how to build quality into software from the start, then this Test Driven Development course is for you!


To benefit from this Test Driven Development course, you should have basic knowledge of C# or Java and object-oriented design, prior to attending.