BOUNDARY VALUE ANALYSIS
9.5 BOUNDARY VALUE ANALYSIS
The central idea in boundary value analysis (BVA) is to select test data near the boundary of a data domain so that data both within and outside an EC are selected.
247 It produces test inputs near the boundaries to find failures caused by incorrect
9.5 BOUNDARY VALUE ANALYSIS
implementation of the boundaries. Boundary conditions are predicates that apply directly on and around the boundaries of input ECs and output ECs. In practice, designers and programmers tend to overlook boundary conditions. Consequently, defects tend to be concentrated near the boundaries between ECs. Therefore, test data are selected on or near a boundary. In that sense, the BVA technique is an extension and refinement of the EC partitioning technique [17]. In the BVA technique, the boundary conditions for each EC are analyzed in order to generate test cases.
Guidelines for BVA As in the case of EC partitioning, the ability to develop high-quality effective test cases using BVA requires experience. The guidelines discussed below are applicable to both input conditions and output conditions. The conditions are useful in identifying high-quality test cases. By high-quality test cases we mean test cases that can reveal defects in a program.
1. The EC specifies a range : If an EC specifies a range of values, then construct test cases by considering the boundary points of the range and points just beyond the boundaries of the range. For example, let an EC specify the range of −10.0 ≤ X ≤ 10.0. This would result in test data
{−9.9 − 10.0, −10.1} and {9.9, 10.0, 10.1}.
2. The EC specifies a number of values : If an EC specifies a number of values, then construct test cases for the minimum and the maximum value of the number. In addition, select a value smaller than the minimum and a value larger than the maximum value. For example, let the EC specification of a student dormitory specify that a housing unit can be shared by one to four students; test cases that include 1, 4, 0, and 5 students would be developed.
3. The EC specifies an ordered set : If the EC specifies an ordered set, such as a linear list, table, or sequential file, then focus attention on the first and last elements of the set.
Example: Let us consider the five ECs identified in our previous example to compute income tax based on AGI. The BVA technique results in test as follows for each EC. The redundant data points may be eliminated.
EC1 : $1 ≤ AGI ≤ $29,500; This would result in values of $1, $0, $–1, $1.50 and $29,499.50, $29,500, $29,500.50.
EC2 : AGI < 1; This would result in values of $1, $0, $–1, $–100 billion. EC3 : $29,501 ≤ AGI ≤ $58,500; This would result in values of $29,500,
$29,500.50, $29,501, $58,499, $58,500, $58,500.50, $58,501. EC4 : $58,501 ≤ AGI ≤ $100 billion; This would result in values of $58,500,
$58,500.50, $58,501, $100 billion, $101 billion.
248 CHAPTER 9 FUNCTIONAL TESTING
EC5 : AGI > $100 billion; This would result in $100 billion, $101 billion, $10000 billion.
Remark. Should we test for an AGI value of $29,500.50 (i.e., between the parti- tions), and if so, what should be the result? Since we have not been told whether the decimal values are actually possible, the best decision to make is to test for this value and report the result.
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