• Software Testing Dictionary
  • Home

Software Testing - Boundary Testing



A developed software goes through several rounds of testing to confirm if it is built as per the requirements. The functional testing is a kind of testing in which all the features are tested and verified against specification documents shared from the client’s side. Boundary Value Analysis (BVA) is one of the types of functional testing.

What is Boundary Value Analysis?

BVA is a type of black box testing in which verification is conducted around the boundary values of the valid and invalid data ranges. The software characteristics at the edge of the equivalence partition have a higher probability of finding errors rather than at the middle of the partition.

Thus test cases are designed using the periphery values of an area where the testing is carried out to detect more defects. All partition ranges have maximum and minimum values and these maximum and minimum values point to the boundary values of a partition. A boundary value for a valid partition is known as a valid boundary value and a boundary value for an invalid partition is known as a invalid boundary value.

What are the Boundary Values?

The boundary values include the values present on the boundary, the values just above the boundary (lower range), and values just below the boundary (upper range).

Let us take an example of a variable x having values from 1 to 10.

So the values of x are in the range of 1 ≤ x ≤ 10. Its boundary values which should be tested are 1,10, 2, and 9. Moreover, it is a good idea to include one intermediate value in a boundary. In this example, we can include the value 5. The final values which are considered for valid test cases are 1, 2, 5, 9, and 10. The values which are considered for invalid test cases can be 0 and 11.

For each variable, the below values should be considered for testing −

  • Minimum value or lower value.
  • Just above the minimum value.
  • Nominal value or middle value.
  • Just below maximum value.
  • Maximum value or upper boundary.

What is a Single Fault Assumption?

When multiple variables for the same software are verified, then the single fault assumption is adopted. Keeping the values of all but 1 variable at their nominal value and letting that variable assume extreme values is known as the single fault assumption. For n variables to be verified, there should be (4*n + 1) test cases.

Let us take an example of two variables a and b. These variables hold the values from 100 to 300, 100 ≤ a ≤ 300 and 100 ≤ b ≤ 300. In this scenario, if we are verifying a and choosing its value as 100 (which is at the boundary), then the value of b should be set such that it is assumed to be correct or a nominal value (and not at the boundary), say 200.

The test cases for the variable a should have the below values −

  • a = 100, b = 200
  • a = 101, b = 200
  • a = 299, b = 200
  • a = 300, b = 200

If we are verifying b and choosing its value as 100 (which is at the boundary), then the value of a should be set such that it is assumed to be correct or a nominal value (and not at the boundary) , say 200.

The test cases for the variable b should have the below values −

  • a = 200, b = 100
  • a = 200, b = 101
  • a = 200, b = 299
  • a = 200, b = 300

Apart from the above 8 test cases written for the variables a and b, there should be another test case which incorporates the nominal values of both the variables. So the ninth test case should test the values, a = 200, b = 200. So for n variables to be verified, there should be (4*n + 1) test cases. Here we have designed a total of 9 test cases (the value of n = 2 since there are two variables a and b).

Disadvantages of Boundary Value Analysis

The disadvantages of BVA are listed below −

  • It works well when the software is still under development.
  • It does not take into account the nature of the functional characteristics of the variables.
  • It is only a basic level of testing.

Conclusion

This concludes our comprehensive take on the tutorial on Software Testing Boundary Value Analysis. We’ve started with describing what is boundary value analysis, what are the boundary values, what is single fault assumption, and disadvantages of boundary value analysis.

This equips you with in-depth knowledge of Software Testing Boundary Value Analysis. It is wise to keep practicing what you’ve learned and exploring others relevant to Software Testing to deepen your understanding and expand your horizons.

Advertisements