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

University of California, Santa Cruz

Agile Software Development with Python: TDD and BDD

University of California, Santa Cruz via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
In today’s fast-moving tech world, great developers do more than just write code — they build adaptable, high-quality software that meets real user needs. This hands-on course will guide you through the essential tools and mindsets that power modern software teams. You’ll gain a deep understanding of Agile principles and the Scrum framework, learning how to iterate quickly and deliver value efficiently. Through practical Python exercises, you’ll master Test-Driven Development (TDD) and Behavior-Driven Development (BDD) — industry-proven practices that help you design cleaner, more reliable, and maintainable code. By the end of the course, you will be able to apply Agile and Scrum frameworks to manage real-world projects effectively, write and test Python code using Pytest and Behave, and collaborate seamlessly with developers, testers, and stakeholders through shared language and executable specifications. Whether you’re an aspiring developer or a working professional, this course empowers you to build better software, communicate more effectively, and advance your career in today’s Agile-driven industry.

Syllabus

  • Foundations of Agile Development
    • Welcome to the course! This course provides a practical, hands-on introduction to Agile software development using Python, with a strong emphasis on modern testing practices such as Test-Driven Development (TDD) and Behavior-Driven Development (BDD). In this module, we will establish a strong conceptual foundation of software development evolution and the core tenets of the Agile mindset, preparing for the practical application of Scrum, TDD, and BDD.
  • Deep Dive into Scrum: Framework for Agility
    • In this module, we will gain a comprehensive understanding of the Scrum framework. We will be able to identify and apply its core components in an Agile development context.
  • Python for Agile Development: Tools & Setup
    • In this module, we will set up our Python development environment, equipping with the essential tools and configurations necessary for the hands-on aspects of the course, especially regarding testing frameworks.
  • Unit Testing with Pytest & TDD Fundamentals
    • In this module, we will introduce the concept of unit testing and the Pytest framework, and deeply embed the Test-Driven Development (TDD) cycle (Red-Green-Refactor) as a fundamental practice for building robust and reliable software.
  • Integration Testing & Introduction to BDD with Behave
    • In this module, we will expand our testing knowledge beyond unit tests to integration testing. We will be introduced with Behavior-Driven Development (BDD) as a collaborative approach for defining and testing features from a business perspective using the Behave framework.
  • Course Conclusion & Next Steps
    • Well done! In this final module, we will comprehensively review all key concepts covered throughout the course, reinforce the value proposition of combining Agile methodologies with Python development and modern testing practices, and be provided with clear guidance for continued growth.

Taught by

Paddu Melanahalli

Reviews

Start your review of Agile Software Development with Python: TDD and BDD

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.