Techniques to Reduce the Test Cases
Writing test cases to all possible checks is irrelevant. So we can reduce the number of test cases by avoid some unwanted checks. To reduce the number of test cases, there are three methods to be followed.
1. Equivalence Class Partitioning (ECP)
2. Boundary Value Analysis (BVA)
3. Cause Effect Graphing (CEG)
Equivalence Class Partitioning (ECP):
ECP is a black box testing method that divides the input domain of
program into classes of data, from which test cases can be derived. It
uncovers classes of errors, there by reducing the total number of test cases
that must be developed.
Group of tests forms equivalence class if,
- They all tests the something
- If one test finds a defect, the others will
- If one test does not find a defect, the others will not.
Tests are grouped into one equivalence class when
- They affect the same output variables
- They result in similar operations in the program
- They involve the same input variables
Process of finding equivalence classes is
- Identify all inputs
- Identify all outputs
- Identify equivalence classes for each input and output
- Ensure that test cases test each input and output equivalence class at least once.
Guidelines for finding equivalence class
- Look for range numbers
- Look for membership in a group
- Look for equivalent output events
- Look for equivalent operating environment.
Boundary Value Analysis (BVA):
BVA is a test case design technique that complements equivalence
'partitioning'.
BVA leads to selection of test cases that exercises bounding
values.
Rather than selecting any elements of equivalence, BVA leads to
the selection of test case at the 'edges' of the class.
Guidelines for BVA:
1. If input condition is a range bounded by values 'a' and
'b'. Test case should be designed with values 'a' and 'b', just above and
just below a & b.
2. If input condition specifies a number of values,
test case should be developed that exercises the minimum and maximum
numbers. Values just above and just below the maximum and minimum should
be tested.
Apply the above guidelines for output conditions also.
SOME IMPORTANT TESTING HINTS
Testing is the phase where the errors remaining from all the
previous phases (i.e. SDLC) must be detected. Hence testing performs a
very critical role for quality assurance and for ensuring the reliability of
software.
Success of testing in revealing errors depends critically on test
cases.
Comments
Post a Comment