RTUComputer ScienceYr 2023 · Sem 52023

Q3Software Testing and Project Management

Question

4 marks

Explain the Boundary Value Analysis technique.

Answer

A technical exploration of Boundary Value Analysis, explaining why software architecture mathematically fails at the absolute edges of input domains, and how to aggressively test those boundaries.

While Equivalence Partitioning mathematically selects random values from the center of a domain, Boundary Value Analysis (BVA) is an aggressive, specialized Black Box technique that violently targets the absolute edges of the input domains. Extensive software engineering metrics absolutely prove that the vast majority of catastrophic logical defects, buffer overflows, and mathematical array-out-of-bounds errors occur directly at the boundaries of conditional statements (e.g., an engineer accidentally typing < instead of <=).

The Mathematical Methodology

For any strictly defined input range bounded by a Minimum () and a Maximum (), BVA mathematically demands the execution of test cases precisely on the boundary line, and microscopically just outside the boundary line. BVA forces the generation of specific test vectors:

  • 1. Exactly at the Minimum (): Testing the absolute lowest valid value.
  • 2. Just below the Minimum (): Testing the absolute highest invalid value.
  • 3. Exactly at the Maximum (): Testing the absolute highest valid value.
  • 4. Just above the Maximum (): Testing the absolute lowest invalid value.

Architectural Execution Example

Consider a physics engine requiring a velocity input between 1 and 100 meters per second.

  • The Equivalence Partitioning test might just use 50.
  • BVA aggressively forces the following tests:
  • - Min = 1 (Valid)
  • - Min - 1 = 0 (Invalid - Should trigger exception)
  • - Max = 100 (Valid)
  • - Max + 1 = 101 (Invalid - Should trigger exception)

By violently bombarding the exact mathematical edges of the if (velocity >= 1 && velocity <= 100) logic gate, BVA guarantees that the relational operators in the source code are absolutely flawless, preventing catastrophic runtime crashes.

Back to Paper