By Andréia Ribeiro
Equivalence Partitioning is one of the most essential test design techniques in QA. It helps testers reduce the number of test cases by dividing input data into groups that the system is expected to process in the same way.
Instead of testing every possible input, testers select representative values from each group. If one value from a group behaves correctly, the others are expected to behave the same way.
During my QA mentorship with Julio de Lima, I revisited this technique and gained a deeper understanding of how to apply it effectively.
Let’s explore how Equivalence Partitioning can be applied using a simple user registration form as an example.
What is Equivalence Partitioning?
Equivalence Partitioning is a test design technique used to divide input data into groups, known as partitions, where all values are expected to be treated similarly by the system.
The key principle is simple:
If one value in a partition behaves correctly (accepted or rejected), the other values in that same partition are expected to behave the same way.
If one value in a partition behaves correctly (accepted or rejected), the other values in that same partition are expected to behave the same way.
This approach helps testers reduce redundant testing while still maintaining good coverage of possible inputs.
Equivalence Partitioning is closely tied to verification, as it relies on clearly defined requirements, business rules, or specifications that describe how the system should behave.
When applying this technique, testers typically ask two important questions:
What inputs can the user provide?
What ranges or sets of values are allowed for each input?
This technique also forms the foundation for other test design methods such as Boundary Value Analysis and Decision Tables.
Step 1: Understand the Requirements
Before designing tests, it is essential to understand the system requirements.
In this example, the registration form asks the user to provide their age.
In this example, the registration form asks the user to provide their age.
Business rule:
"The system should accept ages from 18 to 60 and reject any other values"
Clear rules like this help testers determine which inputs are valid and which are invalid.
Step 2: Identify Input Variables
Next, identify the input field that will be tested.
In this case, the main input variable is: Age
To apply Equivalence Partitioning effectively, we must also consider:
- The expected data type (numeric)
- The allowed range of values (18–60)
Step 3: Identify Partitions
Now we divide the possible inputs into groups that the system is expected to treat in the same way.
From a tester’s perspective, the reasoning might look like this:
Input field: Age
Expected data type: Numeric
Allowed range: 18–60
Expected data type: Numeric
Allowed range: 18–60
Based on this information, we can define the following partitions:
Valid Partition
Invalid Partitions
Invalid Partitions
Age between 18 and 60
Age less than 18
Age greater than 60
Non-numeric input
These partitions represent categories of inputs that should trigger the same system behaviour.
Step 4: Select Representative Test Cases
Once the partitions are defined, testers choose one representative value from each partition to create test cases.
| Partition | Example Value | Expected Result |
|---|---|---|
| Valid | 25 | Accepted |
| Invalid – below minimum | 10 | Rejected |
| Invalid – above maximum | 65 | Rejected |
| Invalid – non-numeric | "twenty" | Rejected |
Instead of testing every possible value, we test one representative value from each partition, assuming the system will treat the other values in the same group similarly.
Equivalence Partitioning is very useful for organising test inputs, but it cannot detect all types of defects on its own.
For example, errors often occur at the edges of input ranges, known as boundaries.
To improve test coverage, testers often combine Equivalence Partitioning with Boundary Value Analysis.
This diagram illustrates how different inputs from each partition are validated by the system according to the business rules.
Important Notes
Equivalence Partitioning is very useful for organising test inputs, but it cannot detect all types of defects on its own.
For example, errors often occur at the edges of input ranges, known as boundaries.
To improve test coverage, testers often combine Equivalence Partitioning with Boundary Value Analysis.
For the age example, boundary values could include:
- 17
- 18
- 19
- 59
- 60
- 61
Key Takeaways
Equivalence Partitioning reduces redundant testing while maintaining meaningful coverage
It requires a clear understanding of system requirements and business rules
It helps testers organise inputs into logical categories
It works best when combined with other testing techniques such as Boundary Value Analysis
It requires a clear understanding of system requirements and business rules
It helps testers organise inputs into logical categories
It works best when combined with other testing techniques such as Boundary Value Analysis
Most importantly, it helps testers develop a structured and analytical approach to designing test cases.
Equivalence Partitioning is a powerful way to structure your testing strategy, but different testers may approach it in slightly different ways depending on the system and requirements.
Have you applied this technique in your own testing?
Feel free to share your experiences or examples in the comments. I’d love to learn how others approach test design.
Feel free to share your experiences or examples in the comments. I’d love to learn how others approach test design.
References:
Mentorship: Software Testing Mentorship with Julio de Lima
Graham, D., van Veenendaal, E., Evans, I., & Black, R. (2008). Foundations of Software Testing.
ISTQB Glossary & Syllabus. International Software Testing Qualifications Board. ht

Comments
Post a Comment