Last Updated : 23 Jul, 2025
Functional testing is a type of software testing in which the system is tested against the functional requirements of the system. It is conducted to ensure that the requirements are properly satisfied by the application. Functional testing verifies that each function of the software application works in conformance with the requirement and specification. Boundary Value Analysis(BVA) is one of the functional testings.
Boundary Value AnalysisBoundary Value Analysis is based on testing the boundary values of valid and invalid partitions. The behavior at the edge of the equivalence partition is more likely to be incorrect than the behavior within the partition, so boundaries are an area where testing is likely to yield defects.
It checks for the input values near the boundary that have a higher chance of error. Every partition has its maximum and minimum values and these maximum and minimum values are the boundary values of a partition.
In simple terms boundary value Analysis is like testing the edge cases of our software where most of the time it will get broke so it is important to do BVA before deploying the code. There are many other test that are done if you wish to learn them all then you can join our complete software testing course
Note:
Example: Consider a system that accepts ages from 18 to 56.
Boundary Value Analysis(Age accepts 18 to 56)
Invalid
(min-1)
Valid
(min, min + 1, nominal, max - 1, max)
Invalid
(max + 1)
17
18, 19, 37, 55, 56
57
Valid Test cases: Valid test cases for the above can be any value entered greater than 17 and less than 57.
Invalid Testcases: When any value less than 18 and greater than 56 is entered.
Single Fault Assumption: When more than one variable for the same application is checked then one can use a single fault assumption. Holding all but one variable to the extreme value and allowing the remaining variable to take the extreme value. For n variable to be checked:
Maximum of 4n+1 test cases
Problem: Consider a Program for determining the Previous Date.
Input: Day, Month, Year with valid ranges as-
1 ≤ Month≤12
1 ≤ Day ≤31
1900 ≤ Year ≤ 2000
Design Boundary Value Test Cases.
Solution: Taking the year as a Single Fault Assumption i.e. year will be having values varying from 1900 to 2000 and others will have nominal values.
Test Cases
Month
Day
Year
Output
1
6
15
1900
14 June 1900
2
6
15
1901
14 June 1901
3
6
15
1960
14 June 1960
4
6
15
1999
14 June 1999
5
6
15
2000
14 June 2000
Taking Day as Single Fault Assumption i.e. Day will be having values varying from 1 to 31 and others will have nominal values.
Test Case
Month
Day
Year
Output
6
6
1
1960
31 May 1960
7
6
2
1960
1 June 1960
8
6
30
1960
29 June 1960
9
6
31
1960
Invalid day
Taking Month as Single Fault Assumption i.e. Month will be having values varying from 1 to 12 and others will have nominal values.
Test Case
Month
Day
Year
Output
10
1
15
1960
14 Jan 1960
11
2
15
1960
14 Feb 1960
12
11
15
1960
14 Nov 1960
13
12
15
1960
14 Dec 1960
For the n variable to be checked Maximum of 4n + 1 test case will be required. Therefore, for n = 3, the maximum test cases are-
4 × 3 + 1 =13
The focus of BVA: BVA focuses on the input variable of the function. Let's define two variables X1 and X2, where X1 lies between a and b and X2 lies between c and d.
Showing legitimate domainThe idea and motivation behind BVA are that errors tend to occur near the extremes of the variables. The defect on the boundary value can be the result of countless possibilities.
Typing of Languages: BVA is not suitable for free-form languages such as COBOL and FORTRAN, These languages are known as weakly typed languages. This can be useful and can cause bugs also.
PASCAL, ADA is the strongly typed language that requires all constants or variables defined with an associated data type.
Limitation of Boundary Value Analysis:
It is a type of black-box testing that can be applied to all levels of software testing . In this technique, input data are divided into the equivalent partitions that can be used to derive test cases-
Example: Below is the example to combine Equivalence Partitioning and Boundary Value.
Consider a field that accepts a minimum of 6 characters and a maximum of 10 characters. Then the partition of the test cases ranges 0 - 5, 6 - 10, 11 - 14.
Test Scenario
Test Description
Expected Outcome
1
Enter value 0 to 5 character
Not accepted
2
Enter 6 to 10 character
Accepted
3
Enter 11 to 14 character
Not Accepted
Why Combine Equivalence Partitioning and Boundary Analysis Testing: Following are some of the reasons why to combine the two approaches:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4