Beginning Test Driven Development in C++
5.0 (2 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.
69 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Beginning Test Driven Development in C++ to your Wishlist.

Add to Wishlist

Beginning Test Driven Development in C++

Learning the discipline of Test Driven Development (also known as TDD) Using the C++ Programming Language
New
5.0 (2 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.
69 students enrolled
Created by Richard Wells
Last updated 9/2017
English
Price: $30
30-Day Money-Back Guarantee
Includes:
  • 2 hours on-demand video
  • 8 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
What Will I Learn?
  • How to implement unit tests for their production C++ code using the discipline of Test Driven Development.
View Curriculum
Requirements
  • You should be familiar with the C++ programming language.
  • Have your desired IDE installed and ready to use. The course will go over how to setup and use the Google Test library in Visual Studio and Eclipse.
Description

Test Driven Development is a key discipline every software developer should practice to ensure the quality of their code.  In this course I'll show you how to use this discipline in your everyday coding practices to help ensure the quality of your code base.

  • In this course we’ll be going over:

    • What is Unit Testing and Test Driven Development and how does it help you.

    • What is the Google Test testing library and how is it used for writing unit tests in C++.

    • How to setup some common C++ development environments to use Google Test.

    • What are some Best Practices for unit testing and Test Driven Development.

    • We’ll also walk through some hands on example programming sessions using TDD in C++.

Who is the target audience?
  • Anyone who wants to write better code faster.
Compare to Other Test Driven Development Courses
Curriculum For This Course
17 Lectures
02:08:05
+
Introduction
1 Lecture 01:05

In this video I introduce myself and what this course will be all about.

Preview 01:05
+
Overview of Test Driven Development
3 Lectures 29:27

In this lecture we'll go over what unit testing is and why it's so important to the software development process.

What is Unit Testing?
04:03

In this lecture we'll go over what Test Driven Development is, a little bit of it's history, it's benefits, and it's work flow.

What is Test Driven Development?
05:13

In this lecture I'll show you a short example Test Driven Development coding session using Google Test and implementing the Fizz Buzz Code Kata.

Preview 20:11

Unit Testing and Test Driven Development Overview Quize
5 questions
+
Setting Up Your Development Environment
2 Lectures 19:32

In this lecture I'll be going over downloading and building google test for Posix platforms and then integrating it in Eclipse.

Setting Up Google Test With Eclipse
10:38

Setting Up Google Test With Visual Studio
08:54

Now that you've seen how to build and use google test in Eclipse and Microsoft Visual Studio it's time for you to set this up in your development environment using your IDE of choice. Download and build google test and get the green bar showing up in your IDE.
Setup your development environment for Google Test
1 question

For this assignment implement the Fizz Buzz kata by following along with the lecture. If this is your first time trying TDD it's important to follow along with the steps in the lecture to get a feel for how it flows.
Implement the Fizz Buzz Kata while following along
1 question

Now that you've implemented Fizz Buzz while following along with the video try doing it again without the video. Practice makes perfect and this is true for TDD as well. You need to get familiar and comfortable with the work flow by doing simple repetitive problems.
Implement Fizz Buzz without Following Along with the Video
1 question
+
Google Test Overview
1 Lecture 07:25

In this lecture I'll go over the Google Test C++ Unit Testing framework.

Google Test Overview
07:25
+
The Supermarket Checkout Kata
5 Lectures 42:32

In this lecture I'll go over the Supermarket Checkout Kata which will be the focus of this section.  Then I setup a new Eclipse project using google test and implement the first test case.

Overview, Setup, and 1st Test Case
06:08

In this lecture I'll implement the 2nd, 3rd, and 4th test cases for the supermarket checkout kata.  Adding item prices, adding items, and calculating the total.

Add Items, Add Item Prices, and Calculate Current Total
09:56

In this lecture I implement the next test case for the supermarket checkout kata where I add multiple items to the checkout list and validate I have the correct total

Add Multiple Items and Calculate Total
03:49

In this lecture I add discount rules and applying discounts when calculating the total.

Add and Apply Discounts
19:37

In this lecture I implement the last test case of the supermarket checkout kata.  Generating an exception if an item is added which doesn't have a price defined.

Throw Exception when Adding an Item with No Price
03:02

This assignment is to implement the Supermarket Checkout kata while following along with the video lecture.
Implement the Super Market Checkout Kata While Following Along with the lecture
1 question

Now that you've implemented the Super Market Checkout kata while following along with the video give a stab at implementing it on your own.
Implement the Super Market Checkout Kata on Your Own
1 question
+
Test Doubles
3 Lectures 23:30

In this lecture I go over what test doubles are and how they help you test your production code in isolation.

Overview of Test Doubles
03:27

In this lecture I'll be going over how the Google Mock library works.

Google Mock Overview
04:45

In this lecture I'll work through a hands on TDD coding session with Google Test and Google Mock.

Google Mock Example
15:18

This quiz will ask questions related to the Test Doubles overview.

Test Doubles Quiz
5 questions
+
TDD Best Practices
1 Lecture 02:43

In this lecture I'll go over some unit testing and TDD best practices that I've found essential to getting the full benefit of practicing TDD.

TDD Best Practices
02:43
+
Conclusion
1 Lecture 01:51

In this lecture I wrap up the course by reviewing what we went over in the course and what the next steps are in the path of learning unit testing and Test Driven Development.

Conclusion
01:51

This assignment is to implement the Bowling Game Kata (http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata) as defined by Robert (Uncle Bob) Martin.
The Bowling Game Kata
1 question
About the Instructor
Richard Wells
5.0 Average rating
2 Reviews
69 Students
1 Course
Professional software engineer passionate about quality code

I'm a software engineer with over twenty years of experience.  I've worked professionally writing code in Assembly, C, C++, Java, C#, Javascript and Python and I am knowledgeable with the entire software development life cycle.  I've written system requirements, software requirements, use cases, and user stories.  I'm an avid practicer of Agile, Scrum, and Extreme Programming disciplines.  I'm passionate about the process of writing quality software fast.