Question { 3i Infotech, 5377 }
What is an equivalence class
Answer
Equivalence Class Testing is when you create sets of input
that have equivalent expected behavior. You do this until
all possible inputs show up in one of the groupings. Now
when you test one item from each of the inputs you should be
covering all the possible inputs in that grouping.
Some types of inputs lend themselves really well to this
type of testing – the first is a range of values. You break
it down into values within the valid range, invalid values
above the valid range and invalid values below the valid
range. Lets have an example to better illustrate what I am
trying to describe. We are going to test the
appointment-making part of the program. An appointment has
four fields:
1. Time
2. Day
3. Month
4. Year
Lets look at the month input field. Depending on how it is
implemented it could take valid values from 1-12 or it could
take the months in a string format. Lets look at the input
of values from 1-12 and what equivalence classes world be
necessary to test this input.
* valid range of 1-12
* invalid range below the valid range <1
* invalid range above the valid range >12
If the input was a string you would end up with two sets.
One that had the valid inputs in it and one that had every
thing else you could think to put in it.
So along with the month input you would also have a day,
year, and time input. The program is written in such a way
that they all have to be tested at the same time. So you
list all the groupings for all the other inputs fields and
test them at the same time. You will notice that you can
test most of the valid test cases at the same time, but you
will have to test the error cases one field at a time so you
can make sure the error is handled appropriately.
This kind of testing will allow you to keep the number of
test cases small, and you could use this type of testing at
any level of testing from unit all the way up to acceptance
testing. One of the limiting factors of this type of testing
is that it assumes identical behavior for all items in a
grouping. This is best suited to testing programs where
inputs are within ranges or values in sets