Reconciling perspectives of software logic testing

Many software logic test coverage criteria have emerged over the past several years; however, they are scattered throughout the literature. The goal of this paper is to describe the various logic tests and explain their rationale in a centralized location in order to aid software testers in their decisions about which to implement. Each logic test is examined in terms of its minimum and maximum test sizes, subsumption relationship to other logic tests, and its fault detection capability. It is shown that although semantic tests generally have a smaller test size, syntactic tests are better in terms of fault detection capability. Furthermore, it is shown that the syntactic tests subsume their semantic counterparts. Two new software faults are introduced to Kuhn's fault hierarchy, namely the term insertion fault and the term negation fault, and the fault detection capability of the logic tests with respect to these faults is examined. A new software testing criterion called multiple unique true point-near false point (MUTP-NFP) is also presented, with a description of its benefits and limitations. Specifically, a detailed comparison of the MUTP-NFP criterion and the CUTPNFP-MNFP-MUTP criterion is given. Copyright © 2008 John Wiley & Sons, Ltd.