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

The Arduino Platform and C Programming (Coursera) Coursera
University of California, Irvine

The Arduino Platform and C Programming (Coursera)

The Arduino is an open-source computer hardware/software platform for building digital devices and interactive objects that can sense and control the physical world around them. In this class you will learn how the Arduino platform works in terms of the physical board and libraries and the IDE (integrated development environment). You will also learn about shields, which are smaller boards that plug into the main Arduino board to perform other functions such as sensing light, heat, GPS tracking, or providing a user interface display. The course will also cover programming the Arduino using C code and accessing the pins on the board via the software to control external devices.

Sep 14th 2026
4 Weeks
Human-Centered Design: an Introduction (Coursera) Coursera
University of California, San Diego

Human-Centered Design: an Introduction (Coursera)

In this course, you will learn how to design technologies that bring people joy, rather than frustration. You'll learn several techniques for rapidly prototyping and evaluating multiple interface alternatives -- and why rapid prototyping and comparative evaluation are essential to excellent interaction design. You'll learn how to conduct fieldwork with people to help you get design ideas. How to make paper prototypes and low-fidelity mock-ups that are interactive -- and how to use these designs to get feedback from other stakeholders like your teammates, clients, and users. Armed with these design-thinking strategies, you’ll be able to do more creative human-centered design in any domain.

Sep 21st 2026
4 Weeks
Introduction to Software Product Management (Coursera) Coursera
University of Alberta

Introduction to Software Product Management (Coursera)

This course highlights the importance and role of software product management. It also provides an overview of the specialization, as well as its goals, structure, and expectations. The course explains the value of process, requirements, planning, and monitoring in producing better software. Upon successful completion of this course, you will be able to: relate software product management to better software products; recognize the role of a software product manager; reflect on how Agile principles will improve your own projects.

Sep 28th 2026
2 Weeks
Design Thinking for the Greater Good: Innovation in the Social Sector (Coursera) Coursera
University of Virginia

Design Thinking for the Greater Good: Innovation in the Social Sector (Coursera)

Do you work for a nonprofit or in the social sector? Are you struggling to solve the problems and meet the needs of the people you serve? Come learn more about how design thinking, a human-centered approach to problem solving, can help you truly understand an issue, generate ideas worth testing and iterate to find solutions that make a real difference. Through global stories from areas as diverse as government, health care, and education, we’ll show you the tools, techniques and mindset needed to use design thinking to uncover new and creative solutions in the social sector.

Sep 28th 2026
4 Weeks
Introdução ao Gerenciamento de produtos de software (Coursera) Coursera
University of Alberta

Introdução ao Gerenciamento de produtos de software (Coursera)

Este curso destaca a importância e o papel do gerenciamento de produtos de software. Também fornece uma visão geral da especialização, bem como suas metas, estrutura e expectativas. O curso explica o valor do processo, requisitos, planejamento e monitoramento na produção de um software melhor.

Sep 28th 2026
2 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

Sep 28th 2026
4 Weeks
Agile Meets Design Thinking (Coursera) Coursera
University of Virginia

Agile Meets Design Thinking (Coursera)

Despite everyone's good intentions, hard work and solid ideas, too many projects end up creating unneeded, unusable, and unsellable products. But it doesn't have to be this way. Agile and design thinking offer a different--and effective--approach to product development, one that results in valuable solutions to meaningful problems. In this course, you’ll learn how to determine what's valuable to a user early in the process--to frontload value--by focusing your team on testable narratives about the user and creating a strong shared perspective.

Sep 14th 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.

Sep 28th 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.

Sep 14th 2026
4 Weeks
Design Research para Estratégia e Inovação (Coursera) Coursera
FIA Business School

Design Research para Estratégia e Inovação (Coursera)

Nossas boas-vindas ao Curso Design Research para Estratégia e Inovação.Neste curso, você aprenderá sobre os principais elementos da Design Research (DR) aplicada à geração de inovação e estratégia. Tal método é fundamental para a criação de produtos, serviços e sistemas que atendam às necessidades humanas. No entanto, apesar de sua utilidade, a DR é amplamente negligenciada por muitas instituições e executivos. A DR, em essência, orienta as equipes para descobrir insights e desenvolver experiências de usuário que gerem valor.

Sep 21st 2026
4 Weeks
Advanced Modeling for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Advanced Modeling for Discrete Optimization (Coursera)

Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars.

Sep 14th 2026
5-12 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.

Sep 28th 2026
4 Weeks