software testing genius

Boundary Value Analysis-BVA-A Black Box Testing Technique

Welcome to “Software Testing Genius”. Subscribe to my RSS feed for latest content on Software Testing.

Boundary Value Analysis (BVA)-A Black Box Testing Technique

This Black Box testing technique believes and extends the concept that the density of defect is more towards the boundaries. This is done due to the following reasons


a) Usually the programmers are not able to decide whether they have to use <= operator or < operator when trying to make comparisons.


b) Different

terminating conditions of For-loops, While loops and Repeat loops may cause defects to move around the boundary conditions.


c) The requirements themselves may not be clearly understood, especially around the boundaries, thus causing even the correctly coded program to not perform the correct way.


The basic idea of BVA is to use input variable values at their minimum, just above the minimum, a nominal value, just below their maximum and at their maximum. Meaning thereby (min, min+, nom, max-, max), as shown in the fiollowing figure.

BVA is based upon a critical assumption that is known as “Single fault assumption theory”. According to this assumption, we derive the test cases on the basis of the fact that failures are not due to simultaneous occurrence of two (or more) faults. So, we derive test cases by holding the values of all but one variable at their nominal values and allowing that variable assume its extreme values.

If we have a function of n-variables, we hold all but one at the nominal values and let the remaining variable assume the min, min+, nom, max-and max values, repeating this for each variable. Thus, for a function of n variables, BVA yields (4n + 1) test cases.

Limitations of BVA:

1) Boolean and logical variables present a problem for Boundary Value Analysis.

2) BVA assumes the variables to be truly independent which is not always possible.

3) BVA test cases have been found to be rudimentary because they are obtained with very little insight and imagination.

Robustness Testing:

Robustness Testing is another variant of BVA

In BVA, we remain within the legitimate boundary of our range i.e. for testing we consider values like (min, min+, nom, max-, max) whereas in Robustness testing, we try to cross these legitimate boundaries as well.

Thus for testing here we consider the values like (min-, min, min+, nom, max-, max, max+)

Again, with robustness testing, we can focus on exception handling. With strongly typed languages, robustness testing may be very awkward. For example, in PASCAL, if a variable is defined to be within a certain range, values outside that range result in run-time errors thereby aborting the normal execution.

For a program with n-variables, robustness testing will yield (6n + 1) test-cases. Thus we can draw the following  Robustness Test Cases graph.

Each dot represents a test value at which the program is to be tested. In Robustness testing, we cross the legitimate boundaries of input domain. In the above graph, we show this by dots that are outside the range [a, b] of variable x1. Similarly, for variable x2, we have crossed its legitimate boundary of [c, d] of variable x2.


This type of testing is quite common in electric and electronic circuits. Furthermore, this type of testing also works on 'single fault assumption theory'.



Worst Case Testing:


If we reject our basic assumption of single fault assumption theory and focus on what happens when we reject this theory-it simply means that we want to see that what happens when more than one variable has an extreme value. In electronic circuit analysis, this is called as "worst-case analysis". We use this idea here to generate worst-case test cases.


For each variable, we start with the five-element set that contains the min, min+, nom, max-, and max values. We then take the Cartesian product of these sets to generate test cases. This is shown in following graph

For a program with n-variables, 5n test cases are generated.

Guidelines for BVA:


1) The normal versus robust values and the single fault versus the multiple-fault assumption theory result in better ttjung. These methods can be applied to both input and output domain of any program.


2) Robustness testing is a good choice for testing internal variables.


3) We must bear in mind that we can create extreme boundary results from non-extreme input values.

Many More Articles & Tutorials on Black Box Testing 

Largest Database of Sample Papers - 1000+ Unique Questions for ISTQB Foundation Exam

ISTQB Foundation Exam - Full Crash Course for Download

ISTQB Advanced CTAL Test Analysts Exam - Full Crash Course for Download

ISTQB Advanced CTAL Test Manager Exam - Full Crash Course for Download

What Successful Testers say about the Quality of this website

If you want to keep track of further articles on Software Testing,
I suggest you to subscribe my
RSS feed

You can also Subscribe by E-mail
and get All New articles delivered directly to your Inbox.

Get your Absolutely Free Copy of Several MS PowerPoint Presentations & E-Books related to ISTQB, HP Load Runner, IBM RFT, HP QTP & QC Certification Exams, prepared by Popular Writers & Trainers, by writing to:

Full Study Material for Popular Certification Exams:

Study Material - HP QTP & QC Certification Exam

Study Material - IBM RFT Certification Exam

Study Material - HP LoadRunner Certification Exams for All Modules

Study Material - ISTQB Certification Exam

Most Popular Topics in Demand:

Practical Roadmap to QTP Certification

Practical Roadmap to CSTE Certification

Consolidated Study Material - Testing & QA

Rehearsal of QTP in 1 Hr. -  Interview Questions


Comments :


# 1 Yogita on 2011-08-26 05:37:07
Can anyone tell me the answer of this question:

given the following specification.

which of the following value for age are in the same EP
if your age less than 18 then too young for insurance
if 18 to 30 then 20% discount
more then 30 ,not eligible for discount


# 2 Tierfew on 2012-12-12 04:45:15
There are three categories of EP here.

cat A: Age less than 18( exclusive)
cat B: Age between 18(inclusive) and 30(inclusive).
cat C: Age equal or higher 30

18,29,30 belong to the same EP, Cat B

Leave Your Comments: (*) Marked Fields are Mandatory

You can apply basic formatting to the text

Name *
Email Address *
Speak your mind
sex hikayeleri