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

Inove na gestão de equipes e negócios: O crescimento da empresa (Coursera) Coursera
Universidade de São Paulo, Brasil

Inove na gestão de equipes e negócios: O crescimento da empresa (Coursera)

Aprenda a gerir equipes na sua empresa, e também estratégias de como crescer o seu negócio com profissionais das maiores startups brasileiras, como upLexis, Revelo, Playax e Beleza na Web. Neste curso você irá entender mais sobre como escalar, como criar e manter a cultura, como ser um líder, como gerir e contratar equipes, como desenvolver produtos e como cuidar da operação da sua empresa.

Aug 10th 2026
4 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.

Aug 3rd 2026
4 Weeks
Princípios de Desenvolvimento Ágil de Software (Coursera) Coursera
Instituto Tecnológico de Aeronáutica

Princípios de Desenvolvimento Ágil de Software (Coursera)

Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, graças às boas práticas e princípios orientados a objetos, TDD e conceitos avançados de Java aplicados à Web e banco de dados exercitados nos cursos anteriores; mas você talvez não se sinta ainda confortável em planejar e gerenciar o desenvolvimento das aplicações com base em modernas práticas de modelagem ágil.

Aug 3rd 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

Aug 3rd 2026
4 Weeks
Agile with Atlassian Jira (Coursera) Coursera
Atlassian

Agile with Atlassian Jira (Coursera)

Agile teams use “just enough” planning and an incremental approach to accomplishing the work of the team. Every project and every team uses a custom agile methodology. This course discusses common foundational principles and practices used by agile methodologies, providing the student a flexible set of tools to use in any role (e.g. product owner, scrum master, project manager, team member) on any agile team.

Aug 3rd 2026
4 Weeks
Engineering Practices for Building Quality Software (Coursera) Coursera
University of Minnesota

Engineering Practices for Building Quality Software (Coursera)

Agile embraces change which means that team should be able to effectively make changes to the system as team learns about users and market. To be good at effectively making changes to the system, teams need to have engineering rigor and excellence else embracing change becomes very painful and expensive. In this course, you will learn about engineering practices and processes that agile and traditional teams use to make sure the team is prepared for change. In additional, you will also learn about practices, techniques and processes that can help team build high quality software. You will also learn how to calculate a variety of quantitative metrics related to software quality.

Aug 3rd 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.

Aug 3rd 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.

Aug 3rd 2026
4 Weeks
Project Initiation and Planning (Coursera) Coursera
University of Illinois at Urbana-Champaign

Project Initiation and Planning (Coursera)

In today’s competitive environment learning to effectively manage projects is a critical skill. This course will focus on initiating and planning projects. The course will cover the more traditional linear process, like waterfall approach, as well as the dynamic and iterative approach of agile and hybrid models, so the learners can decide when one approach is more suitable for any of their projects to maximize the chances of a successful outcome!

Aug 10th 2026
4 Weeks