In an earlier article we have gone through the functional testing and one of its types. Now we will study the remaining testing techniques. We have covered Boundary Value Analysis and now we will check other techniques like Equivalence class testing and decision table testing.
In equivalence testing technique, we divide the input data of a software unit into many partitions. These are partitions of data; test cases are derived from these partitions.
Division of data creates some partitions of input. This input is considered in some ranges. Some of them are valid while some are invalid as well.. The valid range is known as a partition. The invalid range doesn't mean that data lies inside is incorrect, it means the range in which data resides outside of any specific partition.
The figure below is showing the main window of an Equivalent partition Organizer. This is the window which is needed to start our testing.
Main window of Equivalent Class Partition Organizer
For explaining it in a better way. Let's take the example of any parameter. The parameter should have a specific range. This may be best explained by the example of a function having a parameter. As a parameter, here we take Week. a "week" has seven days.
The range for parameter "week" is 1 to 7. This is valid. Any value taken outside the range will fall in the category of invalid range. Values which lies between <=0 and >= 7 will show invalid existence.
The next window is showing the various options from where you can use an Edit Menu to add a test case.
Another window of ECT Organizer
Need to use Equivalence class testing
We use this testing when we are required to avoid redundancy. The boundary value analysis tables are not effective for the data which has a bulk of redundancy.
The table that does show redundant data is divided into a number of partitions.
Types of Equivalence Class Testing
It is of four types; they are given below.
- Weak Normal Equivalence Class Testing (ECT)
- Strong Normal Equivalence Class Testing (ECT)
- Weak Robust Equivalence Class Testing (ECT)
- Strong Robust Equivalence Class Testing (ECT)
Weak Normal ECT
Weak means "single fault assumption". In this type of testing we use one variable from each equivalence class in a test case. It defines equivalence classes on the range of input for each variable. We do a partition of test cases of input variables into different equivalent classes. The partition is done separately.
Strong Normal ECT
In Strong Normal Equivalence Testing is based on the multiple fault assumption theory.
Weak Robust ECT
Any test case which justifies with the case of "single fault assumption" theory and its range of input acts as an invalid values comes under the category of weak robust equivalence class testing.
Strong Robust ECT
It is similar to Strong Normal ECT. The difference is that we considered invalid data as well. Strong Robust ECT does not assume "single fault". Strong Robust ECT assumes dependency of variables.
Strong Robust Equivalent Class Testing
Drawbacks of Equivalence Class Testing
Its limitations are somewhat similar to BVA. It does not work efficiently with Boolean variables and for logic variables as well.
ECT does not work well for variables which are dependent. For ECT, it is really very difficult; in fact next to impossible for determining expected values for invalid variable values.
Conclusion
In Equivalence class testing, we use the mathematical concept of dividing data into ranges. It is applied to the outputs of software components as well but it is done on some special cases. Equivalence class testing where exhaustive testing is a necessity.
Resources
Few more in Testing: Installation and Database Testing
Functional Testing-Part 1