A Practical Introduction to Test-Driven Development (Coursera)

Offered by LearnQuest,
A Practical Introduction to Test-Driven Development (Coursera)

To be a proficient developer you need to have a solid grasp of test writing before putting code into production. In this course, we will take a hands-on look at Test-Driven Development by writing and implementing tests as soon as week one. TDD starts with good unit tests, so we will start there. Topics will also cover translating user specs into unit tests, applying the Red-Green-Refactor mantra, and applying mocks in python with the unittest.mock module. Once finished, you will have covered all the steps of TDD before development.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Course 2 of 4 in the Test-Driven Development Specialization.

Syllabus

WEEK 1
Automated Unit Testing Basics
Test-Driven Development starts with testing, and good TDD starts with good unit tests.
Unit Testing best practices
In this module we will discover the best practices for writing unit tests.

WEEK 2
Writing Tests for TDD
In this module, we'll be translating user specs into unit tests, including all the steps of TDD before development.
The Red-Green-Refactor cycle in practice
In this module we'll discover a hands on approach to applying the Red-Green-Refactor mantra of unit testing.

WEEK 3
The power of mocks
In this module we'll learn how to use mocks in python with the unittest.mock module.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Deploying Machine Learning Models (Coursera) Coursera
University of California, San Diego

Deploying Machine Learning Models (Coursera)

In this course we will learn about Recommender Systems (which we will study for the Capstone project), and also look at deployment issues for data products. By the end of this course, you should be able to implement a working recommender system (e.g. to predict ratings, or generate lists of related products), and you should understand the tools and techniques required to deploy such a working system on real-world, large-scale datasets.

Jun 22nd 2026
4 Weeks
Applied Data Science Capstone (Coursera) Coursera
IBM

Applied Data Science Capstone (Coursera)

This capstone project course will give you a taste of what data scientists go through in real life when working with data. You will learn about location data and different location data providers, such as Foursquare. You will learn how to make RESTful API calls to the Foursquare API to retrieve data about venues in different neighborhoods around the world. You will also learn how to be creative in situations where data are not readily available by scraping web data and parsing HTML code. You will utilize Python and its pandas library to manipulate data, which will help you refine your skills for exploring and analyzing data. Finally, you will be required to use the Folium library to great maps of geospatial data and to communicate your results and findings.

Jun 22nd 2026
5-12 Weeks
Fitting Statistical Models to Data with Python (Coursera) Coursera
University of Michigan

Fitting Statistical Models to Data with Python (Coursera)

In this course, we will expand our exploration of statistical inference techniques by focusing on the science and art of fitting statistical models to data. We will build on the concepts presented in the Statistical Inference course (Course 2) to emphasize the importance of connecting research questions to our data analysis methods. We will also focus on various modeling objectives, including making inference about relationships between variables and generating predictions for future observations.

Jun 22nd 2026
4 Weeks
Python Project: pillow, tesseract, and opencv (Coursera) Coursera
University of Michigan

Python Project: pillow, tesseract, and opencv (Coursera)

This course will walk you through a hands-on project suitable for a portfolio. You will be introduced to third-party APIs and will be shown how to manipulate images using the Python imaging library (pillow), how to apply optical character recognition to images to recognize text (tesseract and py-tesseract), and how to identify faces in images using the popular opencv library. By the end of the course you will have worked with three different libraries available for Python 3 to create a real-world data-analysis project.

Jun 22nd 2026
3 Weeks
Using Python to Interact with the Operating System (Coursera) Coursera
Google

Using Python to Interact with the Operating System (Coursera)

By the end of this course, you’ll be able to manipulate files and processes on your computer’s operating system. You’ll also have learned about regular expressions -- a very powerful tool for processing text files -- and you’ll get practice using the Linux command line on a virtual machine. And, this might feel like a stretch right now, but you’ll also write a program that processes a bunch of errors in an actual log file and then generates a summary file. That’s a super useful skill for IT Specialists to know.

Jun 23rd 2026
5-12 Weeks
Machine Learning Rapid Prototyping with IBM Watson Studio (Coursera) Coursera
IBM

Machine Learning Rapid Prototyping with IBM Watson Studio (Coursera)

An emerging trend in AI is the availability of technologies in which automation is used to select a best-fit model, perform feature engineering and improve model performance via hyperparameter optimization. This automation will provide rapid-prototyping of models and allow the Data Scientist to focus their efforts on applying domain knowledge to fine-tune models. This course will take the learner through the creation of an end-to-end automated pipeline built by Watson Studio’s AutoAI experiment tool, explaining the underlying technology at work as developed by IBM Research.

Jun 22nd 2026
4 Weeks
Engineering Maintainable Android Apps (Coursera) Coursera
Vanderbilt University

Engineering Maintainable Android Apps (Coursera)

Engineering Maintainable Android Apps, which is a 4 week MOOC that shows by example various methods for engineering maintainable Android apps, including test-driven development methods and how to develop/run unit tests using JUnit and Robotium (or equivalent automated testing frameworks for Android), as well as how to successfully apply common Java/Android software patterns to improve the extensibility and clarity of Android apps.

Jun 22nd 2026
4 Weeks