Learn TDD in 24 hours
4.6 (117 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.
679 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learn TDD in 24 hours to your Wishlist.

Add to Wishlist

Learn TDD in 24 hours

A crash course for you to get deep into automated testing and JUnit!
Best Seller
4.6 (117 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.
679 students enrolled
Created by Maurício Aniche
Last updated 6/2015
Current price: $10 Original price: $20 Discount: 50% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 2 hours on-demand video
  • 7 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • 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
View Curriculum
  • Students must know Java and have the Eclipse IDE installed.

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!

Who is the target audience?
  • Developers that are tired to produce code that does not work.
  • Developers that want to improve their code quality using TDD
Students Who Viewed This Course Also Viewed
Curriculum For This Course
22 Lectures
Getting started with automated tests
6 Lectures 32:53

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.

Preview 10:35

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.

Preview 12:15

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!

Tests, tests, tests!

Eclipse shortcuts

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.

A real (and sad) story

It is your time to code (and test)!

Time to practice!

Getting started with unit tests
4 questions
Taking care of the test code
7 Lectures 40:22

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.

Eliminating repeated code

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.

One assert per test?

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.

Test names

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?

Preview 12:10

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.

Should I test private methods?

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.

Test Data Builders

Time to practice!

Good practices
3 questions
Test-Driven Development
4 Lectures 29:49

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.

Preview 18:33

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?

Baby steps

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.

Am I productive?

It is your time to practice.

Time to practice!

Test-Driven Development
4 questions
Mock Objects
3 Lectures 25:31

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.

Getting started with mocks

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.

The Date/Time example

It's your time to practice.

Time to practice!

Mock Objects
2 questions
Last Thoughts
2 Lectures 05:07

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

Preview 05:01

What else?
About the Instructor
Maurício Aniche
4.6 Average rating
117 Reviews
679 Students
1 Course
A passionate PhD candidate in software engineering

PhD candidate in Computer Science, Maurício is passionate about software development. With 10 years of experience in writing software, Maurício is very focused on object-oriented software good practices (in which he just published a book about), and a Test Driven Development evangelist. His book about TDD and its effect on class design is very popular. He also participates in many industry and academic conferences about software engineering, such as ICSME, ICST, QCON, and Agile.