Software Engineering: Implementation and Testing (Coursera)

Software Engineering: Implementation and Testing (Coursera)

Software Development Life Cycle (SDLC) is the process of developing software through planning, requirement analysis, design, implementation, testing, and maintenance. This course focuses on the implementation and testing phases of SDLC, and you will examine different software development processes for large software systems development, and understand the strengths (pros) and weaknesses (cons) of different software development processes.

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

You will also encounter defensive programming techniques to prevent software bugs during implementation, and learn how to test your system thoroughly using different types of test cases.
Basic object-oriented programming (OOP) concepts are required for topics covered in defensive programming and object-oriented testing. Implementation is driven by the UML models derived from requirement analysis. It is recommended to take the course "Software Engineering: Modeling Software Systems using UML" before attempting this course, but it is not a hard requirement.
Course 2 of 3 in the Software Engineering Specialization.

Syllabus

WEEK 1
Introduction to Software Development
Welcome to the first module of this course! In this module, you will learn: (1) The tasks involved in software development. (2) The processes involved in Software Development Life Cycle (SDLC).

WEEK 2
Software Development Processes
In this module, you will learn: (1) Different software development processes, including Waterfall, Code-and-Fix, Prototyping, Spiral, Phased-Released, Agile, Extreme Programming, Continuous Integration, Scrum, and Unified Process.

WEEK 3
Implementation and Defensive Programming
In this module, you will learn: (1) The purpose and the major activities of implementation. (2) Defensive programming techniques to prevent software bugs during implementation.

WEEK 4
Debugging and Configuration Management
In this module, you will learn: (1) Different techniques for debugging. (2) Configuration management to manage, control and monitor changes to life cycle artifacts.

WEEK 5
White Box Testing
In this module, you will learn: (1) The purpose of testing. (2) Design tests that have the highest likelihood of finding defects with the minimum amount of time and effort. (3) What is White Box testing. (4) Revealing subdomains for Basis Path Testing.

WEEK 6
Black Box Testing
In this module, you will learn: (1) Revealing subdomains for Condition Testing, Loop Testing, and Data Flow Testing. (2) What is Black Box testing. (3) Revealing subdomains with equivalence partitioning. (4) Revealing subdomains for Boundary Testing.

WEEK 7
Acceptance Testing
In this module, you will learn: (1) How to perform tests. (2) How to evaluate tests. (3) Deriving test case for Acceptance Testing.

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

Related Courses

Python Scripting: Dates, Classes and Collections (Coursera) Coursera
LearnQuest

Python Scripting: Dates, Classes and Collections (Coursera)

This course is the second course in a series that aims to prepare you for a role working as a programmer. In this course, you will be introduced to the four main concepts in programming: Advanced String Operations and Dates, Modeling Classes, Development of Classes and Collections. Labs will allow the students to apply the material in the lectures in simple computer programs designed to re-enforce the material in the lesson.

Jun 8th 2026
4 Weeks
Managing an Agile Team (Coursera) Coursera
University of Virginia

Managing an Agile Team (Coursera)

While agile has become the de facto standard for managing digital innovation teams, many wonder if they’re doing it ‘right’. Twitter is full of jokes about how teams say they do agile but don’t ‘really’ do it. The reality is that getting the most out of agile is less about observing specific procedures and more about how a team focuses and measures their progress. Rather than just boring you with an accounting of agile methodologies, this course focuses on helping you better charter your team’s focus, definition of success, and practice of agile.

Jun 8th 2026
4 Weeks
Software Processes and Agile Practices (Coursera) Coursera
University of Alberta

Software Processes and Agile Practices (Coursera)

This course delves into a variety of processes to structure software development. It also covers the foundations of core Agile practices, such as Extreme Programming and Scrum. Upon successful completion of this course, you will be able to: distinguish between different process models for organizing software production; gauge the applicability of process models for a software development project; apply the fundamentals of Agile software development and management practices.

Jun 8th 2026
4 Weeks
Reviews & Metrics for Software Improvements (Coursera) Coursera
University of Alberta

Reviews & Metrics for Software Improvements (Coursera)

This course covers techniques for monitoring your projects in order to align client needs, project plans, and software production. It focuses on metrics and reviews to track and improve project progress and software quality. What you will learn: apply techniques to measure and visualize project progress, integrate Agile review practices to increase project visibility; reflect on lessons learned in software projects through retrospective exercises; improve project and process quality through ongoing measurement

Jun 8th 2026
4 Weeks
Troubleshooting and Debugging Techniques (Coursera) Coursera
Google

Troubleshooting and Debugging Techniques (Coursera)

In this course, we'll give you the tools to quickly identify and solve real-world problems that you might come across in your IT role. We'll look at a bunch of different strategies and approaches for tackling the most common pitfalls of your code and IT infrastructure. You'll learn strategies for approaching almost any technical problem and then see how those apply to solving different real-world scenarios.

Jun 9th 2026
4 Weeks
Agile Planning for Software Products (Coursera) Coursera
University of Alberta

Agile Planning for Software Products (Coursera)

This course covers the techniques required to break down and map requirements into plans that will ultimately drive software production. Upon successful completion of this course, you will be able to: create effective plans for software development; map user requirements to developer tasks; assess and plan for project risks; apply velocity-driven planning techniques; generate work estimates for software products.

Jun 8th 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 8th 2026
4 Weeks
Innovation Management (Coursera) Coursera
Erasmus University Rotterdam

Innovation Management (Coursera)

What is innovation management? How do firms bring in new business models and get new products and services to the market? Go on a nine-week journey through innovation management concepts, theories of idea generation, selection, strategy formulation and implementation in this MOOC in Innovation Management. In it, you will also learn the tools for implementing innovation projects yourself. Guided by world-class academics, you will develop an innovative mindset and expertise in how firms successfully create new ideas for marketing new products. The syllabus also includes sessions about innovation strategy, idea management and social networks.

Jun 11th 2026
5-12 Weeks
Introduction to Scrum Master Training (Coursera) Coursera
LearnQuest

Introduction to Scrum Master Training (Coursera)

This course is designed to help Scrum beginners learn the foundational knowledge to become proficient with Agile Scrum. Throughout the course, learners will explore Agile methodologies and benefits of building incrementally. They will also learn about the roles within Scrum teams, events that happen during a Sprint, Agile artifacts, and the Definition of Done for a Sprint.

Jun 8th 2026
2 Weeks
Software Development Processes and Methodologies (Coursera) Coursera
University of Minnesota

Software Development Processes and Methodologies (Coursera)

Software is quickly becoming integral part of human life as we see more and more automation and technical advancements. Just like we expect car to work all the time and can't afford to break or reboot unexpectedly, software industry needs to continue to learn better way to build software if it were to become integral part of human life.

Jun 8th 2026
4 Weeks