Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Measuring Completeness of a Test Case Library

IP.com Disclosure Number: IPCOM000051497D
Original Publication Date: 1981-Feb-01
Included in the Prior Art Database: 2005-Feb-10
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Wang, JS: AUTHOR

Abstract

Totally comprehensive software testing is known to be impractical because of the number of possible test cases involved. If a set of test cases is chosen properly, a higher level of confidence in software testing can be achieved by showing that every piece of code is exercised at least once.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 61% of the total text.

Page 1 of 1

Measuring Completeness of a Test Case Library

Totally comprehensive software testing is known to be impractical because of the number of possible test cases involved. If a set of test cases is chosen properly, a higher level of confidence in software testing can be achieved by showing that every piece of code is exercised at least once.

100% of code coverage can be achieved by a software flags insertion technique with no additional hardware support necessary. A structured software program can be constructed using three basic components: 1. Assignment statement (include subroutine call). 2. If P then f else g (conditional transfer). 3. Do S While P (loop structure).

The conditional transfer creates two branches: the true branch and the false branch. The Assignment statement "flag (i)=set;" is inserted into the true branch while "flag (j)= set;" is inserted into the false branch where i, j are integers and not equal. The loop structure contains one branch which will be traversed if the "do while" condition is true and "flag (k)=set;" should be inserted into that branch.

It is more efficient to insert a flag after the assignment statement and before the point of branches where it joins back instead of where it splits out from the conditional testing. The former requires fewer flags than the latter while providing the same code coverage.

The following algorithm illustrates the procedure of flags insertion:

Before After
1. IF ... THEN IF ... THEN

assignment statement;...