Updated: Nov 19, 2019
Time and budget limitations in a project make it impossible to execute exhaustive testing for every set of test data. This is especially the case when there’s a huge amount of input combinations. Two testing techniques, Equivalence Partitioning and Boundary Value Analysis testing, provide an easy way to select test cases intelligently from the available test cases so that all relevant scenarios are covered.
A testing technique often used is equivalence partitioning (often referred to as Equivalence Class Partitioning). This testing technique is used to reduce the number of possible inputs to a small but still effective set of inputs. As it is used to test an application extensively and to avoid repetition of inputs, it is achieved by breaking down inputs or outputs into classes having the same expected result and determining a value from each of these classes. A big advantage of this testing technique is that test cases can be designed immediately after the completion of the specifications. A disadvantage is that testing results might be overestimated at times since some errors may remain undiscovered.
As an example, imagine an online game of which the log in accepts not less than 3-digit and not more than 4-digit numbers. Now think about the extensive amount of valid and invalid test input to validate the proper functioning. 0, 1, 2, 3, … 9999 … 999999, 1000000, etc. In order for the testing to be as efficient as possible, we have designed different classes consisting of valid and invalid inputs.
It is then assumed that each of the examples chosen represent all values within its class and will provide the same valid or invalid result.
Boundary Value Analysis
Boundary Value Analysis, often referred to as BVA, is a testing technique often used in combination with equivalence partitioning and is used to test the functioning of a program at its boundaries. Experience has learned that most defects arise when validating a range of values near or at the boundary values. This analysis approach is most commonly used when checking a range of numbers. When checking, the following step is to see how the program functions at the boundary values. During test design, tests can be designed for both valid and invalid boundary values.
A producer of energy drinks wishes to build a new website with the goal to create more awareness amongst its customers. Due to legislation, only people between 18 and 65 years should be allowed on the website. Our goal is to test this specification.
The following valid test cases are being proposed in this specific situation: 18 and 65. Both should be allowed to be entered in the website. The numbers 17 and 66 however are invalid input numbers and as a result should not be allowed to be entered in the website.
Below some of the reasons for using Boundary Value Analysis.
· Helpful for applications with a large number of inputs;
· Provides clarity when designing test cases without having to compromise on both the test effectiveness and coverage;
· Helps to minimize a huge amount of test cases to a manageable number.
The identification of equivalence classes determined by the testers’ expertise and his application knowledge will highly impact the success of the testing. The incorrect identification of equivalence classes will result in incorrect boundary value testing.
Equivalence partitioning versus boundary value analysis
Both Equivalence partitioning and Boundary Value Analysis are black box testing techniques and can be applied at almost any test level. Both are often used for unit, integration and system testing for positive as well as negative testing.
By Sam Vandevelde
The ISTQB CTFL training is aimed at people who ant a basic understanding of the software testing process. For people who are already working in Software QA, this would be a great asset on their resume and open the door to other ISTQB training courses, since this is the prerequisite for all other ISTQB training courses, such as the Agile Tester Extension or the Advanced Level, Test Automation Engineer. Besides from that many industries use the same terminology of the course.
The ISTQB certification is a widespread certification for QA professionals. Many believe that gaining the certification can improve the quality of testing that is done.
All training courses are considered to be of high quality.
Want to find out more?