4.43 out of 5
437 reviews on Udemy

Learn TDD in 24 hours

A crash course for you to get deep into automated testing and JUnit!
MaurĂ­cio Aniche
1,981 students enrolled
English [Auto-generated]
Write automated unit tests
Practice Test-Driven Development in real code
Know about good unit testing patterns and practices
Use mock objects to write real isolated unit tests

Are you a Java developer and want to become an expert in software testing? That's the course for you! In this course, you will learn how to stop doing manual testing and start to do automated software testing.

How many times did you write a bug? How many times did you change the software and didn't test it all? Testing software is an art. And surprisingly easy! During the videos, we will see many real world classes that need to be tested.

In a nutshell, you will see that writing a test is almost like writing all those "main methods" you have written during your first programming lessons. Then, you will see how to do it professionally. And by professional, I mean learn how to have a good testing code, how to simulate databases using mock objects, and even how to practice Test-Driven Development, which is about writing the test code prior to the production code (and yes, that are many advantagens when doing it!).

Good developers write good code. And good code is, among many other things, code that work. Let's learn how to test software and never have a bug again!

Getting started with automated tests

Why should we test software?

Why should we test software? In this chapter, you will see that is really easy to write a bug -- in fact, more easy than we wanted it to be. How to find them? Testing the software, of course.

Our first unit test

Now, it is time for us to write our first automated testing. And you will see that is looks like the code you've written in your first programming class -- yes, it is that easy. I will introduce you to JUnit, ladies and gentlemen.

Tests, tests, tests!

Now you know how to write an unit test. Now, it is time to cover all possible scenarios. Let's write all the tests we can!

Eclipse shortcuts
A real (and sad) story

I will open my heart in here. I will tell you a real story about how a bug caused me a lot of troubles. And I bet you have a similar story. Hope you get even more motivated to study software testing.

Time to practice!

It is your time to code (and test)!

Getting started with unit tests

Taking care of the test code

Eliminating repeated code

We do have a lot of testing code now. More test code than production code, in fact. It's time for us to learn how to make test code more readable and maintainable. Let's start by removing repeated code.

One assert per test?

And what about this famous "one assert per test" rule? I will tell you why I disagree with it, and how to make our assertions better.

Test names

Giving names is one of the most important thing when writing a test. We will discuss about how to give a test a name. It's easier than you think.

Testing a more complicated class

Time to go to the next level. Let's start by testing a more complicated class with different conditions and private methods. How do we do it?

Should I test private methods?

Uhhh, now we have a very complicated private method. Should we test it isolated from the public method? Should we not? Let's talk about it.

Test Data Builders

Creating scenarios is, for sure, the hardest part when writing the test. Let's learn that "test data builders" are. They will save our time when dealing with more complicated scenarios.

Time to practice!
Good practices

Test-Driven Development

The TDD cycle

Can we start the test ... by the test? Let's learn about Test-Driven Development, and see why this is a very popular practice among developers.

Baby steps

Should I go faster? Should I go slower? Let's discuss about taking "baby steps" during your implementation. Do they help? Should I do it all the time?

Am I productive?

Now, let's see how we can convince our managers that we are not losing time when we are writing automated tests. I will show you some very good arguments. After that, even your boss will tell you to write tests.

Time to practice!

It is your time to practice.

Test-Driven Development

Mock Objects

Getting started with mocks

Again, going to the next level. How can we test classes that depend upon another classes? What if I depend upon a DAO, that access my database? Easy... Let's simulate them using mock objects.

The Date/Time example

What if I use a crazy API in my code? I can't mock it. Hmm, yes, you can. All you have to do is to write a little bit more code. I will show you.

Time to practice!

It's your time to practice.

Mock Objects

Last Thoughts

Summing up

Let's review everything the talked about and see how much we learned when we started to study automated software testing.

What else?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.4 out of 5
437 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


2 hours on-demand video
7 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion