Boundary value analysis is a black box test design technique, where the test cases are designed with the help of representation of those numerical entities which demarcate the ranges in those test cases. It tests the extreme ends of divisions formed out of input values.
How to conduct boundary value analysis?
As a technique, boundary value analysis enables easy generation of test cases. This fact can be better understood with the help of the following example:-
Let us suppose that the input values to a software were days of the week, expressed in the form of integers:-
-3, -2, -1,0,1,2,3,4,5,6,7,8,9,10,11
Creation of Equivalence class Partitions:
Boundary value analysis involves the use of equivalence partitions. The input data to the software is first of all divided into divisions called equivalence class partitions.
Invalid equivalence class partition1:-Days in the form of negative integers can never form part of a week. Therefore, integers from -3 to 0 form an invalid class partition
Valid equivalence class partition: Days in the form of positive integers i.e. 1 to 7 form part of a week. Hence they form a valid class partition.
Invalid equivalence class partition2: Since there cannot be more than 7 days in a week, the days in the form of positive integers 8 to 11 form an invalid class partition.
Identification of boundary values:
The boundaries are formed out of the minimum and maximum values obtained from creation of equivalence class partitions. Therefore, the minimum value in first partition is -3 and maximum value is 0. Therefore, Boundary values for first partition is 0 &1. Similarly we have 7 & 8 as boundary values of second partition.
Creation of test cases:
Test cases are generated to create input and output values which fall on either side of the demarcated boundary values. This results in creation of two test cases for each boundary. Hence boundary values will be tested at (0,1), (7,8).
Merits of conducting boundary value testing:
Helps to reduce the number of test cases.
This analysis is very handy for testing calculation intensive software using numerical entities.
Boundary value analysis facilitates clarity in determination of test cases.
Disadvantages of bottom up approach
Since the main module is tested last, the key defects in interfaces related to the main module are tested in the end.
Test drivers are required to be created at all levels.
The product is not complete or ready for launch until the last addition of a module.
The test drivers themselves need to be tested before their deployment for bottom up approach. This increases the overall testing effort.