Online course

Driving Your Java Code with Tests

Delivered by Kevlin Henney
June 8th - June 23rd, 2020
5 hours per week

You will learn about..

  • What do we mean by unit tests?

  • How do unit tests fit into the testing and development landscape?

  • What do GUTs look like?

  • The elements of TDD

  • Core JUnit features

  • Data-driven tests and how to choose test data

  • Test naming and nesting

  • The anatomy of test cases and test suites

  • Plain ol' unit testing (POUT), defect-driven testing (DDT) and iterative test-last (ITL)

  • Identifying and adjusting overfitting and underfitting tests

  • Reasons writing tests can be hard, and how to respond

  • Mocks, stubs and other test doubles

  • When to use values instead of test doubles

  • Testing and legacy code


3 weeks


5 hours per week






TDD, GUTs, Java


Developers, team leads, architects and testers


Course description 

Testing forms an integral part of the modern software development flow. From customer-facing acceptance tests to code-focused unit tests, automated testing is part of the fabric of a modern build process and deployment pipeline. 


But it's not enough that there are some tests: to be a help, not a hindrance, tests need to communicate not just verify, and testing needs to be a development habit, not an afterthought.

In this online course, you will learn about good unit tests (GUTs) and test-driven development (TDD) by seeing what it takes, putting them into practice, and reviewing what you've learned.

What practices support readable and maintainable tests? What test pitfalls hold developers and products back? How do you make testing fun and not a chore? Join us to answer these questions and more.

The examples and hands-on exercises will use Java and JUnit 5, but you don't need to be a Java guru to take part.


Course dates & time

Each session includes lecture, Q&A and hands-on coding exercises, as well as optional homework to help connect the days and weeks. 


The course is designed so that it can fit in with your other commitments for work and home.

 It is split into six 2½-hour parts spread over two weeks, two days per week.



Kevlin Henney is an independent consultant, speaker, writer and trainer. His development interests include programming languages, software architecture and programming practices, with a particular emphasis on unit testing and reasoning about practices at the team level. He has spoken at Build Stuff conferences and meetups since 2014 and is a popular keynote speaker at conferences around the world.

Kevlin loves to help and inspire others, share ideas and ask questions. He has helped many teams with their code,  culture and practices, contributing code to companies and open source. He has been a columnist for a number of magazines and sites (including Java Report, C++ report, Better Software and The Register) and has been on far too many committees (including the ISO C++ committee and the IEEE Software advisory board). He is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of 97 Things Every Programmer Should Know and co-editor of 97 Things Every Java Programmer Should Know.


Taking this course you will get..


Slides, references,

real-world examples


you will get a collection of visual references compiled by our artist


After each lesson


Get direct access to the trainer & attendees On Slack Channel. Chat, share & ask directly


Collaborative team-work tools


Book by the author


Take this online course if: 

  • you want to cover more functionality with less code.

  • you want to improve the quality of your unit tests.

  • you want to spend less time puzzling over the meaning of code, bugs and tests.

  • you want to reduce time wasted in your day-to-day development process.

Course details


The audience for this course includes developers, team leads, architects and testers.

The examples and hands-on exercises will use Java and JUnit 5, but you don't need to be a Java guru to take part.


The course will make use of an online environment that supports unit testing, so there is no need for any additional software.

If you are comfortable reading Java and are familiar with it, you will find the lessons translate easily to many other languages and frameworks. 


Upcoming Events

Mon, Jun 08
Kevlin Henney - Driving Your Java Code with Tests
Learn how to spend less time puzzling over the meaning of code, bugs, and tests.
Tue, May 26
Sam Newman - Building Microservices
Learn how to architect, design, build, deploy and manage software systems using microservices
Get updates!

Signing up for newsletters indicates you agree with our Privacy Policy.

@2020 Official organizer FIX EVENTS, LITHUANIA

  • fb-icon-cyan
  • twitter-icon-cyan
  • linkedin-icon-cyan
  • youtube-icon-cyan