Thanks:  0
Likes:  0
Dislikes:  0

# Thread: How to explain Equivalence partitioning and BVA?

1. ## How to explain Equivalence partitioning and BVA?

I have tried to explain Equivalence partitioning and BVA (Boundary Value Analysis) with below example in my recent blogpost about Software Testing Terms

[ QUOTE ]

According to Equivalence partitioning, writing one test case for each partition of the input data is enough.
For example, if a password field accepts minimum 4 characters and maximum 10 characters, then there will be three partitions. First one is a valid partition 4 to 10. Second is invalid partition of values less than 4. Third one is another invalid partition of values more than 10. We can take one value from each partition to do the testing.

In this example the boundary values based on boundary value analysis are 3,4,5, 9,10 and11.

[/ QUOTE ]

But I feel it is not enough to have clear understanding about Equivalence partitioning and BVA. Especially I want to give some very simple example which will make the readers to understand the importance of knowing about Equivalence partitioning and BVA to write Test Cases effectively to cover maximum scenarios while keeping number of test cases minimum.

Can you give simple example with clear explanation, or extend my example with better explanation?

2. ## Re: How to explain Equivalence partitioning and BVA?

Your example is fine but it would better if you could give example of password such as 'abc', 'abcd', etc. Regarding to BVA, you should give a picture to show boundary-1, boundary, boundary+1, etc.

Also, two below things you should mention in Equivalence Class Partitioning (ECP) and BVA

1. The reason why people need to use ECP and BVA (purpose, benefits and so on.)
2. How to decompose variable data. The concept of ECP and BVA is not difficult to learn but techniques, practices and experience in order to decompose variable data are the most challenges. It requires domain knowledge of system, technical background such as various type of data.

3. ## Re: How to explain Equivalence partitioning and BVA?

How can we check BVA for a year.We have to enter year in text box for example 2010.how can we check min and max value for this.Please reply

4. ## Re: How to explain Equivalence partitioning and BVA?

I do feel that your example although a valid one is not the most simple to exemplify EP and BVA.

I tend to use numeric fields for this, but you can even use less trivial stuff such as time. Here is an example:

Imagine you need to test a field where you need to set the time for an appointment, for example in a calendar application. Meetings can start at any time between 8:00 and 17:00.

Valid Class: 8:00 to 17:00
Invalid Class 1: 0:00 to 7:59
Invalid Class 2: 17:01 to 23:59

Using EP you can create the following TCs:
Valid - 9:30 (or any other value in the valid class)
Invalid - 5:30 (from IC1); 18:00 (from IC2); and you can even add XX:XX as an invalid format.

Using BVA you can test the following TCs
7:59 ; 8:00 ; 8:01 ; 16:59 ; 17:00 ; 17:01

Again, not that your case is not good, but since you are adding number of characters together with the type of characters it might be confusing.

My 2 cents.

-joel

5. ## Re: How to explain Equivalence partitioning and BVA?

[BVA for a year]

It depends on your system to determine min and max of a year (e.g. minimum and maximum of a text field to enter year, data type developer used to store year such as 16 bit integer or 32 bit integer, your computer system). For example, if you use 32 bit system, you should check the maximum year as 2030 (January 19, 2038) (search on internet for more details about this matter).

6. ## Re: How to explain Equivalence partitioning and BVA?

One note regarding to ECP and BVA, I would not suggest to combine ECP and BVA to reduce tests since it might lead to test escape and faulty assumptions.

7. ## Re: How to explain Equivalence partitioning and BVA?

Chapter 5 of the book "How We Test Software at Microsoft" has the best treatment of Equivalence Class Partitioning and Boundary Value Analysis I've ever read. B.J. Rollison includes that as part of his discussion of Functional Testing Techniques.

If you want to understand these topics (and many others), it's a great read.

8. ## Re: How to explain Equivalence partitioning and BVA?

chaumanduc and jmg,

And, what is your suggestion or best practice?

Whether we need to create test cases based one any one of ECP and BVA, or we need to use both of them?

If you suggest using both of them, how to combine them? Shall we take all the test cases from both approaches?

9. ## Re: How to explain Equivalence partitioning and BVA?

Absolutely agree. That is the best to me so far. However, it would be better if BJ could use simpler terminology and explanation. It seems he tried to share all his experience in a book and it's really difficult for novice testers to obtain.

If you do not want to buy his book, you can take a look at his blog here http://www.testingmentor.com/imtesty...-partitioning/

BJ, I really love your sections :-).

10. ## Re: How to explain Equivalence partitioning and BVA?

The example BJ gives in his book is excellent, application with three inputs about month, date, year to find next date based on Gregorian calendar. He provides a reader ECP &amp; BVA concepts as well as best practices. I would recommend you read this and then might find an example for your own.

From my point of view, I agree with BJ and tester should do as below

1. Decompose variable data based on domain knowledge, system knowledge for two categories (valid and invalid) (e.g. month as 12 for valid and 13 for invalid case)
2. Create test design matrix to cover all of these you defined in step 1
3. ECP: based on test design matrix and your testing perspective, you can write automation, scripts or author test cases for ECP.
4. BVA: from this test design matrix, you identify boundary values (e.g. month as 1,12, date as 1,28,29,30,31) and author test cases for BVA.

I would suggest you execute these two sets of test cases separately for effective testing results but if you want to combine, you can combine based on flow of testing.

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•
Search Engine Optimisation provided by DragonByte SEO v2.0.36 (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
vBulletin Optimisation provided by vB Optimise v2.6.4 (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
BetaSoft Inc.
Digital Point modules: Sphinx-based search
All times are GMT -8. The time now is 03:26 PM.