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

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
Machine Learning Rapid Prototyping with IBM Watson Studio (Coursera) Coursera
IBM

Machine Learning Rapid Prototyping with IBM Watson Studio (Coursera)

An emerging trend in AI is the availability of technologies in which automation is used to select a best-fit model, perform feature engineering and improve model performance via hyperparameter optimization. This automation will provide rapid-prototyping of models and allow the Data Scientist to focus their efforts on applying domain knowledge to fine-tune models. This course will take the learner through the creation of an end-to-end automated pipeline built by Watson Studio’s AutoAI experiment tool, explaining the underlying technology at work as developed by IBM Research.

Aug 17th 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
Cracking the Creativity Code: Discovering Ideas (Coursera) Coursera
Technion - Israel Institute of Technology

Cracking the Creativity Code: Discovering Ideas (Coursera)

Skill at discovering new ideas, and delivering them, may be one of the most important practical job skills, in today’s and tomorrow’s job market. Creativity is an acquired skill, one that improves with practice. This course aims to empower individuals who believe they have lost their innate creativity, because they, their employers or teachers prefer the three R's: replication, repetition and rote, to innovation. We show how to re-ignite rusty creative powers. During this course, you will learn proven tools, frameworks and concepts useful for discovery– generating an endless stream of new ideas implementing at least some of those ideas with skill and persistence, based on books and articles written by the instructors.

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

Aug 17th 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
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.

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

Aug 3rd 2026
4 Weeks
Building No-Code Apps with AppSheet: Implementation (Coursera) Coursera
Google Cloud

Building No-Code Apps with AppSheet: Implementation (Coursera)

This course teaches you how to implement various capabilities that include data organization and management, application security, actions and integrations in your app using AppSheet. The course also includes topics on managing and upgrading your app, improving performance and troubleshooting issues with your app.

Aug 10th 2026
3 Weeks