Introduction to Software Testing (Coursera)

Introduction to Software Testing (Coursera)

After completing this course, you will have an understanding of the fundamental principles and processes of software testing. You will have actively created test cases and run them using an automated testing tool. You will being writing and recognizing good test cases, including input data and expected outcomes.

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

After completing this course, you will be able to…

  • Describe the difference between verification and validation.
  • Explain the goal of testing.
  • Use appropriate test terminology in communication; specifically: test fixture, logical test case, concrete test case, test script, test oracle, and fault.
  • Describe the motivations for white and black box testing.
  • Compare and contrast test-first and test-last development techniques.
  • Measure test adequacy using statement and branch coverage.
  • Reason about the causes and acceptability of and poor coverage
  • Assess the fault-finding effectiveness of a functional test suite using mutation testing.
  • Critique black-box and white-box testing, describing the benefits and use of each within the greater development effort.
  • Distinguish among the expected-value (true), heuristic, consistency (as used in A/B regression), and probability test oracles and select the one best-suited to the testing objective.
  • Craft unit and integration test cases to detect defects within code and automate these tests using JUnit. To achieve this, students will employ test doubles to support their tests, including stubs (for state verification) and mocks (for behavioral verification).

This course is primarily aimed at those learners interested in any of the following roles: Software Engineer, Software Engineer in Test, Test Automation Engineer, DevOps Engineer, Software Developer, Programmer, Computer Enthusiast. We expect that you should have an understanding of the Java programming language (or any similar object-oriented language and the ability to pick up Java syntax quickly) and some knowledge of the Software Development Lifecycle.

Course 1 of 4 in the Software Testing and Automation Specialization.

What You Will Learn

  • You will gain an understanding of the theory of testing.
  • You will practice writing tests for a variety of quality intent, including code coverage, defect finding, and statistical testing.
  • You will develop test plans to guide the testing stage of the software development lifecycle.
  • You will create defect reports to provide transparency and understanding to supervisors, colleagues, and users.

Syllabus

WEEK 1
Introduction
In this module, you will be introduced to the basics of testing, especially the variety of terminology to be used through the rest of the course.

WEEK 2
Testing Foundations
In this module, you will investigate a variety of testing principles, models of testing, and types of systematic testing strategies.

WEEK 3
Testing in the Software Development Lifecycle
In this module, you will learn about the social aspects of testing. We will learn about test plans, testing status reports, and defect reporting.

WEEK 4
Writing Good Unit Tests
In this module, you will learn about writing unit tests and gain practice in writing these tests through three coding assignments, each with additional testing sophistication.

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

Related Courses

Avatar Psychology for Designers (Coursera) Coursera
Michigan State University

Avatar Psychology for Designers (Coursera)

This course covers the latest and greatest psychological research on avatars and is relevant to current and future designers of any medium that includes user self-representations (e.g., video games, virtual worlds, robots, automobiles, social media, etc.). By taking this course, you will be able to define digital and non-digital avatars and identify how they are applicable in everyday life.

Nov 23rd 2026
4 Weeks
Securing Digital Democracy (Coursera) Coursera
University of Michigan

Securing Digital Democracy (Coursera)

In this course, you'll learn what every citizen should know about the security risks--and future potential — of electronic voting and Internet voting. We'll take a look at the past, present, and future of election technologies and explore the various spaces intersected by voting, including computer security, human factors, public policy, and more.

Nov 16th 2026
5-12 Weeks
Learn Software Testing Certification course (Eduonix) Eduonix
Eduonix Learning Solutions Pvt. Ltd.

Learn Software Testing Certification course (Eduonix)

Software Testing is one of the most important and critical component of Software development life cycle. The testing team is ultimately responsible of Software quality and forms the bedrock before it goes out to actual users and to market place. Over the years with innovative development techniques the software testing and quality assurance field has undergone a sea change. With new techniques like TDD(Test driven development) taking hold in industry the software developers must understand the nuances of new approaches to software quality. This is a free course with a MOOC List coupon.

Self Paced
Self-Paced
Secure Software Development: Verification and More Specialized Topics (edX) EdX
Linux Foundation,LinuxFoundationX

Secure Software Development: Verification and More Specialized Topics (edX)

Learn how to verify software for security, and take a deeper dive into the basics of applying threat models and cryptography. Modern software is under constant attack, but many software developers have never been told how to effectively counter those attacks. This course works to solve that problem, by explaining the fundamentals of developing secure software.

Self Paced
Self-Paced
Software Analysis & Testing (Udacity) Udacity
Georgia Institute of Technology,Udacity

Software Analysis & Testing (Udacity)

This course covers the theory and practice of software analysis, which lies at the heart of many software development processes such as diagnosing bugs, testing, debugging, and more. It presents diverse techniques, each with their own strengths and limitations, for automating tasks such as testing, debugging, and finding bugs in complex real-world programs. These techniques include dataflow analysis, constraint-based analysis, type systems, model checking, symbolic execution, and more. The course teaches the principles underlying these techniques as well as imparts hands-on experience with using and implementing tools based on these techniques.

Self Paced
Self-Paced
Product Design (Udacity) Udacity
Udacity

Product Design (Udacity)

There is nothing more powerful than an idea whose time has come. This course is designed to help you materialize your game-changing idea and transform it into a product that you can build a business around. Product Design blends theory and practice to teach you product validation, UI/UX practices, Google’s Design Sprint and the process for setting and tracking actionable metrics.

Self Paced
Self-Paced
Programming with Scratch (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Programming with Scratch (Coursera)

Learning coding is not only about understanding the programming language being used, but also developing important computational thinking skills, which are useful for problem solving across many disciplinary areas. In this course, students will learn basic programming skills by creating interactive storybooks, animations, and games with Scratch, which is a block-based visual programming language for anyone new to coding.

Nov 23rd 2026
5-12 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.

Nov 23rd 2026
3 Weeks
Meaningful Predictive Modeling (Coursera) Coursera
University of California, San Diego

Meaningful Predictive Modeling (Coursera)

This course will help us to evaluate and compare the models we have developed in previous courses. So far we have developed techniques for regression and classification, but how low should the error of a classifier be (for example) before we decide that the classifier is "good enough"? Or how do we decide which of two regression algorithms is better?

Nov 9th 2026
4 Weeks
MOQ (Coursera) Coursera
Board Infinity

MOQ (Coursera)

"Introduction to MOQ for .NET Testing" is a comprehensive course designed to equip .NET developers with essential skills in using MOQ, a mocking framework for unit tests. Spanning two modules, the course starts with the fundamentals of MOQ, covering its setup, basic concepts, and implementation in .NET projects. It then advances to more complex scenarios, teaching advanced mocking techniques, handling complex dependencies, and integrating MOQ with popular testing frameworks.

Nov 9th 2026
2 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.

Nov 9th 2026
4 Weeks