Equivalence Class Partitioning – A Software Testing Technique in Black Box Testing

No votes yet.
Please wait...

Equivalence class partitioning is a test design technology that focuses on reducing the total number of tests required to validate the functionality of a given software program. The basic idea underlying equivalence partitioning technique is to divide the input data of ​​the app into different equivalence data classes. If you design tests for each data class, but not for each member of the class, the total number of required tests is reduced.


As an example, consider the program for displaying zip codes. Suppose that when a user enters a five-digit zip code and the total weight of the shipment in ounces, the program returns the cost of shipping the package. The input data for this program are the postal codes and the gross weight of the shipment. Quality assurance companies provide a range of qa services to help you create world-class quality software products. The area for entering the postal code can be divided into a class of valid inputs and a class of invalid inputs as follows:


Valid inputs are all five-digit sets of numeric characters that сonstitute a working postal code


Invalid inputs are:


  • Numeric character sets that contain fewer than five characters
  • Numeric character sets that contain more than five characters
  • Sets of five characters that are not a working postal code
  • Sets of non-numeric characters.


A similar partition can be constructed for the total weight of the shipment. For example, you need a program that works only with freights that weigh between 1 and 100 ounces. In this case, numerical values ​​falling within the range from 1 to 100, including endpoints, are valid. All values that ​​are less than 1 and greater than 100, negative values ​​and non-numerical values ​​make up invalid input classes.


It is necessary to design tests that check at least one representative of each valid input class and at least one representative of an invalid input class. When testing is done using valid inputs, unambiguously defined and expected results should be obtained. For postal code 78723 and a mass of 20 ounces, it is expected to obtain a specific value for the cost, and this value must be defined in the functional requirements. If you enter invalid data, you should receive an appropriate error message if it is defined in the technical requirements and specifications. If you enter invalid data, the program must at least not terminate abnormally, cause data corruption, or behave in an unpredictable manner.


Comments are closed.