Table of contents

Slides

Note: The source code used in the slides and videos can be found in our git repository.

Videos

Introduction to software testing

This video introduces the context for why software testing is important and some of the approaches one can take to test their programs.

Demo: Writing tests for the username validator

This video introduces the username validator program and demonstrates how one might create automated tests for it without the use of any third-party libraries or frameworks.

This video presents a quick recap of the previous demo.

Introduction to unit-testing

This video introduces unit-testing, in which one unit-test checks the individual components of a program as opposed to its end-to-end behavior.

Writing unit tests

This video demonstrates writing unit tests for the username validator program using the CUnit framework.

Test effectiveness

This video discusses the different approaches to managing developer resources within the scope of testing. It also introduces the concept of code coverage.

Demo: Creating coverage reports

This video demonstrates how to generate a code coverage report for a C program using gcov and gcovr, and how to analyze the generated report.