A Simple Testing Technique that Ensures Complete Program Coverage

A. McAllister (Canada)


software testing, software engineering education


A variety of techniques exist for ensuring that a set of test cases for a given program provides complete coverage of that program. In other words, every statement in the program should be executed at least once by some test case. Related techniques ensure that subparts of compound conditions are tested separately and that loops are executed a varying number of times. Path testing is the coverage technique included in most software engineering reference books. Path testing involves drawing a program flow graph, which in our experience adds significantly to the difficulties that software engineering students encounter in learning and applying the technique. This paper presents an alternative way for software testers to generate test cases that ensure complete program coverage. The proposed technique has been taught for several years in software engineering courses at the University of New Brunswick, and has been refined based on that experience. Feedback from students indicates that this technique is less complex to learn and apply, tends to result in less confusion, and helps to improve the quality of the test cases that students produce.

Important Links:

Go Back