From MC/DC to RC/DC: Formalization and Analysis of Control-Flow Testing Criteria
This chapter describes an approach to the formalization of existing criteria used in computer systems software testing and proposes a Reinforced Condition/Decision Coverage (RC/DC) criterion. This criterion has been developed from the well-known Modified
- PDF / 623,340 Bytes
- 31 Pages / 430 x 660 pts Page_size
- 56 Downloads / 173 Views
Software Quality Research Laboratory (SQRL) Department of Electrical Engineering and Computer Science The University of Tennessee, 203 Claxton Complex, Knoxville, TN 37996-3450, USA [email protected] 2 Centre for Research on Evolution, Search and Testing (CREST) Department of Computer Science, Kings College London Strand, London WC2R 2LS, UK [email protected] http://www.jpbowen.com
Abstract. This chapter describes an approach to the formalization of existing criteria used in computer systems software testing and proposes a Reinforced Condition/Decision Coverage (RC/DC) criterion. This criterion has been developed from the well-known Modified Condition/Decision Coverage (MC/DC) criterion and is more suitable for the testing of safety-critical software where MC/DC may not provide adequate assurance. As a formal language for describing the criteria, the Z notation has been selected. Formal definitions in the Z notation for RC/DC, as well as MC/DC and other criteria, are presented. Specific examples of using these criteria for specification-based testing are considered and some features are formally proved. This characterization is helpful in the understanding of different types of testing and also the correct application of a desired testing regime.
1
Introduction
Software testing criteria (or alternatively, test data adequacy criteria or coverage criteria) play an important role in the whole testing process. These criteria are used as [65]: – stopping rules that determine whether sufficient testing has been done; – measurements of test quality, when a degree of adequacy is associated with each test set; – generators, for test data selection. Test sets are considered as equivalent if they satisfy the same criterion. The use of testing criteria as regulatory requirements during software certification and licensing also has its own specific features and benefits. At the time of
This chapter was previously published as [55] and is reproduced here in a slightly modified form with permission.
R.M. Hierons et al. (Eds.): Formal Methods and Testing, LNCS 4949, pp. 240–270, 2008. c Springer-Verlag Berlin Heidelberg 2008
From MC/DC to RC/DC
241
regulatory assessment, the stage of testing assessment is one of the most important where efforts of experts should be concentrated [58]. The methods and criteria of testing are traditionally divided into structural (or white-box) and functional (or black-box) aspects [41,47]. Structural testing criteria (i.e., criteria that take into account an internal structure of the program) are in turn divided into data-flow and control-flow criteria, although the combination of the two has been considered [44,51]. Data-flow criteria are based on the investigation of the ways in which values are associated with variables and how these associations can affect the execution of the program [65]. Controlflow criteria, in particular, examine logical expressions, which determine the branch and loop structure of the program. This group of criteria is considered in this chapter. The aim of these criteria i
Data Loading...