### Boundary Value Analysis

Boundary Value Analysis (BVA) is a test data selection technique (Functional Testing technique) where the extreme values are chosen. Boundary values include maximum, minimum, just inside/outside boundaries, typical values, and error values. The hope is that, if a system works correctly for these special values then it will work correctly for all values in between.

§ Extends equivalence partitioning

§ Test both sides of each boundary

§ Look at output boundaries for test cases too

§ Test min, min-1, max, max+1, typical values

§ BVA focuses on the boundary of the input space to identify test cases

§ Rational is that errors tend to occur near the extreme values of an input variable

**There are two ways to generalize the BVA techniques:**

1. By the number of variables

o For n variables: BVA yields 4n + 1 test cases.

2. By the kinds of ranges

o Generalizing ranges depends on the nature or type of variables

§ NextDate has a variable Month and the range could be defined as {Jan, Feb, …Dec}

§ Min = Jan, Min +1 = Feb, etc.

§ Triangle had a declared range of {1, 20,000}

§ Boolean variables have extreme values True and False but there is no clear choice for the remaining three values

**Advantages of Boundary Value Analysis**

1. Robustness Testing - Boundary Value Analysis plus values that go beyond the limits

2. Min - 1, Min, Min +1, Nom, Max -1, Max, Max +1

3. Forces attention to exception handling

4. For strongly typed languages robust testing results in run-time errors that abort normal execution

**Limitations of Boundary Value Analysis**

BVA works best when the program is a function of several independent variables that represent bounded physical quantities

1. Independent Variables

o NextDate test cases derived from BVA would be inadequate: focusing on the boundary would not leave emphasis on February or leap years

o Dependencies exist with NextDate's Day, Month and Year

o Test cases derived without consideration of the function

2. Physical Quantities

o An example of physical variables being tested, telephone numbers - what faults might be revealed by numbers of 000-0000, 000-0001, 555-5555, 999-9998, 999-9999?

### 10.2.4 Equivalence Partitioning

Equivalence partitioning is a black box testing method that divides the input domain of a program into classes of data from which test cases can be derived.

EP can be defined according to the following guidelines:

1. If an input condition specifies a range, one valid and one two invalid classes are defined.

2. If an input condition requires a specific value, one valid and two invalid equivalence classes are defined.

3. If an input condition specifies a member of a set, one valid and one invalid equivalence class is defined.

4. If an input condition is Boolean, one valid and one invalid class is defined.

## No comments:

## Post a Comment