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

Udacity

Test-Driven Development

via Udacity

Overview

Gain confidence in your software with Test-Driven Development (TDD). Practice the red-green-refactor loop with Python and pytest—writing tests before you write your code. Learn how unit, integration, and end-to-end tests fit together to provide a comprehensive safety net. Organize clean test suites using advanced techniques: fixtures, mocking, and parameterization. Deploy with confidence at scale by incorporating testing into CI/CD and pre-flight checklists. Leverage TDD to use AI tools the right way—encode your requirements as tests, then let AI help implement the code that passes them. By the end of this course, you will be able to refactor with confidence, catch regressions early, and ship features faster with less risk.

Syllabus

  • Introduction to Testing in Software Development
    • Learn why TDD exists, how it fits into modern software practices, and what types of tests (unit, integration, end-to-end) support a robust testing culture.
  • Writing Unit Tests in Python
    • Gain hands-on experience using pytest to write simple, test-first Python code. Follow the arrange-act-assert framework for unit testing. Map tests to CRUD operations—create, read, update, delete.
  • Creating Robust and Maintainable Test Suites
    • Apply best practices to name, group, and organize tests. Utilize advanced pytest techniques, including fixtures, parameterization, and mocking.
  • Diagnosing Failures and Scaling Testing in Practice
    • Diagnose failures: read errors, debug with breakpoints, and find root causes. Then go practical—write integration tests against real APIs, track coverage, and use pre-flight checklists before release.
  • Udatracker Order Management System
    • Implement a web application—including backend business logic and a Flask API—using test-driven development.

Taught by

Laura Morinigo

Reviews

Start your review of Test-Driven Development

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.