For reasons that are not completely clear, a greater number of errors tends to occur at the boundaries of the input domain rather than in the "center."
- It is for this reason that boundary value analysis (BVA) has been developed as a testing technique.
- Boundary value analysis leads to a selection of test cases that exercise bounding values.
- Boundary value analysis is a test case design technique that complements equivalence partitioning.
- Rather than selecting any element of an equivalence class, BVA leads to the selection of test cases at the "edges" of the class.
- Rather than focusing solely on input conditions, BVA derives test cases from the output domain as well.
- Guidelines for BVA are similar in many respects to those provided for equivalence partitioning:
- If an input condition specifies a range bounded by values A and B, test cases should be designed with values A and B and just above and just below A and B.
- If an input condition specifies a number of values, test cases should be developed that exercise the minimum and maximum numbers. Values just above and below minimum and maximum are also tested.
- Apply guidelines 1 and 2 to output conditions. For example, assume that a temperature vs. pressure table is required as output from an engineering analysis program. Test cases should be designed to create an output report that produces the maximum (and minimum) allowable number of table entries.
- If internal program data structures have prescribed boundaries (e.g., an array has a defined limit of 100 entries), be certain to design a test case to exercise the data structure at its boundary.
Boundary Value Analysis Advantages:
- The BVA technique of testing is quite easy to use and remember because of the uniformity of identified tests and the automated nature of this technique.
- One can easily control the expenses made on the testing by controlling the number of identified test cases. This can be done with respect to the demand of the software that needs to be tested.
- BVA is the best approach in cases where the functionality of a software is based on numerous variables representing physical quantities.
- The technique is best at revealing any potential UI or user input troubles in the software.
- The procedure and guidelines are crystal clear and easy when it comes to determining the test cases through BVA.
- The test cases generated through BVA are very small.
Boundary Value Analysis Disadvantages:
- This technique sometimes fails to test all the potential input values. And so, the results are unsure.
- The dependencies with BVA are not tested between two inputs.
- This technique doesn’t fit well when it comes to Boolean Variables.
- It only works well with independent variables that depict quantity.