FEASIBLE PATHS AND TEST SELECTION CRITERIA
5.8 FEASIBLE PATHS AND TEST SELECTION CRITERIA
Given a data flow graph, a path is a sequence of nodes and edges. A complete path is a sequence of nodes and edges starting from the initial node of the graph to one of its exit nodes. A complete path is executable if there exists an assignment
126 CHAPTER 5 DATA FLOW TESTING
of values to input variables and global variables such that all the path predicates evaluate to true, thereby making the path executable. Executable paths are also known as feasible paths. If no such assignment of values to input variables and global variables exists, then we call the path infeasible or inexecutable.
Since we are interested in selecting inputs to execute paths, we must ensure that a test selection criterion picks executable paths. Assume that we want to test
a program by selecting paths to satisfy a certain selection criterion C . Let P C be the set of paths selected according to criterion C for a given program unit. As an extreme example, if all the paths in P C are infeasible, then the criterion C has not helped us in any way. For a criterion C to be useful, it must select a set of executable, or feasible, paths. Frankl and Weyuker [4] have modified the definitions of the test selection criteria so that each criterion selects only feasible paths. In other words, we modify the definition of criterion C to obtain a criterion C * which selects only feasible paths, and C * is called a feasible data flow (FDF) testing criterion. As an example, the criterion (All-c-uses)* is an adaptation of All-c-uses such that only feasible paths are selected by (All-c-uses)*, as defined below.
(All-c-uses)* : For each variable x and for each node i , such that x has a global definition in node i , select feasible complete paths which include def-clear paths from node i to all nodes j such that there is a global c-use of x in j .
Thus, test selection criteria (All-paths)*, (All-du-paths)*, (All-uses)*, (All-c-uses/Some-p-uses)*, (All-p-uses/Some-c-uses)*, (All-c-uses)*, (All-p- uses)*, (All-defs)*, (All-branches)*, and (All-statements)* choose only feasible paths, and, therefore, these are called feasible data flow (FDF) testing criteria. Frankl and Weyuker [4] have shown that the strictly includes relationships among test selection criteria, as shown in Figure 5.5, do not hold if the selection criteria choose only feasible paths. The new relationship among FDF test selection criteria is summarized in Figure 5.6. Though it is seemingly useful to select only feasible paths, and therefore consider only the FDF test selection criteria, we are faced with the decidability problem. More specifically, it is undecidable to know if a given set of paths is executable. We cannot automate the application of an FDF test selection criterion, if we do not know the executability of the path. On the other hand, a data flow testing criterion may turn out to be inadequate if all its selected paths are infeasible, in which case the criterion is considered to be inadequate. Consequently, a test engineer must make a choice between using an inadequate selection criterion and one that cannot be completely automated.
Parts
» SOFTWARE TESTING AND QUALITY ASSURANCE Theory and Practice – KSHIRASAGAR NAIK – 2008
» FAILURE, ERROR, FAULT, AND DEFECT
» SOURCES OF INFORMATION FOR TEST CASE SELECTION
» WHITE-BOX AND BLACK-BOX TESTING
» MONITORING AND MEASURING TEST EXECUTION
» THEORY OF GOODENOUGH AND GERHART
» THEORY OF WEYUKER AND OSTRAND
» UNIT TESTING IN EXTREME PROGRAMMING
» CHAPTER 4 CONTROL FLOW TESTING
» COMPARISON OF DATA FLOW TEST SELECTION CRITERIA
» FEASIBLE PATHS AND TEST SELECTION CRITERIA
» COMPARISON OF TESTING TECHNIQUES
» CONCEPT OF INTEGRATION TESTING
» GRANULARITY OF SYSTEM INTEGRATION TESTING
» Incremental In this approach, integration testing is conducted in an incremental manner as
» Bottom Up In the bottom-up approach, system integration begins with the integration of lowest
» Hardware Design Verification Tests
» FUNCTIONAL TESTING CONCEPTS OF HOWDEN
» COMPLEXITY OF APPLYING FUNCTIONAL TESTING
» EQUIVALENCE CLASS PARTITIONING
» Data Declarations TTCN-3 allows the declarations of constants and variables. A constant is denoted
» ADDITIONAL COVERAGE CRITERIA FOR SYSTEM TESTING
» TEST OBJECTIVE IDENTIFICATION
» MODELING A TEST DESIGN PROCESS
» STRUCTURE OF A SYSTEM TEST PLAN
» EVALUATION AND SELECTION OF TEST AUTOMATION TOOLS
» CHARACTERISTICS OF AUTOMATED TEST CASES
» TEST AUTOMATION INFRASTRUCTURE
» ORTHOGONAL DEFECT CLASSIFICATION
» MEASURING TEST EFFECTIVENESS
» Time Time plays a key role in modeling software reliability metrics. Let us go back
» FACTORS INFLUENCING SOFTWARE RELIABILITY
» SOFTWARE QUALITY ASSURANCE GROUP
» ISO 9000:2000 SOFTWARE QUALITY STANDARD
» BASIC IDEA IN SOFTWARE PROCESS
Show more