Back to Catalog

Introduction to Test and Behavior Driven Development

Learn on

Coursera logo
Beginnercourse

Master the techniques of test-driven and behaviour-driven development. Improve unit testing through advanced TDD methods including coverage reports, factories, fakes, and mock objects. Develop unit tests with test assertions and test fixtures and then run the tests.

Language

  • English

Topic

  • Web Development

Enrollment Count

  • 276

Skills You Will Learn

  • Software Testing, Test-Driven Development, Behavior-Driven Development, Automated Testing

Offered By

  • IBMSkillsNetwork

Estimated Effort

  • 19 hours

Platform

  • Coursera

Last Update

  • May 13, 2024
About This course
Successful developers need to not only build the right software but build it right. To know your software works correctly, you need to test each unit of code. One of the best methods for this unit-level testing is test-driven development. 

This course provides a detailed overview of test-driven development (TDD). First, you’ll learn what automated testing is and why it is essential for building robust applications resilient to failure. You’ll explore the basics of testing, including test cases, testing levels, and the traditional release cycle. 

You’ll learn about TDD and its complement, behaviour-driven development (BDD): TDD tests individual units of code while BDD tests how these units work together. 

Then you’ll examine TDD in detail. You’ll explore TDD’s benefits, concepts, and popular tools, and you’ll hone your new testing skills through hands-on labs. You’ll create TDD test cases by writing test assertions and building test fixtures, and you’ll run these test cases by using the Nose testing package. You’ll then practice more advanced TDD methods such as increasing code coverage, generating and using fake data, and testing mock objects.

Instructors

John Rofrano

Senior Technical Staff Member | DevOps Champion

John J. Rofrano is a Senior Technical Staff Member and DevOps Champion at IBM T.J. Watson Research Center where he leads a variety of research projects exploring the use of AI for accelerating Application Modernization to the Cloud. He is also an Adjunct Faculty Member at New York University Courant Institute, and Stern School of Business @ NYU, where he teaches a graduate course on DevOps and Agile Methodologies. John is an accomplished musician and videographer, and has authored numerous patents, industry papers, training videos, and books.

Read more