An Application Of Multiple-valued Logic
To Test Case Generation
For Software System Functional Testing
Mou Hu
Telecom Innovation Centre, Siemens Canada
Mou. hu @ tic.siemens. ca
Abstract
A multiple-valued input two-valued output logic system
(MITOL) is proposed as a description language of
sofnvare functionality for test case generation purpose.
Based on the MITOL description of software
functionality, test generation algorithms for multiplevalued
logic circuits, such as .path sensitization, can be
used for test case generation for software system
functional testing. The resulting minimum complete test
set contains the minimum number of test cases to cover all
logical stuck-at faults. Finally, a comparison of this new
method with traditional methods is presented.
Key words - formal methods, multiple-valued logic,
requirements engineering, software engineering, software
system functional testing.
1. Introduction
Traditionally, application of multiple-valued logic is
more focused on hardware than software. However, the
potential of using multiple-valued logic to the design and
test of software is actually quite promising. This paper
presents the result of a research on the use of multiplevalued
logic to the test case generation for software
system functional testing. The preliminary result of this
research has been published as [ I ] .
Software system functional testing usually takes the
black-box approach. Inputs for test case design for
software system functional testing are system
requirements and software functional specifications. In
practice, most system requirements are written in a natural
language, and software functional specifications are often
written in a combination of a natural language and some
formal languages, which are not directly supporting test
case generation. This situation makes the use of a formal
method to test case generation difficult.
On the other hand, researches on formal software test
case design methods never stop. Early works on this topic
include cause-effect graphs [2.31. Recent works include [4,
543.
In general, a formal method of test case generation will
be composed of two major steps as depicted in Fig. 1.
Step 1 is software functionality analysis, which starts from
system requirements and software functional
specifications and results in a formal, test-derivable
description of software functionality. Here, test derivable
description of software functionality means a form of
description of software functionality, on which a formal
test generation algorithm can be applied to generate test
cases.
Step 2 is test case generation, which applies some
formal algorithm on the test-derivable description of
software functionality to generate test cases.
This paper proposes to use a multiple-valued logic
system as a formal, test-derivable software functionality
description language and to use a test generation
algorithm of multiple-valued circuits to generate test cases
for software system functional testing.
The rest of the paper is organized as follows. Section 2
proposes a multiple-valued input two-valued output logic
system (MITOL) and discusses how to use this system to
describe software functionality. Section 3 describes the
use of test generation algorithm of multiple-valued circuits
to generate test cases for software system functional
testing. Section 4 discusses the result of applying this new
method and the comparisons of this method with
traditional methods.