![]()
Equivalence Class Partitioning
What is "Equivalence Class Partitioning"? We define "Equivalence Class Partitioning" as a method that can help you derive test cases. You identify classes of input or output conditions. The rule is that each member in the class causes the same kind of behavior of the system. In other words, the "Equivalence Class Partitioning" method creates sets of inputs or outputs that are handled in the same way by the application. Another definition taken from Wikipedia: "A technique in black box testing. It is designed to minimize the number of test cases by dividing tests in such a way that the system is expected to act the same way for all tests of each equivalence partition. Test inputs are selected from each class. Every possible input belongs to one and only one equivalence partition." Why learn "Equivalence Class Partitioning"? This method drastically reduces the number of test cases that are required to be tested because we don't have time, money or manpower to test everything. In addition, it can help you find many errors with the smallest number of test cases. How to use "Equivalence Class Partitioning"? There are 2 major steps we need to do in order to use equivalence class partitioning:
Example 1 In a computer store, the computer item can have a quantity between -500 to +500. What are the equivalence classes? Answer: Valid class: -500 <= QTY <= +500 Invalid class: QTY > +500 Invalid class: QTY < -500 Example 2 In a computer store, the computer item type can be P2, P3, P4, and P5 (each type influences the price). What are the equivalence classes? Answer: Valid class: type is P2 Valid class: type is P3 Valid class: type is P4 Valid class: type is P5 Invalid class: type isn’t P2, P3, P4 or P5 Practice Bank account can be 500 to 1000 or 0 to 499 or 2000 (the field type is integer). What are the equivalence classes? Try to solve it before reading the answer. Practice 1 - answer
Equivalence Class Vs Boundary Testing Let us discuss about the difference between Equivalence class and boundary testing. For the discussion we will use the practice question: Bank account can be integer in the following ranges: 500 to 1000 or 0 to 499 or 2000. What are the equivalence classes? Answer:
In equivalence class, you need to take one value from each class and test whether the value causes the system to act as the class' definition. It means that in this example, you need to create at least 6 test cases – one for each valid class and one for each invalid class. How many test cases will be, if you use boundary testing? The following table shows how much test cases will be using "Boundary Testing" method:
In boundary testing, you need to test each value in the boundary and you know the value, you don't need to choose it from any set. In this example you have 13 test cases. Now, let us exam how to combine this 2 methods together. The following table shows all the boundary testing values and their equivalence classes:
Now, we can reduce some of the test cases that belong to the same equivalence class. We can delete lines 3 and 4 which belong to equivalence class "0 <= account <= 499". We also can delete lines 7 and 8 hich belong to "500 <= account <= 1000". The new table will be:
You can even reduce more test cases although in my opinion, it is important to keep this table because it keeps a hard connection to the boundary testing. You can see in the table that I didn't reduce those test cases that are touch in the boundary itself of each range. Let's reduce more test cases (just for the fun and for the practice (test case 5, 9 and 10):
Now, in this table, for each equivalence class, you choose one value that belongs to boundary testing. A smart man once told me that when I write a test case and I using equivalence class partitioning, not to write specific values. Instead, he told me to write the classes and their expected results. By that, each time a tester will run the test case he will choose new candidates from each class. Using that working method we can promise that each running will contain new values. |
- All
- Agile Testing
- Bug/Defect
- Certification
- Conferences
- Database Testing
- Functional Test
- Integration Testing
- Interview
- Java Testing
- Magazine
- Manual Testing
- Methodology
- Mobile Testing
- Network Testing
- Performance Test
- Requirement
- Review
- Risk Management
- Security Testing
- Software Testing
- Standard
- System Testing
- Test Automation
- Test Case
- Test Data
- Test Environment
- Test Estimation
- Test Management
- Tester Career
- Testing News
- Test Plan
- Unit Testing
- Video Tutorial
- Web Testing
- Webinar
| Number | Title | Author | Date | Votes | Views |
| 20613 |
SileniusStor is specialized in reselling Cheap Aquafadas software online.
Softwareces
|
2022.09.15
|
Votes 0
|
Views 50809001
|
Softwareces | 2022.09.15 | 0 | 50809001 |
| 20612 |
CSStore is specialized in reselling Cheap Steinberg software online.
Softwareces
|
2022.09.04
|
Votes 0
|
Views 50803283
|
Softwareces | 2022.09.04 | 0 | 50803283 |
| 20611 |
Software Tester Community Website
ItSeTsQtBer
|
2021.04.11
|
Votes 0
|
Views 51204002
|
ItSeTsQtBer | 2021.04.11 | 0 | 51204002 |
| 20610 |
SoapUI Certification Course Content
Steveskok
|
2021.02.08
|
Votes 0
|
Views 51481678
|
Steveskok | 2021.02.08 | 0 | 51481678 |
| 20609 |
JavaScript Course Content
Steveskok
|
2021.02.08
|
Votes 0
|
Views 50996277
|
Steveskok | 2021.02.08 | 0 | 50996277 |
| 20608 |
Why most mobile testing is not continuous?
(TestExpert)
|
2021.02.04
|
Votes 0
|
Views 51842110
|
(TestExpert) | 2021.02.04 | 0 | 51842110 |
| 20607 |
8 Common Mistakes When Planning and Documenting Your Tests
(TestExpert)
|
2021.02.04
|
Votes 0
|
Views 52879053
|
(TestExpert) | 2021.02.04 | 0 | 52879053 |
| 20606 |
Types of Performance Testing
Jamessmith
|
2021.01.17
|
Votes 0
|
Views 51815070
|
Jamessmith | 2021.01.17 | 0 | 51815070 |
| 20605 |
How to Build E2E Test Cases (1)
tanthanh
|
2020.05.28
|
Votes 0
|
Views 51891763
|
tanthanh | 2020.05.28 | 0 | 51891763 |
| 20604 |
[White Paper] Delivering better software using Test Automation
tanthanh
|
2020.05.28
|
Votes 0
|
Views 51573799
|
tanthanh | 2020.05.28 | 0 | 51573799 |
| 20603 |
[Whitepaper] How to choose the right API Testing Solution
tanthanh
|
2020.05.28
|
Votes 0
|
Views 51318071
|
tanthanh | 2020.05.28 | 0 | 51318071 |
| 20602 |
[Whitepaper] How to choose the right API Testing Solution
tanthanh
|
2020.05.28
|
Votes 0
|
Views 51078815
|
tanthanh | 2020.05.28 | 0 | 51078815 |
| 20601 |
TestOps Introduction
VTB
|
2020.03.23
|
Votes 0
|
Views 50703688
|
VTB | 2020.03.23 | 0 | 50703688 |
| 20600 |
TestOps Implementation Case Study
VTB
|
2020.03.23
|
Votes 0
|
Views 51786126
|
VTB | 2020.03.23 | 0 | 51786126 |
| 20599 |
Selenium Automation Tester Certification Sample Exam Set 3
(TestExpert)
|
2020.02.03
|
Votes 0
|
Views 52062834
|
(TestExpert) | 2020.02.03 | 0 | 52062834 |
| 20598 |
Selenium Automation Tester Certification Sample Exam Set 2
(TestExpert)
|
2020.02.03
|
Votes 0
|
Views 51929723
|
(TestExpert) | 2020.02.03 | 0 | 51929723 |
| 20597 |
Selenium Automation Tester Certification : Sample Exam Set 1
(TestExpert)
|
2020.02.03
|
Votes 0
|
Views 51329178
|
(TestExpert) | 2020.02.03 | 0 | 51329178 |
| 20596 |
What is agile testing? why is agile testing? and what is the benefits? (20)
oishichip
|
2019.12.26
|
Votes 0
|
Views 50438235
|
oishichip | 2019.12.26 | 0 | 50438235 |
| 20595 |
Crowd Testing — Vantagens para testadores, plataformas e clientes [pt-br]
soikmd2
|
2019.12.14
|
Votes 0
|
Views 50773974
|
soikmd2 | 2019.12.14 | 0 | 50773974 |
| 20594 |
Software Testing Industry Report (Turkey) 2018-2019 (2)
ItSeTsQtB
|
2019.08.08
|
Votes 0
|
Views 51670956
|
ItSeTsQtB | 2019.08.08 | 0 | 51670956 |
| 20593 |
How to bypass security in integration tests in ASP.Net Core
ItSeTsQtB
|
2019.08.08
|
Votes 0
|
Views 52794475
|
ItSeTsQtB | 2019.08.08 | 0 | 52794475 |
| 20592 |
For agile testing, fail fast with test impact analysis
ItSeTsQtB
|
2019.08.08
|
Votes 0
|
Views 52106713
|
ItSeTsQtB | 2019.08.08 | 0 | 52106713 |
| 20591 |
Career Path in Software Testing
^Software^
|
2019.07.28
|
Votes 0
|
Views 51859156
|
^Software^ | 2019.07.28 | 0 | 51859156 |
| 20590 |
Challenges in Big Data Testing
^Software^
|
2019.07.22
|
Votes 0
|
Views 51672945
|
^Software^ | 2019.07.22 | 0 | 51672945 |
| 20589 |
Essential Necessities In Big Data Testing
^Software^
|
2019.07.22
|
Votes 0
|
Views 50671102
|
^Software^ | 2019.07.22 | 0 | 50671102 |
| 20588 |
5 Test Data Generation Techniques
^Software^
|
2019.07.22
|
Votes 0
|
Views 51804461
|
^Software^ | 2019.07.22 | 0 | 51804461 |
| 20587 |
CI and CD for ETL (Extract-Transform-Load) testing.
^Software^
|
2019.07.22
|
Votes 0
|
Views 51670901
|
^Software^ | 2019.07.22 | 0 | 51670901 |
| 20586 |
Quest for Quality Conference : 5-6 Nov 2019 at Dublin, Ireland
VTB
|
2019.07.08
|
Votes 0
|
Views 51458646
|
VTB | 2019.07.08 | 0 | 51458646 |
| 20585 |
TestBash Essentials Conference 2019
VTB
|
2019.07.08
|
Votes 0
|
Views 51367414
|
VTB | 2019.07.08 | 0 | 51367414 |
| 20584 |
UKSTAR Conference : 11-03-2019
VTB
|
2019.07.08
|
Votes 0
|
Views 50909980
|
VTB | 2019.07.08 | 0 | 50909980 |
| 20583 |
Testing in Context Conference Australia (TiCCA) 2019
VTB
|
2019.07.08
|
Votes 0
|
Views 50933376
|
VTB | 2019.07.08 | 0 | 50933376 |
| 20582 |
European Testing Conference 2019
VTB
|
2019.07.08
|
Votes 0
|
Views 51346875
|
VTB | 2019.07.08 | 0 | 51346875 |
| 20581 |
Automation Guild Online Conference 2019
VTB
|
2019.07.08
|
Votes 0
|
Views 52563434
|
VTB | 2019.07.08 | 0 | 52563434 |
| 20580 |
Software Quality Days 2019 : 15 Jan 2019 (1)
VTB
|
2019.07.08
|
Votes 0
|
Views 51725366
|
VTB | 2019.07.08 | 0 | 51725366 |
| 20579 |
Skills required to become a Software Tester (1)
IT-Tester
|
2019.07.08
|
Votes 0
|
Views 51647930
|
IT-Tester | 2019.07.08 | 0 | 51647930 |
| 20578 |
Automated Unit Testing with Randoop, JWalk and µJava versus Manual JUnit Testing
IT-Tester
|
2019.07.08
|
Votes 0
|
Views 50100126
|
IT-Tester | 2019.07.08 | 0 | 50100126 |
| 20577 |
Scrum Testing Guide Book (2)
IT-Tester
|
2019.06.26
|
Votes 0
|
Views 50615584
|
IT-Tester | 2019.06.26 | 0 | 50615584 |
| 20576 |
Acceptance Testing Definition in Testing vs Scrum
IT-Tester
|
2019.06.26
|
Votes 0
|
Views 51510402
|
IT-Tester | 2019.06.26 | 0 | 51510402 |
| 20575 |
User Acceptance Testing Checklist
VTB
|
2019.06.20
|
Votes 0
|
Views 51816063
|
VTB | 2019.06.20 | 0 | 51816063 |
| 20574 |
Firewalls and Types (1)
VTB
|
2018.11.14
|
Votes 0
|
Views 50602219
|
VTB | 2018.11.14 | 0 | 50602219 |
| 20573 |
Senior Test Engineer (1)
VTB
|
2018.11.05
|
Votes 0
|
Views 51585336
|
VTB | 2018.11.05 | 0 | 51585336 |
| 20572 |
Junior Test Analyst
kornadian2
|
2018.11.04
|
Votes 0
|
Views 51598149
|
kornadian2 | 2018.11.04 | 0 | 51598149 |
| 20571 |
Senior Test Engineer
kornadian2
|
2018.11.04
|
Votes 0
|
Views 50880935
|
kornadian2 | 2018.11.04 | 0 | 50880935 |
| 20570 |
Programme Test Manager, 12m, Immed Start, $NEG
kornadian2
|
2018.11.04
|
Votes 0
|
Views 52857831
|
kornadian2 | 2018.11.04 | 0 | 52857831 |
| 20569 |
Junior Test Analyst
kornadian2
|
2018.11.04
|
Votes 0
|
Views 51643945
|
kornadian2 | 2018.11.04 | 0 | 51643945 |
| 20568 |
Dev & Test Manager
kornadian2
|
2018.11.04
|
Votes 0
|
Views 52431957
|
kornadian2 | 2018.11.04 | 0 | 52431957 |
| 20567 |
Senior Test Analyst (Performance Tester)
kornadian2
|
2018.11.04
|
Votes 0
|
Views 52156448
|
kornadian2 | 2018.11.04 | 0 | 52156448 |
| 20566 |
QA Automation Test Analyst
kornadian2
|
2018.11.04
|
Votes 0
|
Views 51127471
|
kornadian2 | 2018.11.04 | 0 | 51127471 |
| 20565 |
Software/Field Testing Engineer
kornadian2
|
2018.11.04
|
Votes 0
|
Views 51069160
|
kornadian2 | 2018.11.04 | 0 | 51069160 |
| 20564 |
Compliance Technician (Tester)
kornadian2
|
2018.11.04
|
Votes 0
|
Views 50920361
|
kornadian2 | 2018.11.04 | 0 | 50920361 |
good article ... comprehensive and accurate ... detailed and easy to understand .... must read ... thanks for sharing
very thanks for your article
very thanks for your article
good article