Mastering Unit Testing

In this in depth practical course, you will master different unit testing techniques, like mocking and unit testing in legacy code.

The focus of this course is on:

  • improving your unit testing skills
  • getting a better understanding of what a unit test is
  • optimizing test scope and performance
  • learning techniques and guidelines for writing and maintaining unit tests

We offer this course both as a one day course or two day course.

Benefits

By participating in this course, you will:

  • apply test driven development and mocking techniques to test code in isolation
  • apply a number of techniques to break unwanted dependencies in code
  • know how to start making changes and adding tests simply and responsibly
  • know how to evaluate and improve your unit tests
  • understand the system dynamics of unit testing and design debt
  • have fun! – we take pride in creating a fun and effective learning environment, mixing presentations with exercises and hands-on development.

Intended audience

Software developers, architects, technical team leads, Scrum masters, and agile coaches who seek to become masters of unit testing, so that they are able to deliver better code faster.

Prerequisites

  • Knowledge of object oriented concepts
  • Experience in a programming language with Object/Class features, like Java, C# or Ruby
  • Experience working on software development projects
  • Basic knowledge of automated testing

Programme

The course consists of a mix of short presentations, live programming demonstrations, and lots of programming exercises. We will use Java for the examples and the practical exercises.

Course Introduction

Round of introductions; set expectations & collect issues; presentation Why unit testing? to see the short term and long term effects of unit testing from a systemic perspective.

Introduction to Test Driven Development

Experience the basics of test driven development; learn what makes a unit test.

Responsibility Driven Design with Mocking

Learn and experience the use of mocking techniques to write better isolated unit tests and to arrive at a more loosely coupled design; learn about the difference between interaction based testing and state based testing

Mocking Styles

Learn and experience different ways of creating mock objects; learn the difference between mocks, stubs, fakes, and dummies and when to apply them.

Getting Your Tests In: Breaking Dependencies in Code

Learn how to break dependencies in a responsible way; learn a number of refactorings that enable you to add tests to existing code without unit tests

Story Testing with RSpec

Get a fresh perspective on functional/integration/unit testing; RSpec is a behaviour driven development framework that can be used both for writing story tests and writing executable behaviour specifications for objects.

Closing RetrospectiveReflect on the learning experience, focus on bringing lessons learned to daily practice

Practical Information

We will offer this course as an open enrollment course and as an in house course. If you’d like to have this course run at your company, please contact us.

Duration: 2 days, 9:00-17:00

Group size: 8–14 participants

Open enrollment fee (for courses in The Netherlands): € 1050 per participant (exclusive of VAT)

In-company training fee: € 8000 (exclusive of VAT)