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)
