Course

Introduction to Software Testing

University of Minnesota

Introduction to Software Testing is a comprehensive course designed to equip learners with a deep understanding of fundamental principles and processes in software testing. Through practical exercises and real-world applications, participants will master the art of writing effective test cases and utilizing automated testing tools. The course delves into the intricacies of verification and validation, test terminology, white and black box testing, as well as test-first and test-last development techniques.

Learners will explore the measurement of test adequacy, fault-finding effectiveness, and the crafting of unit and integration test cases. The module on testing foundations covers dependability definitions, testing principles, and the V-Model of software development. Additionally, participants will gain insights into testing in the software development lifecycle, including creating test plans and defect reports.

The course also addresses the writing of good unit tests, which involves topics such as test doubles, assessing adequacy and code coverage analysis with JaCoCo, and avoiding flakey tests. Throughout the course, students will practice writing tests for various quality intents, including code coverage, defect finding, and statistical testing.

Upon completion, learners will possess the skills to develop test plans, create defect reports, and effectively guide the testing stage of the software development lifecycle.

Certificate Available ✔

Get Started / More Info
Introduction to Software Testing
Course Modules

Introduction to Software Testing covers a wide array of topics, including software testing challenges, test automation, dependability definitions, test planning, and writing effective unit tests using JaCoCo and JUnit.

Introduction

Welcome to the Software Testing and Automation! This module provides an overview of the course and the challenges associated with software testing. It also introduces the concepts of test automation and writing JUnit tests, which are essential skills for software testing and automation.

Testing Foundations

The Testing Foundations module delves into dependability definitions, testing principles, and the V-Model of software development. It covers the concepts of validation and verification, structural testing, and mutation testing, providing a strong foundation for understanding software testing principles.

Testing in the Software Development Lifecycle

Testing in the Software Development Lifecycle module focuses on the importance of test planning, stages of software testing, risk-based test planning, and software defect reports. Learners will gain practical insights into creating effective test plans and defect reports to guide the testing stage of the software development lifecycle.

Writing Good Unit Tests

The Writing Good Unit Tests module explores advanced topics such as test doubles, assessing adequacy and code coverage analysis with JaCoCo, and avoiding flakey tests. Participants will practice writing effective unit tests for real-world applications, honing their skills in software testing and automation.

More Software Development Courses

Software Engineering

The Hong Kong University of Science and Technology

This course in Software Engineering equips programmers with the skills and techniques needed for successful software development, emphasizing methodologies, design,...

Create a Simple Checkpoint System with C# in Unity

Coursera Project Network

Learn to create a simple checkpoint system in Unity with C#. Set up respawn points, manage timers, and save checkpoint locations for a seamless gaming experience....

Software Design Methods and Tools

University of Colorado System

Software Design Methods and Tools is a comprehensive course introducing basic tools and techniques for software design, as well as ethical considerations in software...

Building Objects in C

University of Michigan

Building Objects in C is a comprehensive course that delves into the implementation of high-level data structures and object-oriented programming in C. Explore the...