Practical Test-Driven Development
Test Driven Development (TDD) is a programming technique rediscovered by programming
guru Kent Beck in the 1990s. It is about writing automatic self-verifying tests, so-called unit
tests, before writing production code.
The basic steps in TDD consist of:
1. Write a failing test
2. Implement minimally to make the test pass
3. Refactor - make the code as good as possible
Regardless of how simple the above looks, TDD is often perceived as difficult to get started
with. To be able to test code in a good way, you must also know what characterizes good code,
which means the course extends into related topics such as software design, refactoring and
clean code
Training formats
Remote
Duration
1 day
Price
Target Group
The course is intended for developers. Since we are using techniques such as trainer
demonstration, pairing and mob-programming it is also okay that not all participants are
developers. The course is by standard held in Java and participants of the course are expected
to have their own development environment (at least one per pair for the pairing exercises). The
course can be requested to be held in another language than Java (TDD is language agnostic).
Previous experience from unit testing is good but not a requirement
Goal
• Increased understanding of code quality
• Techniques for refactoring
• Ability to apply TDD to simpler problems
• Avoid common pitfalls
• A source of inspiration and catalog of future learning about TDD
After completing the course you are familiar with TDD and its use case. You are able to apply it
to simpler problems at work. You are able to recognize good code from bad code. You will have
a catalogue for future learning in the topic.
Prerequisites
The course is intended for IT professionals involved in Software development
Course Content
Test driven development
• TDD theory inspirational seminar and demonstration
• Q & A
Unit testing best practices
• FIRST
• Bad tests
Clean code
• Clean code
• Refactoring
• Design principles
• Demonstrative pairing
TDD Practical exercises
• Mob programming
• Pair programming