Learn Test Driven Development in Java

Learn everything you need to know about TDD, Test driven development tutorial for Java through real examples.
4.2 (156 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
1,996 students enrolled
Sale Ends Today!
73% off
Take This Course
  • Lectures 36
  • Length 3 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 11/2012 English

Course Description

This “Java Training: Test Driven Development Tutorial for Java” course provides everything you need to know to get started with test driven development in Java.

This course covers test driven development from scratch, through video lectures, demonstrations of practicing a test driven approach, and through exercises for you to complete, allowing you to gain valuable experience in using TDD.

For more information on our “Java Training: Test Driven Development Tutorial for Java” courses, visit our course page.

Sign up for this Java Training course now and learn from the ultimate test driven development tutorial for Java.

What are the requirements?

  • Basic knowledge of Java

What am I going to get from this course?

  • By the end of this course, you will be able to use a test driven approach to successfully deliver Java applications
  • In this course, you will learn how to design applications with testability in mind
  • In this course, you will learn how the rapid feedback loop of a test driven cycle can give real productivity and quality benefits
  • You will learn some common testing pitfalls to avoid when writing your tests
  • You will learn how to apply test driven development to your existing code allowing you to start applying TDD immediately

Who is the target audience?

  • Java software developers

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction to TDD
This introduction covers defining what we mean by test driven development, and provides a brief history of the origins of TDD
This lecture demonstrates what each stage of the TDD cycle looks like.
This lecture highlights some of the common benefits seen among teams when developing using test driven development.
Section 2: Demonstrating TDD, through walkthroughs and exercises
This lecture introduces our example application that we will use to demonstrate and practice test driven development.
This lecture shows how a reverse polish calculator works, using the calculator built in to Mac OSX.
TDD walkthrough part 1
TDD walkthrough part 2
TDD walkthrough part 3
This lecture summarises our experiences with test driven development so far.
Section 3: Real world TDD Part 1 : Design enabling test
This lecture introduces the idea of good design being a requirement for testability, and the idea that using a test driven approach can force that design. This section illustrates a number of design principles that are good to follow for creating both maintainable and testable code.
Introducing SOLID design principles
Single responsibility principle
Open closed principle
Liskov substitution
Interface seggregation
Dependency inversion
Section 4: Real world TDD Part 2 : Test doubles
This section introduces test doubles, and demonstrates various types of test doubles that you can use to aid your test driven development, and shows that not every type of test double is a mock.
Demonstrating Stub test doubles and what they can be used for.
Demonstrating Fake test doubles and what they can be used for.
Demonstrating one the most commonly used (and misused) types of test doubles - the mock.
In this walkthrough we will demonstrate how we can go about testing something more complicated than our simple calculator example, showing how different types of test doubles are used, and can be injected into our system under test.
This lecture concludes our test doubles section, and introduces mock frameworks and discusses how and when they can be used.
Section 5: Testing legacy code
This section introduces testing legacy code, something that often causes teams to struggle when trying to follow a test driven approach.
This walkthrough demonstrates an example of some legacy code, and some unit tests that have been created that allow this code to be tested effectively.
A conclusion to how we can go about testing legacy code, and still follow a test driven approach.
Section 6: Test principles
This section introduces a number of test principles that are good to keep in mind when creating your tests, as well as a number of testing anti-patterns that can make your testing harder than it should be.
Testing anti-patterns: The Singleton
Testing anti-patterns: Create the World
Testing anti-patterns: Completely Mocked
Testing anti-patterns: The Exceptional Test
Testing anti-patterns: Usually Passes
Testing anti-patterns: One Big Test
Test anti-patterns: The Slow Test
Testing anti-patterns: Second class test
Section 7: Applying TDD
In our final section, we provide some advice on how best to apply test driven development in your environment.
This final lecture leaves you with a number of exercises that you can use to practice and improve your test-driven skills

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Fluent Software Solutions, High Quality Training for Software Developers

Fluent Software Solutions is a software consultancy based in the UK that provides bespoke development and software developer training services.

At Fluent Software Solutions, we have years of experience in software development, and believe in sharing that knowledge.

From the process side of things like getting up and running with Scrum,Kanban, or other agile and lean techniques to more technical topics like software design, and language training on Java, C#, and Clojure, we can deliver training the will really benefit you and your team.

We believe the best way to learn is by doing, so carefully craft our courses, to mix the theory with practice, and even include many online and offline resources to make sure you get the most out of your training during and after all sessions.


Ready to start learning?
Take This Course