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

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
Intellectual Humility: Theory (Coursera) Coursera
University of Edinburgh

Intellectual Humility: Theory (Coursera)

Faced with difficult questions people often tend to dismiss and marginalize dissent. Political and moral disagreements can be incredibly polarizing, and sometimes even dangerous. And whether it’s Christian fundamentalism, Islamic extremism, or militant atheism, religious dialogue remains tinted by arrogance, dogma, and ignorance. The world needs more people who are sensitive to reasons both for and against their beliefs, and are willing to consider the possibility that their political, religious and moral beliefs might be mistaken. The world needs more intellectual humility.

Aug 3rd 2026
3 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
Emprendimiento y métodos ágiles de desarrollo en videojuegos (Coursera) Coursera
Universidad de los Andes

Emprendimiento y métodos ágiles de desarrollo en videojuegos (Coursera)

¡Bienvenido al curso de emprendimiento y métodos ágiles de desarrollo en videojuegos! Este curso es parte del Programa Especializado Coursera en Diseño y Desarrollo de Videojuegos, en la cual aprenderás a diseñar y programar cierto tipo de videojuegos, aumentarás tu comprensión acerca del mercado actual de videojuegos y de lo que se requiere para crear un juego exitoso comercialmente.

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

Aug 3rd 2026
4 Weeks
UX Design: From Concept to Prototype (Coursera) Coursera
University of Michigan

UX Design: From Concept to Prototype (Coursera)

Great design doesn’t come out of nowhere; it is born, nurtured, and grown--all through a systematic, learnable process. In this UX course, you will explore the process of taking a basic concept, grounded in user needs, and developing it into a design that will address those needs. In the course, you will gain hands-on experience with techniques such as sketching, scenario development, storyboarding, and wireframing that will help you transform your understanding of what your users need into a compelling user experience.

Aug 3rd 2026
5-12 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
Design-Led Strategy: Design thinking for business strategy and entrepreneurship (Coursera) Coursera
The University of Sydney

Design-Led Strategy: Design thinking for business strategy and entrepreneurship (Coursera)

This course is for entrepreneurial managers who are looking for tools and techniques to introduce exciting, innovative products or services to market quickly and informed by high-quality customer insights. It is applicable to a range of organizations from small-medium sized enterprises through to corporates, and across a range of industrial segments.

Aug 3rd 2026
5-12 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
Scrum Master Certification Practice (Coursera) Coursera
LearnQuest

Scrum Master Certification Practice (Coursera)

This course is designed to help Scrum beginners apply gained knowledge to practice. We will review several of the Scrum Methodologies and the Sprint process as well as complete several exercises. This is a standalone course, however we recommend completing the Scrum Master Certification specialization courses prior to beginning this one, as the methodologies and exercises within those courses are the foundations for this practice course.

Aug 17th 2026
2 Weeks