TAUGHT BY

Roy Osherove is one of the original ALT. NET organizers. He consults and trains teams worldwide on the gentle art of unit testing, test-driven development and how to lead software teams. He frequently speaks at international conferences on these topics and others.

Roy is the author of the book The Art of Unit Testing, and writes about subjects such as unit testing, TDD Team Leadership and agile development on his blog

COURSE DESCRIPTION

Hello everyone. My name is Roy Osherove. You might have read my book ““The Art of Unit Testing ”.

When we approach the skill of test driven development, I can see three distinct sub skills needed to accomplish it:

Writing good unit tests

Writing them test first

Design skills.

My book deals with the first skill: Writing good tests.

In this Unit Testing Best Practices program, recorded live during several TDD master classes, I deal with both Good unit tests, and test first development.

I focus very little on design skills, because I believe that focusing on all three skills at the same time can be very challenging to learn.

On day 1, we begin at absolute zero: no knowledge of writing unit tests is needed, and we go through writing our first tests together, discussing readability and maintainability as we go along.

Then we move into test driven development, and the string calculator kata as a demo that the students need to complete.

On day 2, we talk about mock objects, stubs and fakes. We talk through a couple of different scenarios where fakes are needed, and how to write hand written fakes. This is an important skill that can help us a lot, even when we know how to use isolation frameworks. We then move from hand written fakes to Isolation (mocking) frameworks. We discuss when they bring to the table, and contrast a few of the isolation frameworks, their APIs and their design in this Unit Testing Tutorial course.

We also discuss the idea of constrained and unconstrained isolation frameworks, and why some frameworks have more abilities than others.

On day 3, we focus on writing good tests. We start by reviewing test code written by others, and learn the essential skill of sharing knowledge with others about how to write unit tests, and how to do test reviews. We also revisit methods of writing readable, maintainable and trustworthy tests.

On day 4, we focus mainly on legacy code, ad refactoring techniques on breaking it. We take a look at extract and override, refactoring static classes into instance classes, and more. We also finish up with using an unconstrained isolation framework (Typemock isolator) to test legacy code.

On day 5, I usually do exercises on real production code written by my students at my own company. In this video series, I have chosen to incorporate a few advanced ideas as part of the learning process: We look at refactoring complex validation methods to extract and override for testability, and how to create domain specific testing isolation frameworks.

UDEMY BY THE NUMBERS

RATING

The Art of Unit Testing & TDD Master Class in .NET

9

5

1

0

0

AVERAGE RATING

NUMBER OF RATINGS

15

REVIEWS

Peter Davidsen

a year ago

Very nice for beginners to unit testing

This course is a great way for people who are starting to write unit tests, and wants to do TDD. However if you already has experience writing tests, using mocks and so on, you will not get as much out of this. I write unit tests dailiy but have never really gotten into TDD, and this course made me understand it very easily.
The quality of the videos themselves are at times a bit blurry which is annoying as there are a lot of code demos.
Roy also presents the use of different mocking frameworks and cases where testing isn&#039;t as straight forward as you&#039;d might hope (external apis), fx. testing Silverlight applications.

Søren Engel

a year ago

Great course material, but lacks well-documented exercises

The course material itself is really great, no questions about that. I started with little, to none, experience on how to write unit tests and drive the development process using TDD. By the time being, I feel that I am a lot more confident within the two aspects.
However, I am really missing more well-crafted exercises, as videos often ends with a "we'll continue doing X and Y in the exercises", whereas a lot of what it meant to be done here is underspecified for the viewer of the videos. It would be of great help, if the course had more exercises included, explaining what the assignments were, as well as answers to these exercises. So far this is only done in section 2 (Mocks), and even this document is not all too well-organized.
My conclusion is that this course offers a lot of expert knowledge on the subject, but it leaves the viewer with too little practical hands-on experience, due to the absence of well-documented exercises.