Equivalence Class Partitioningis a black box testing method that divides the input domain of a program into classes of data from which test cases can be derived. It defines a test case that uncovers classes of errors and therefore the total number of gets reduced.there should be a minimum of two classes, one is for position cases and another is for negative cases.

*Equivalence Class Partitioning* (ECP) is mostly used where Tester needs to run the test cases for several sets of data-sets.

### Advantages of Equivalence Class Partitioning:

- ECP number of test cases is reduced
- Classes help the tester to focus on smaller data-sets by which probability to uncover the defects are more.
- It eliminates the exhaustive testing for the entire input domain which is not feasible.
- Allows covering of large domain of inputs

### Limitations of Equivalence Class Partitioning:

- ECP usually does not consider the boundary conditions.
- Sometimes issues at boundaries are ignored.
- Testers tend to assume that result will be correct for all input-data-set.

### Following guidelines are used to define Equivalence class partitioning

- For a Specified range of input condition, select one valid equivalence class that will cover valid range and second will contain an invalid range.
- For Specific Value as input, select one valid equivalence class which will have that value and other will have other values than a valid one.
- The specific condition, select the set of valid input values then select the one valid equivalence class that contains valid set values and other should contain values other than the valid set values.
- if the input conditions are broken the select one valid and one invalid values.

__Equivalence Class Partitioning__ plays an important role for a huge number of data-sets