Decision tables are used:
- when the output data or program behavior depends on the combinations of input data values;
- by checking the “business rules”.
Let our program take a dozen parameters. To test all combinations is very difficult, so you should choose the most common and potentially affecting each other. Bugs that arise by a particular combination of all ten parameters are rare.
The most common are bugs that arise by a particular combination of two parameters. The more information about the mutual influence of the parameters (more precisely – of the mutual non-influence), the more combinations we can not test. In the absence of such information, as well as by complex algorithms of program behavior, you should apply the method of pairwise testing.
Thus, we can simplify our task and test all the possible values for each pair of parameters.
Boundary Value Testing is the most well-known and simple technique of test design, which helps the tester choose the most effective values from the ranges of values. This technique is applicable at all levels of testing – unit, integration, system, and system-integration test levels.
We consider the steps of using of the equivalence classes technique:
1.Determining the range of values (usually, the equivalence class).
2.Determination of the boundary range.
3.Creating three test cases for each boundary – one that checks the border value; second that checks the value below boundary; and the third that checks the value above boundary.
Equivalence Classes is the input (and sometimes output) data which are processed by the same application or their processing leads to the same results.
Equivalence Class Testing is a technique for test design which can reduce the amount of your test cases.
It can be used at all testing levels – unit, integration, system, and system-integration test levels.
To ensure the correct program behavior under different input data, you should ideally test all possible values for each element of this data (as well all possible combinations of input parameters).