Learn Test Driven Development in Java

Learn everything you need to know about TDD, Test driven development tutorial for Java through real examples.
11 reviews
  • 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.

  • Lifetime access to 36 lectures
  • 2+ hours of high quality content
  • A community of 400+ students learning together!

Learn Test Driven Development in Java

Learn everything you need to know about TDD, Test driven development tutorial for Java through real examples.
11 reviews


Discover courses made by experts from around the world.

Take your courses with you and learn anytime, anywhere.

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


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.

    • Basic knowledge of Java
    • Over 36 lectures and 3 hours of content!
    • 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
    • Java software developers


30 day money back guarantee
Lifetime access
Available on Desktop, iOs and Android
Certificate of completion


  • SECTION 1:
    Introduction to TDD
  • 1
    What is TDD
    This introduction covers defining what we mean by test driven development, and provides a brief history of the origins of TDD
  • 2
    The Test Driven Development cycle
    This lecture demonstrates what each stage of the TDD cycle looks like.
  • 3
    Why TDD?
    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
  • 4
    Let's get started, introducing our example app
    This lecture introduces our example application that we will use to demonstrate and practice test driven development.
  • 5
    Demonstrating the reverse polish calculator
    This lecture shows how a reverse polish calculator works, using the calculator built in to Mac OSX.
  • 6
    Test driven walkthrough part 1
    Part 1 of this walkthrough shows how we can start creating our calculator application from scratch using test driven development.
  • 7
    Test driven walkthrough part 2
    The second part of our TDD walkthrough demonstrates how we can build on top of our very basic application, and how using test driven development allows us to refactor both the application code and test code.
  • 8
    Test driven walkthrough part 3
    The final part of our walkthrough continues by adding more features to our calculator, and also sets a number of exercises for you to complete, allowing you to experience what developing in a test driven fashion feels like.
  • 9
    Walkthrough summary, common questions
    This lecture summarises our experiences with test driven development so far.
  • SECTION 3:
    Real world TDD Part 1 : Design enabling test
  • 10
    Introduction to real world testing
    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.
  • 11
    Introducing SOLID design principles
  • 12
    Single responsibility principle
  • 13
    Open closed principle
  • 14
    Liskov substitution
  • 15
    Interface seggregation
  • 16
    Dependency inversion
  • SECTION 4:
    Real world TDD Part 2 : Test doubles
  • 17
    Introducing 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.
  • 18
    Demonstrating Stub test doubles and what they can be used for.
  • 19
    Demonstrating Fake test doubles and what they can be used for.
  • 20
    Demonstrating one the most commonly used (and misused) types of test doubles - the mock.
  • 21
    Demonstrating Test Doubles
    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.
  • 22
    Mock frameworks
    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
  • 23
    Dealing with legacy code
    This section introduces testing legacy code, something that often causes teams to struggle when trying to follow a test driven approach.
  • 24
    Demonstration of testing legacy code
    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.
  • 25
    Legacy code summary
    A conclusion to how we can go about testing legacy code, and still follow a test driven approach.
  • SECTION 6:
    Test principles
  • 26
    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.
  • 27
    Testing anti-patterns: The Singleton
  • 28
    Testing anti-patterns: Create the World
  • 29
    Testing anti-patterns: Completely Mocked
  • 30
    Testing anti-patterns: The Exceptional Test
  • 31
    Testing anti-patterns: Usually Passes
  • 32
    Testing anti-patterns: One Big Test
  • 33
    Test anti-patterns: The Slow Test
  • 34
    Testing anti-patterns: Second class test
  • SECTION 7:
    Applying TDD
  • 35
    Applying Test Driven Development
    In our final section, we provide some advice on how best to apply test driven development in your environment.
  • 36
    TDD Kata
    This final lecture leaves you with a number of exercises that you can use to practice and improve your test-driven skills


Hours of video content
Course Enrollments


  • 6
  • 4
  • 1
  • 0
  • 0


  • Mikael Sjöman
    Sometimes great, but too narrow scope. Could become a 5-star course.

    I was really looking forward to this course and I bought this one for 10 USD, and that seems to be the reasonable price if there is such a thing at it's current state. The teacher is really good in many ways, but the scope of the class is too narrow and is too focused at explaining the concepts at an abstract level (Examples of this below). For example, section three needs a walkthrough with practical coding examples, preferably after each principle. At least one final walkthrough at the end of the videos. There are way too many Powerpoint presentations compared to video walkthroughs. They are good, and the information in them are good, but they lack practical examples where we as students can see how things are built with TDD. In Real world TDD part 2, the teacher is reading up pre-written code. This is a weak pedagogical approach since it doesn’t show how he gets to this code and why. I would like to have seen how this project was built from scratch, so I would understand the process following along. Just understanding code, does not translate into new behaviour or practical competence because it lacks deep understanding and context or experience to draw from. This is also a major issue of “how to test legacy code”. It does not show how to do it in practice, instead he shows how it was fixed by reading code. That is sure interesting, but it doesn’t give me any experience to draw from doing the same. Also the course lack how to test UI elements, which I think is necessary to get a higher grade. Final judgement; interesting (too short course) on TDD, but the lack of other good material online might make it the entry point to TDD in lack of better things out there using Java. If the teacher added walkthroughs showing how to use good judgement with a couple of more projects, it could easily become the five stars-course I think it should become. If you buy it with the current 36 videos, ask for a huge discount.

  • Clark Sann
    Great course! Highly recommended.

    I am new to TDD. This course provides a good background into TDD but it also teaches about good OO software development principles. I learned a great deal and highly recommend this course. The instructor is very good. He approaches the topic in a very slow and relaxed manner and his lessons are easy to absorb, even for a new developer. The only criticism I have with the course is that some of the slides are hard to read on small high resolution screens such as laptops and pads. This only occurred when the instructor was showing source code within his development IDE. The author does provide source code as a downloadable file.

  • Teemu Grönqvist
    Excellent presentation

    The presentation of the topic in this course was excellent. Course itself is a bit on the pricey side, but the price shows positively in quality. Really liked the more general aspect into object-oriented programming in section 3. Made me learn a lot more from this course than "just" TDD in Java.

  • Nick Hester
    Great content, great examples, a little slow

    The content of the lessons is great. The concepts are presented clearly, and the walk-throughs make things even more clear when watching the teacher write example code. I found it a little frustrating how slowly the teacher speaks, and how often he pauses for long periods of time (5 or 10 seconds). If you like taking a slow pace, then maybe that's not a negative for you. Worth the money.

  • Jordan Hudgens

    This is a great course and gives a practical approach to TDD, something not many tutorials do. As TDD becomes more of an industry wide best practice, this is an important toolset to work with.

  • 30 day money back guarantee!
  • Lifetime Access. No Limits!
  • Mobile Accessibility
  • Certificate of Completion