Boundary Value Analysis and Equivalence Partitioning explained with a simple example:
Exhaustive testing for each set of test data is practically impossible due to time and budget constraints, especially when there is a large set of input combinations. QA people should judiciously design test cases that will take care of all possible test data combinations.
Test case design techniques should select test cases that are most likely to find bugs, from a large number of available test cases. QA people can use Boundary value analysis and Equivalence partitioning to pick the appropriate test data and test cases.
Boundary Value Analysis and Equivalence Partitioning are both test case design techniques in Black-Box Testing.
Let’s start!!
Table of Contents:
Test Case Design Techniques
This article will explain all about Boundary Value Analysis and Equivalence Partitioning in detail, along with simple examples for your easy understanding.
Equivalence Partitioning
This black-box testing technique is also referred to as Equivalence Class Partitioning (ECP). This test case design technique is typically used to reduce the total number of test cases to a finite set of testable test cases, still covering maximum requirements.
In this method, the input domain data containing a range of input values is divided into different equivalence data classes (at times also referred to as split sets). Test cases should be written in such a way that they cover each equivalence partition (also called equivalence data class) at least once.
During test case execution, each value of every equivalence partition must display the same output behavior as the other one. This method is established on the assumption that if one condition/value in an equivalence partition passes, then all others will as well. Similarly, if one of the partition’s conditions fails, the partition’s other condition/value will likewise fail.
In short, it is the process of picking all possible test cases and carefully placing them into equivalence classes. One test value is picked from each class while testing.
This means a QA person tests a random value from each defined equivalence data class and if the verification of the output value is successful for that input value, then the entire equivalence class/partition is considered valid and vice versa.
Example #1: If you are testing for an input box accepting numbers from 1 to 1000, then there is no use in writing thousands of test cases for all 1000 valid input numbers plus other test cases for invalid data.
Using the Equivalence Partitioning method discussed above, test cases can be divided into three sets of input data, called equivalence data classes. Each test case is representative of the respective equivalence class.
So in the above example, we can divide our test cases into three equivalence classes of some valid and invalid input values.
Test cases for input box accepting numbers between 1 and 1000 using Equivalence Partitioning:
#1) Valid data test case (value between 1 and 1000): This includes one input data class with all valid inputs. Pick a single value from the range of 1 to 1000 (say 99) as a valid test case. If you select other values between 1 and 1000, then the result is going to be the same. So one test case for valid input data should be sufficient.
#2) Invalid data test case (value less than 1): Here, input data class with all values below the lower limit. i.e., any value below 1 (say zero), as an invalid input data test case.
#3) Invalid data test case (value greater than 1000): Input data with any value greater than 1000 (say 1001) to represent the invalid input class and the third equivalence class.
Example #2: Testing an input box for a mobile number accepting ten digits (i.e. length of input value has to be ten).
Again, the input value range can be divided into three equivalence data classes using the equivalence partitioning technique; one valid and two invalid classes.
Test cases for mobile number input box accepting ten digits:
#1) Valid data test case (= 10 digits): Enter the exact 10 digits, say 1234056789
#2) Invalid data test case (< 10 digits): Enter phone number with 9 digits, say 123456789
#3) Invalid data test case (> 10 digits): Enter phone number with 11 digits, say 12340567899
Example #3: Consider this scenario: For a bank savings account, a 4% interest rate is given if the account balance is between $01 and $200, 7% rate of interest is given if the account balance is in the range of $201 to 900, and 9% interest rate is considered for account balance is $901 & above.
For the above scenario, we can identify three valid equivalence classes and one invalid.
Test cases for the above (interest rate) scenario:
#1) Invalid data class: Account balance is negative (say -$0.10)
#2) Valid data class 1, (for 4% interest rate): Account balance is in the range of $01 to $200
#3) Valid data class 2, (for 7% interest rate): Account balance is in the range of $201 to $900
#4) Valid data class 3, (for 9% interest rate): Account balance is $901 and above
Note: Another invalid partition on the right of the data set can be identified. Also, invalid cases for non-numeric (alphabet) data can be considered.
So using Equivalence Partitioning, all possible test cases can be categorized into four classes (referring to the above-mentioned example #3). Test cases with other values from any class should produce the same result.
While designing test cases, one representative from each input data class is selected. Test case input data values are selected in such a way that the largest number of attributes of the equivalence class can be exercised.
Equivalence Partitioning uses the fewest test cases to cover the maximum requirements.
Boundary Value Analysis
Boundary Value Analysis (BVA) is one of the widely used test case design techniques, as it is widely believed that the input values at the extreme ends (boundaries) of the input domain cause more errors in the system. These boundary values (extreme ends) could be maximum-minimum, lower-upper, start-end, just inside–just outside.
More application errors occur at the boundaries of the input domain, meaning more failures occur at lower and upper limit values of input data.
The ‘Boundary Value Analysis’ testing technique is used to identify errors at boundaries rather than finding those that exist in the center of the input domain. This kind of testing of boundary values (or boundaries) is also referred to as ‘boundary testing’.
The basic principle behind this technique is to choose input data values:
- Just below the minimum value
- Minimum value
- Just above the minimum value
- A Normal (nominal) value
- Just below the maximum value
- Maximum value
- Just above the maximum value
Boundary Value Analysis is the next part of Equivalence Partitioning for designing test cases where test cases are selected at the edges/boundaries of the equivalence classes. Test cases are designed to handle both valid and invalid boundary values which can give proper coverage.
Every equivalence class partition has its maximum and minimum values, which are called the boundary values of a partition.
- Valid boundary value refers to the boundary value of a valid equivalence partition.
- Invalid boundary value refers to the boundary value of an invalid equivalence partition.
Example #1: Test cases for input box accepting numbers between 1 and 1000 using Boundary value analysis:
#1) Test cases with test data exactly as the input boundaries of the input domain, i.e. values 1 and 1000 in our case.
#2) Test data with values just below the extreme edges of input domain, i.e. values 0 and 999.
#3) Test data with values just above the extreme edges of the input domain, i.e. values 2 and 1001.
Example #2: Input box (say for accepting age) accepts values between 21 and 55.
Valid input values: 21, 22, 35, 54, and 55
- Minimum boundary value: 21
- Maximum boundary value: 55
- Value at the center (nominal value): 35
Invalid input values: 20, 56
Test cases for input box accepting values between 21 and 55 using Boundary value analysis:
- Invalid value test case: Enter value = 20
- Valid value test case: Enter value = 21
- Valid value test case: Enter value = 22
- Valid value test case: Enter value = 35 (additional test case to check value almost at the center, also called nominal value)
- Valid value test case: Enter value = 54
- Valid value test case: Enter value = 55
- Invalid value test case: Enter value = 56
Example #3: Input box for the password accepts a minimum of 8 characters and a maximum of 14 characters (the length of input value should be in the range of 8 to 14).
Valid input value length: 8, 9, 11, 13, and 14 characters
Invalid input value length: 7, 15 characters
Test cases for password input box accepting minimum 8 characters and maximum 14 characters using Boundary value analysis:
- Invalid input value length test case: Enter 7 characters
- Valid input value length test case: Enter 8 characters
- Valid input value length test case: Enter 9 characters
- Valid input value length test case: Enter 11 characters
- Valid input value length test case: Enter 13 characters
- Valid input value length test case: Enter 14 characters
- Invalid input value length test case: Enter 15 characters
Boundary Value Analysis is often referred to as part of Stress and Negative Testing.
Note: There is no hard-and-fast rule to test only one value from each equivalence class you created for input domains. You can select multiple valid and invalid values from each equivalence class according to your needs and previous judgments.
For instance, if you divide 1 to 1000 input values invalid data equivalence class, then you can select test case values like 1, 11, 100, 950, etc. The same is true for other test cases having invalid data classes.
Boundary Value Analysis VS Equivalence Class Partitioning
Equivalence Class Partitioning | Boundary Value Analysis |
Valid & Invalid equivalence classes (ranges) of the input data domain are considered for test design & execution. | It considers the following for input data values: • Minimum – 1 • Minimum • Minimum + 1 • Nominal • Maximum - 1 • Maximum • Maximum + 1 |
It considers input data values from a range of equivalence classes (intervals) of the input data domain. | It considers input data values based on the defined boundaries of the input data domain. |
It is significant in identifying bugs in-between the defined equivalence classes. | It is significant in identifying bugs at the boundaries of the input data domain. |
It can be used at any stage of the testing process. | It is specifically used as part of stress and negative testing. |
It is important to identify equivalence classes correctly to make effective use of this technique. | Determining correct boundary conditions plays a vital role in effectively using this technique. |
The software testing process can be benefitted by using Equivalence class partitioning and Boundary Value Analysis
Using Test Case Design Techniques: Benefits & Challenges
Benefits
Software testing process can be benefitted by using Equivalence class partitioning and Boundary value analysis techniques in several ways:
- These techniques are used to break down a huge number of test cases into smaller, more manageable test data sets. This will further help in saving time and resources. Testing only representative and critical data input value helps in avoiding redundant test cases, which in all practically do not add any value to test coverage.
- These techniques facilitate increasing test efficiency and effectiveness by testing with the most likely and critical input data values, which are likely to detect more bugs in the application.
- These techniques provide very explicit logical criteria for identifying test scenarios and test cases, without affecting testing effectiveness.
- Test design and execution are more simplified, as these techniques provide a systematic and logical approach to the use of the input domain. It enables easier identification and selection of test cases with less complexity and ambiguity.
- Testing of applications that consist of numerous calculations or those with lots of combinations of input data is supported by using these testing techniques.
Challenges
Challenges of Equivalence Partitioning:
- One of the main challenges of using equivalence class testing is that it requires a very good understanding of the system specifications (requirements), functionality, and the expected behavior of the application under test. It also requires good domain knowledge.
- It is essential to create a formal method to specify equivalence classes, which can be quite difficult for large and complex features.
- This technique is most appropriate while creating new test cases/test data sets from scratch, as converting existing test cases could be time-consuming and difficult.
- Equivalence class partitioning may not be suitable for non-functional testing, such as performance, stress, or usability testing, where different variations of the system are to be tested.
Challenges of Boundary Value Analysis:
- This testing technique may not be useful for testing input domains that are complex and have multiple boundaries, interactions, or dependencies.
- It may necessitate some assumptions about the input data domain, which may or may not be accurate or consistent.
- As with equivalence partitioning, the boundary value analysis technique also requires a proper understanding of system specifications. Many times, system requirements are not quite clear or the quality and completeness of the specifications are not good enough.
- The boundary value analysis technique is not suitable for Boolean variables, Boolean data type has values 0 and 1.
Conclusion
Identifying the right test cases and the right number of test cases is very crucial for the testing process. As seen from the above discussion, Boundary Value Analysis and Equivalence Partitioning techniques can design effective test cases that are likely to detect bugs.
Hope that you now have a fair bit of understanding of the Boundary Value Analysis and Equivalence Partitioning techniques.
Please share your thoughts in the comments section below!
Very good article on Boundary Value Analysis.
Thanks,
Viswa
dviswa29@gmail.com
Thanks 4 providing such a good material…
and also very thankful to kishor, shuhas,vijay and vijetha. they are sharing such a very important knowledge between us..
Guys,
Please answer for it:
In a system designed to work out the tax to be paid: An employee has £4000 of salary tax free. The next £1500 is taxed at 10% The next £28000 is taxed at 22% Any further amount is taxed at 40% To the nearest whole pound, which of these is a valid Boundary Value Analysis test case? a) £1500 b) £32001 c) £33501 d) £28000
Thanx
Hi, Vijay this is a great site. Good job. Can u mail me the software testing by ron patton ebook to rockys283@yahoo.co.in
Thanks and Regards
good explanation with good example
Great work VIJAY!!
I really appreciate ur work and all those who have posted their comments
Very well written.
Hi to every one,
This kind of articles help in Testing and
we must share the real time experience also
so i preparing that one as soon as i share to everyone
thanks
good luck to everyone
Be prepare for coming time in IT
Thanks for explaining in simple way
really useful… thanks
hey sorry,rashmi.
anybody say about latant bug,and golden bug definition and the differents between then…. Please and thanks in advance…
BVA Formula: min, min+1, min-1,
max, max+1, max-1
ECP: Valid and Invalid will be there in ECP
Good One
Suhas
Nice thought!!
As per my knowledge we can use BVA for both the classes.
For eg: If I consider 5-50 a range then my
valid class: 5-50
invalid class: lets say =49.99 also we use the same technique.
I have often seen the above example being provided for BVA and EQP.
However, I would like to provide another example that would demonstrate the 2 techniques better.
Let us assume that there is a field called “Age” that has inputs from 1-80.
Based on the age, customer is provided discount on tickets.
1-18: 50%
19-50: 10%
51-80: 40%
Applying BVA, the test cases would be 0, 1, 2, 79, 80, 81 and 1 random number from within the range let’s say it is 45.
Applying EQP, the test cases would be 1 number from each of the classes let’s say,
5 from 1-18 class,
29 from 19-50 class,
72 from 51 to 80 class.
Besides these, applying BVA again, the internal boundaries also should be tested, hence, we should also include 18, 19, 50 and 51 in our test cases.
Thus, overall, test cases should be for 0, 1, 2, 5, 18, 19, 29, 45, 50, 51, 72, 79, 80, 81 (total of 14).
Since the number of test cases is high, we can easily optimize the same and reduce it to the following set:
0, 1, 2, 18, 19, 29, 50, 51, 79, 80, 81 (total of 11).
very clear and simple explanation thnku so much
verry nicely explained !
thanx a lot sir……
Hey..
Very nice one.. Thanks..
Bhakti
Suhas
Consider below example
Suppose my valid class is 10-100
If I am asked to write test cases, I would apply BVA to this class to minimize my number of test cases. Otherwise it would go from 10 to 100
Using BVA my test cases have reduced to SIX. Three for min value and three for max value.
9,10,11 and 99,100,101
Regards
kishore
can anyone let me know how to perform BVA incase of decimals.. like,, if range is like +(or)- 999.99
Really !!!! nice one..
Impressive writing
very nice article about BVA and EP
regards,
Sharan
Can anyone help me out on below questions:
Below you will find the requirements to identify the Account Diversity Grade of a user. Read the
requirements carefully and identify what test users you need to setup in order to completely
test and make sure all the below requirements are covered. (Note: you should identify the
optimum (minimum) number of users needed to test all of the requirements)
Requirements:
A user can have different types of loan accounts. Now we grade a user’s Account Diversity based
on two factors.
1) loanTypeCount
2) totalAccounts
loanTypeCount = the number of different (distinct) LoanType values for all accounts that the
user has.
However do not include LoanType = Unknown & Collections but include all others
Applicable values for LoanType are ( Home Loan, Heloc, Credit Card, Car Loan, Collections,
Unknown)
totalAccounts = total number of loan accounts user has (do not include LoanType = Unknown &
Collections but include all others)
example-> if user has 3 credit cards and 2 home loans and 1 Collection account, then
totalAccounts = 5 and loanTypeCount = 2)
The logic to determine accountDiversityGrade is the following:
If totalAccounts> 20 or loanTypeCount >= 4, accountDiversityGrade = A
Else if totalAccounts> 10 or loanTypeCount = 3, accountDiversityGrade = B
Else if totalAccounts>= 5 or loanTypeCount= 2, accountDiversityGrade = C
Else if totalAccounts > 0 or loanTypeCount = 1, accountDiversityGrade = D
Else accountDiversityGrade=null (n/a)
thanks
its very nice
Hello Friends,
Could you explain, How to apply BVT for Date and Time fields?
Cheers,
Guru
Hi,
Can anyone tell me how many testcase can we write for the below scenario in Equivalence Partitioning and Boundary Level
Marks – 0-100
Student type — First Time/Repeat
Grade – F, D, C, B, A
First Time
0-40 – F; 41-50-D; 51-60-C; 61-70-B; 71-100-A
Repeat
0-50 – F; 51-60-D; 61-70-C; 71-80-B; 81-100-A
I would like to thank each and every one for the clear explanation. Thank you.
dear lakshmi,
your approach is correct,use some more combinations like alphanumeric+specialcharacters and
alphabets+small letters+numericals+special characters.
All r telling about how to write test cases for numerics,alphabets and for spl char.s or mixed of 3.
I have a doubt, that is, bva on pages can be done by manually?
Very descriptive
Very Useful.simply gud
Nice…
Thanx….
Exactly u r correct Sreedhar…Thanks for reply
1500+28000+4000 = 33500 +1 is 33501(last boundry)
Nice one, Thanks for Sharing !
May be we need to correct one small typo in example :
Updated statement :
For Example, if you divided 1 to 1000 input values in a valid data equivalence class, then you can select test case values like 1, 11, 100, 950, etc. Same case for other test cases having invalid data classes.
hi friends can anybody explain about traceability in detail with detail,,matrix
Explained in such a simple way. Very useful. Thanks a lot… 🙂
hi guys this forum is really helpful thanks for sharing u r knowledge in this forum 🙂
Hi,
I want to know whether I have written correct ECP and BVA values for the condition if(a>b) and both are of type INT32 .
a>b Valid class
a==b Invalid class
a<b Valid class
and values are like b,b+1,b-1,minium and maximum and in the ECP can we change the both variable value or we should keep one as a constant to have good ECP
Please help me .
Thanks
Good one!
Good article and comments with nice examples. Thanx.
Awesome explanation for Boundary value Analysis and Equivalence Class partitioning. Easy to understand.
Thanks a ton for the clear explanation.
could you please give real time examples of BVA and ECP considering any web application like yahoo mail.
Super..
I have some confusion between ecp and bva,both are looking same,in ecp we cover bva also,please can anyone explain with example
One point to add to this article is the concept that granularity matters in boundary testing. In the example provided their is an assumption that only whole numbers are permitted, but what if decimals were allowed? If we could input 1.0 to 1000.0 then the granularity of the boundary condition changes. It is no longer valid to simply say the boundaries are min-1, min, min+1, max-1, max, max+1. In this example we have to go down to the 1/10ths to adequately test the boundary condition (0 isn’t sufficient for min-1, but .9 is).
Granularity becomes even more important when we consider boundary conditions related to dates and times. If I need to test for a condition where AGE > 65 years is my max+1 boundary condition 66 years, 65 years and 1 day, 65 years and 1 hour, 65 years and 1 minute, etc?
When we test for boundary conditions we must ALWAYS consider and understand the granularity of the boundary condition in order to provide a valid boundary test.
hi,
i want some information about ISTQB, can u tell me some examples.
for istqb preparation BVA AND EP must fix Your some marks…nice article….
Said nicely and simple. I’d like to add one more check (I was asked that in the interview) – would probably be a good idea to check the values somewhere in the middle. Let’s say if we’re testing values 1 to 100,000 we should also look into 1,000; 10,000, ect.
Can you please any one explain the answer for my question?
Postal rates for ‘light letters’ are 25p up to l0g, 35p up to 50g plus an extra l0p for each additional 25g up to l00g.
Which test inputs (in grams) would be selected using equivalence partitioning?
a. 8,42,82,102
b. 4,15, 65, 92,159
c. 10,50,75,100
d. 5, 20, 40, 60, 80
this is a great article.
can anybody mail me the software testing ebook.
my mail id: oasisuser4@gmail.com
Hello,
What a beautiful explanation.
@Kishore,
Do we apply the BVA for all the classes i.e valid class as well as invalid class? Or is it enough to apply the BVA for valid class only. It would be great if you could explain this with an example.
Regards, Suhas M.
God bless you, thanks for the information, i got 6 years of exp, still i could learn some thing from you ….
BVA is something it covers the valid and invalid class of EP.
For ex: 60 – 120
for equivalance partitioning we go by the value
59 60 61 119 120 121
59.9 60 60.1 70 119.9 120 120.1
In case of value 59 is a invalid class, similarly 121 is an invalid class.
Could anyone clear me if i am wrong?
Suppose password field allows length of 3 to 9 characters. Then as per BVA we will test for characters having length as 2,3,4 and 8,9,10. Interviewer question was Why to test for 4 and 8 when we already test for 3 and 9, isn’t it time consuming?
Very nice and Simple Explanation with a good example
Nice and Easy to learn….to understand easy…tanKQ…
what value we select in equivalance partioning if value is 150 to 1500
especially to susma
@Kishore
I am not clear yet, 🙁
For a valid range of input – if you apply BVA, its simililar to EP. So why do we need to apply EP and then BVA, because if you directly apply BVA to the above example it goes well.
I would like to explain what I have understood by BVA and EP by slightly modifying the above example.
Lets say a system accepts the input as number that ranges form 100-100000 or alphabetical/alphanumeric input with 3-6 char.
Now my classes will be
1.Only numbers.
2.Only alphabets.
3.Alphanumeric.
4.Numbers with special characters.
5.Alphabets with special characters.
6.Alphanumeric with special characters.
Out of this if you apply BVA for 1,2 and 3 its good enough.
Let me know if my understanding is correct. If you think I am wrong helpme understanding with explaining your views with my example.
Regards, Suhas M.
You Rock Dude Awesome
Good article…
Thanks lot
@Sirisha
Types of Metrics:
Process & Product/Project (depends upon application)
Under process metrics: Evaluates the efficiency of the process you use for your production (Project)
Effort, Schedule, Quality (DRE)
Product/Project:
Can have DRE also here, Phasewise defect removal, defect density and etc.
….mm Tracability Matrix is used for trace the requirements. It’s an verification techniques, not metric.
Hi Vijay
Candid to the comments does it really works. Since if you take a text box of 1 -1000 characters, then will it possible to execute without entering 1000 characters at an instant to verify whether it allow or not. If system allows then what’s the necessity to go for in between values (Equivalence Partitioning) since it allows all the 1000.
Is am byte confused here……? Can you please clear my doubt?
Also does really a Test Engineer use this strategy to prepare test cases for Black Box Testing?
Good stuff!!!!!! Please keep doing 🙂
max
min
max+1
max-1
min+1
min-1
are possible input values for boundary value analysis.
nice
Can any plz help out with worst test cases on BVA
yas sur i ca n help yoy please email me and i get right to yuo.
Pls send it to me also
Good subject details on EP(Equivalence Partitioning) & BVA(Boundary Value Analysis)
hi,
what is statement coverage and branch coverage? could you explain with examples.
thanks
@LAKSHMI
Hi Lakshmi,
If u do the certification in Testing that will give good weightage to ur Resume.
Suppose if any organization is following RUP model those organizations will give more importance to Certified Test Engineers.
If u r intrested to do certification in S/w Testing u can mail me at srikanthvelivela@gmail.com for further details.
Order numbers on a stock control system can range between 10000 and 99999 inclusive. Which of the following inputs might be a result of designing tests for only valid equivalence classes and valid boundaries:
1000, 5000, 99999
9999, 50000, 100000
10000, 50000, 9999
10000, 99999
which is correct?
Part of my comment has gone missing when posted. Therefore, I am posting my comment again:
It is believed that EP is a good technique to reduce the number of test cases to a bare minimum. Though EP is related to efficiency of test case design, I think that we should be aware that using EP could prevent the discovery of defects related to particular data value(s) in a range. Consider a date input text box (with a calendar control) that accepts dates between 1 Jan 1970 and today. We have three classes (also called partitions) here:
Less than or equal to 31 Dec 1969, 1 Jan 1970 to 6 Nov 2008, greater than or equal to 7 Nov 2008.
By just selecting one test data value from each class might not be able to exercise the application with other interesting values e.g. 29 Feb 2008 or any particular value not handled correctly by the application.
Inder P Singh
Can the Equivalence analysis have the following casses added under invalid inputs:
1) input data with letters (a-z),(A-Z),Special characters too??
Can BVA be applied to alphabetic values?If yes , could you please explain with an example?
awesomee……………………………………………………..
-prince na gethu
i want to know that what is the main difference between EP and BVA. that mean which strategy should be perform and why? why these both are different from each other?
any one can explain my problem?
Why we have to methods to test the same condition.. Is it intenstional ?
Could anybody pls help me in answering the following question – how many test cases will be generated for three check boxes and one button which was questioned me in an interview.
That would be 9 test cases, let me know if it’s not right
hi,
nice article
Thnx…its a nice example
If we have four fields like name, phone number, city and state then how many total number of test cases are required ? Please advise. Thank you…
Thank you very much,its very helpful one …..!
EQUIVALENCE PARTIONING IS GIVEN PRESSMAN………IF YOU WANT ANYONE WANTS THE 3 POINTS OF THIS TELL ME I WILL EXPLAIN………..
In practical , while we test for a particular requirement, one have to test 1st from the middle , its the last step of completeion of testing when we use BVA.,
@Geethika ,
Though they sounds similar there is a difference between BVA and EP testing techniques
1. EP(Equivalence partitioning)
finding the partitions or combinations (valid /invalid )
Eg :
To check for the valid and invalid partitions between 10 – 100
Valid partion : 10 – 100
Invalid Partitions : 100
— While preparing the testdata if we select number between 10- 100 , then we are testing with valid data. here system should behave as documented
— If we are selecting value 100 then we are testing with the invalid partition (negative testing) , in this system should have some exception handling (error messages/popups)
2 . BVA(Boundary value analysis) :
Testing with the boundary values
Eg : considering the same example ,
to check with values 10-100
–Valid data : 10 -100 : system going to behave same for all the values from 10 -100 , so we dont test all the values , we just check with 10 and 100(we got 2 testdata)
— Invalid date 100 , so we take 9 and 101(as additional negative testdata) for this system should throw error messages .
Note :
I Know both sounds similar , but we can say Equivalence partitioning is part of BVA , so its upto tested to select the technique for testing .
Like if you are not worried about negative cases , then you can go for EP cases (valid partition).
if you want to test the negative as well then you can go for BVA.
There are multiple external parameters on which we should choose the best technique.like
1. Time
2.Expected Coverage
3.logic complexity etcc..
hi
>this is roma … i want your help… i want to know the test cases for Microsoft outlook 2007..i hope you will help me..
>i prepared test scenario which i mentioned below:-
>please help me…urgently
>thanks
>
>Ms. Roma
>
>1 Always BCC •Performs a CC or a BCC automatically for every email.
>•Customize the email messages that get CC’ed or BCC’ed.
>2 Attachment Reminder • Check your outgoing email for keywords and prompt you in case you
> forgot to attach a file.
>• Keywords are configurable.
>• Intelligently considers signature files.
>3 Attachment Save •Replaces attachments with links.
>•Reduces Outlook storage spaces.
>•Improve Outlook performance.
>•Delete the attachment when deleting an email.
>4 Duplicate Appointment Remover •Removes duplicate appointments.
>•Customizable
>•Fast
>5 Duplicate Contact Remover •Removes duplicate contacts.
>•Customizable
>•Fast
>6 Duplicate Email Remover •Remove duplicate emails in Microsoft Outlook.
>•Customizable
>•Fast
>7 Duplicate Note Remover •Delete duplicates or move them to a folder.
>•Comparisons of two appointments based on subject, body and color.
>•Works with a single folder or multiple folders at once.
>8 Duplicate Task Remover •Delete duplicates or move them to a folder.
>•Comparisons of two tasks based on subject, due date, categories,
> contacts, company, body and start date.
>•Works with a single folder or multiple folders at once.
>•Works with Microsoft Outlook 2013, Outlook 2010 and Outlook 2007.
>9 Follow Up Reminder •Reminds you if you have not heard back from someone.
>•List all your pending reminders with a click of a button.
>•Add follow up reminders to any email in any Outlook folder.
>•Quick Snooze.
>10 Remove Subject Prefix •Remove redundant ‘Re:’, ‘Fw:’ etc. from message subjects.
>11 Reply To All •Prompts you when you reply to everyone. Avoid sending out information
> you may not want to share with everyone.
>• Prevent Outlook from including your name and email address in a reply to all message thus avoiding extra copies.
>• Prompts with a confirmation message if you were BCC’ed on the
> message.
>12 Save as PDF •Saves all your emails as PDF files.
>•Saves attachments as PDF files.
>•Save the emails on receipt or batch mode.
>•No other PDF printer driver needed.
>13 Send Individually •Sends email marketing to each of your recipients, one at a time.
>•Adds a convenient “Send Individually” Outlook button.
>•Easily handles distribution lists, contact groups, and Excel lists.
i have doubt regarding Test Matrices , Test Metrics, & Test matrix can u pls explain tis
this is a nice explaination with a neat example.
I think this misses the heart of equivalence class partitioning. A number range does not offer a good opportunity to describe equivalence classes because 1-1000 everything is equivalent. One can only understand the technique when some are not equivalent.
Let’s say one is testing an eCommerce application and there’s a drop-down for selecting the state. Some states have no tax, others have tax, and some the company cannot ship to. Equicalence class partitioning might lead you to choose at least one state each from:
0 tax + can ship
0 tax + cannot ship
>0tax + can ship
>0tax + cannot ship
0 tax and >0 tax are different because they have different semantics to the app. 5% tax and 6% tax yield different results but you expect the behavior to be similar (tax amt. should be tax % * taxable total) and testing every possible combo 5%, 5.5%, 6%, etc. might not be practical.
As always, go back to the classics. Glenford Myers “the art of software testing” is a good resource.
very good…..
thanks!
Its very nice article which is explained in simple words so that every one can understand. Nice work Ajay!! Thanks for sharing this gr8 article..Keep it up!!
Dear BAO,
U can try out by permutation for both fields.
Am I right all there?
Thanks a lot for the explanation and the simple example.
Please let me know EP and BVA for below
A-Z, a-z
Checking for the nor, max+, max-, min+,min- are the boundary values
Partitioning the inputs based on requirements is equivalence partitions.
Thanks for the clear information abt both techniques.
hi…very nice article with good explanation with simple examples in simple language, so that every one can understand it easily.
Hi Vijay,
Thanks to Sharing knowledge
Regards
Manoj Upadhyay
very helpful and simple article
hello sir/madam,
actually, how many types of “Test Reports” are there?
i came through different terminology like—
Test summary reports
Test execution reports
Test status reports
Test log reports
Test daily, weekly reports
These all mean same??? if not please explain me and also explain me if there are any other reports that come under above list. in the least case please provide me exact link. Thanks in advance.
Good explaination and really simple to undestand.So in the boundry values how many test cases(minimum) that we have to write according to above eg.????
Jaya, the concept of BVA is to design the test cases to test extremes of input domain i.e. min, max values so this cannot be used to page testing
ya nice vav it s very useful for us
-prince na gethu
Good topic. It is very user full…..why cont you explain about estimation concept in testing
Thanks
HP
Good one!
hi bithika,
you can go for ISTQB(foundation level) first.After
that you can go for Advanced level.Tthen u can be called as ISTQB certified functional tester/technical tester.
Thank u
cheers,
CH.GIRISH CHANDER RAJU
CERTIFIED TEST ENGINEER
Hi,
I have 4 yrs of experience in manual testing. Which certification will help me to shape up my career graph.
regards
Bithika
Very good article. Really nice one !!!!
hi every1,
thnaks to all because of you guys I come to know the new terms which i never heard.. thank you very much
Thanks for making me to understand the concepts…. very cool explanation
Sorry, Sreedhar for posting the question in the comment section of BVA. Thanks for the answer.
Good post, I have to say the Equivalence Partitioning technique has saved me from writing and executing a large number of unnecessary tests.
Very Useful.. thanks for posting
i could not understand the BVA..but other one example is good
Thanks for sharing………
Hi,
Can someone help me to write BVA(Boundary Value Analysis) for input field that accepts only 10 digit Phone numbers? What will be the boundary numbers?
test case 1: Invalid if digits >=11 (example 98765432101)
test case 2: valid if digits =10 (example 1234567890)
test case 3:invalid if digits <=9 (example 123456789)
Great Article……… Really very useful
If a input takes integer value from 1 to 100.
applying equivalence partitioning to above problem we
get following classes.
1 to 100(valid)
less than1(Invalid)
greater than 100(invalid)
as in equivalence partitioning there is no hard and fast rule to select input from partitions.
so here from valid class i take input value (1 ,2 99 ,100)
from invalid class lower than1 takes value(0,-1,50)
from invalid class greater than 100 takes value(101,500)
so by taking all this value together(1,2,99,100,0,-1,50,0,-1,50)
i have covered values which lies on boundary.
so why u need to apply BVA(Boundary Value Analysis).if we can get boundary values applying EP(Equivalence Partitioning). Can anyone explain…?
Hi Vijay
I din’t know where to put this question because there is no category for that.
Can you help me with ways of testing an artificial intelligence software/product
thanks Tanvi
@Suhas, Qastation
You can say that boundary value analysis test cases are the subset of Equivalence partitioning. As always you can select EP test cases similar to boundary value test cases. But BVA help to identify the upper and lower limit which may or may not be the part of EP tests.
As I said, rather than just picking some random values as your EP test cases won’t do. Carerful partitioning and analysis of equivalence classes to pick the best test cases that will exercise maximum test coverage is what expected from equivalence partitiong.
The example given is just to understand both concepts with a single example.
Nice concise explanations and examples of EP and BV – makes my revision a lot easier! Cheers! 😀
Nice Article….. Thanks
I need details of Decision Table tree and Tracibilty Matrix… please mail me all details with example… @ shahsaurabh1983@gmail.com
Assume that a Login page of yahoo mail accepts valid user ID and Password field. User ID field accepts minimum 10 characters and maximum 15 characters. Valid range 10-25,
Invalid range 9 or less than 9 and Invalid range 26 or more than 26.
Considering the above scenario you are required to implement boundary value analysis and write down the Test Cases for all partitioned values (Valid, Invalid and exact boundary).
Invalid Partition Valid Partition Invalid Partition
Test Cases:
Defenitly it is best artical wid example ever i seen…..everybody get easily understand
I would like to add one formulae here for boundary value.
n, n+1, n-1 one can use this formulae to calculate BV. It can be used for min and max value. As in the above example. 1-1000
BV= 1,2,0 and 1000,1001,999
Regards
kishore
Don’t Forget “Testing is Context Dependent”.
-2 -1 0 1021 1022 1023
Helpful
@Aparna ,
Its a bit confusing question , they didn’t explicitly said about which partition to pick up for the test case design .
Expalnation :
10g 25p
50g 35P
75g 45p
100g 55P
Thing to worry here is if we are going to consider the valid partition of weight (in grams) then u r answer should be “c. 10,50,75,100” which covers all the four cases .
If they are expecting to cover us with , invalid partions then we are in trouble :p we got no option in answers to cover those ( we may get additional 2 testcases for invalid partitions)
How to calculate Cyclomatic complexity for the below code using the formula M=E-N+P. where,
E = the number of edges of the graph
N = the number of nodes of the graph
P = the number of connected components (exit nodes).
Q. 23: The following code snippet reads through a file and determines whether the numbers contained are prime or not.
1 Read (Val);
2 While NOT End of File Do
3 Prime := TRUE;
4 For Holder := 2 TO Val DIV 2 Do
5 if Val – (Val DIV Holder) * Holder= 0 Then
6 Write (Holder, ‘ is a factor of ‘, Val);
7 Prime := FALSE;
8 Endif;
9 Endfor;
10 if Prime = TRUE Then
11 Write (Val, ‘ is prime’);
12 Endif;
13 Read (Val);
14 Endwhile;
15 Write (‘End of run)
thnx & very hlpful
@Swapna
All the above mentioned reports are of same.
It depends upon the organisation requirements they will name it as they are.
This kind of Articles helps every one. Good Work.
Please let me know, how by using a testing technique, we will prepare Test Case for a Field accepting decimal numeric value e.g. “XXXXXXXX.XX”
Hi Friends ,
Can anybody tell me For I.s.t.Q.B Certification and is it indispensible condition to have atleast 2 yr. exp. in mannual My mail is is :-
Er4testing@yahoo.com
Thanks In Advance
Regards
manoj upadhyay
Great article with simple example
This side is very helpful,i would like to know wich sort of technical questions should you ask during the interview for Test analyst
Thanks…..
good
Greate article……
Thank u….
Apologies again 🙁
different clauses are getting missed
lessthan 1 will be invalid clause
1 to 100 will be a valid clause and greatethan 100 will be a invalid caluse
we take 1 value from each clause to check whether system behaves as supposed and not supposed to work .,
can anyone let me know the difference between boundary value and equivalence classes ?????
Some one please help me how to write test case for boundary value analysis for ex:1000
So, in the equivalence class test cases for numbers from 1 to 1000, since there are only three test cases, do we also perform only three tests, or do we still need to perform 1000 tests? If we are supposed to perform only three tests, then how can we be sure that every single number gives the same result? Maybe the software has a bug that gives a different result for 99.
Hi all,this article is really good,thank you very much for sharing
Thanks man
its really good.I can suggest to give some more examples so that people can understand in a better way! 🙂
Good concept and keep posting
Great!!! Simple, precise & accurate way of making others to understand the concepts… Thanks
always got lazy when coming to all this but thanx to u guys for opening my mind now i no um gonna show ISTQB wat i got…….thanx for the examples u used,it helped alot,was rili stuck..
hi friends can anybody explain about traceability matrix in detail with example
This aritcle is not clear..it explains only the boundary values….. wat abt Equivalence Partioning?
Senthil
Using Equivalence partition:
you can divide input data into different class as valid and invalid class
eg: 1-1000
valid class-1-1000
Invalid class-less than 1
invalid class-more than 1000
Using BV: now using the above class you write your test cases on boundaries. you can use above formulae posted in my comment to find the boundary values for diffrenet classes.
Both the techniques are used simultaneously to design test case.
First you divide your input data into valid and invalid class using Equivalence partioning and
Second use boundary value to decide on the boundaries of each class.
Regards
kishore
Great Going Guys 🙂
Just a suggestion , nothing Personal on this ..
Testing Techniques are introduced to find the minimal number of test cases that can make full coverage (say optimal coverage) , but i see few Pals going out of the Testing Techniques like (EP , BVA)
Like.,,
to check for no of testcases for a text box accepting values between 1 -100 ,
Note :
the main focus on this is to check how system behaves values between 1 – 100 and the values on the boundaries (this shouldn’t be like what happens if we give charactes , spl chars and symbols , that will be carried in other form of testing like field validation (GUI Testing).
As per EP :
we get 3 clauses ,
100(invalid clause). we take 1 value from each clause to check whether system behaves as supposed and not supposed to work .,
To go for further coverage , we go for Boundary checks
which assures our coverage .
thanks for giving an important info about boundary value analysis.
@Kishor,
I completly agree with what you say about BVA, now for the input set 10-100 how would you apply EP ?
PS: My question is more to do with EP in the above example given by Vijay.
Hey Vijay, could you throw some light on this as well? Some how am getting a feel that the EP what you have explained is either incomplete or you have not have not explained it with a very good example.
Regards, Suhas M
It’s a very nice article. Thanks for sharing knowledge.
for the above example its very simple n easy to get the ecp n bva..
fr ecp we use the grouping its no possible to take every test case so..
Ecp=1-3000-1000 i take min value and then aby midle value and then max value
and Bva is for -negative approach is
min-1=1-1=0
max=1=1000+1=1001
for +ve approach its same min=1 and max=1000
Really a useful and valid info. Thanks
Suhas
Nice thought!!
As per my knowledge we can use BVA for both the classes.
For eg: If I consider 5-50 a range then my
valid class: 5-50
invalid class: lets say (less than =4.99) and
other invalid class would be (greater than=49.99 )
Instead of writing test cases on all the values we can use BVA to minimise the no of test cases.
Some of my comments missing *
As per EP :
we get 3 clauses ,
100(invalid clause). we take 1 value from each clause to check whether system behaves as supposed and not supposed to work .,
To go for further coverage , we go for Boundary checks
which assures our coverage .
thanks alot, its help me to understand the difference between equivalence and boundary value analysis
Very good Explanation & Easy to understand..
@vikrant ,
1-100
valid partition is 1- 100
invalid partitions 0 , 101 (if its a pure interger)
GUYS and GALS,
from what i see in the article BVA and EP just different method of testing. Use either one.
Now can anyone help me in this scenario
i have 2 textboxes or fields, and
One can be entered with only alphabet
another can be entered with only number
so how can i use BVA on this scenario
won’t there be too many scenario?
such
– leading space i.e. ” hello”
– blank
– symbol
Can someone post all the scenario?
Greatly appreciated..
Good Explanation. Cheers, Guru
Is test cases are written in a particular report ? if yes tell me how test cases are managed
My question is for the specified range 1-100 we test the values 0,1,2 and 99,100,101 for ECP but what if the range is 0-99999,how am i suppose to use BVA or ECP and is the logic n, n-1,n+1 still applicable?? Plz help me with this!!!
Hi,
very useful article written in simple way so that any one can understand it easily.
Thanks…..
But I think very less topics are covered….Plz write more topics on testing….It will be very helpfull to us…..
Very good article..I have understood the topic after many days!!!Thanks a lot.
I wrote the answers for the questions which i got.I dont know the correct answers.As per my knowledge I gave answers.Plz correct me with good explanation for wrong answers.
1) Order numbers on a stock control system can range between 10000 and 99999 inclusive. Which of the following inputs might
be a result of designing tests for only valid equivalence classes and valid boundaries:
a) 1000, 5000, 99999
b) 9999, 50000, 100000
c) 10000, 50000, 99999
d) 10000, 99999
e) 9999, 10000, 50000, 99999, 10000 ANS-C
2) Which of the following is NOT a black box technique:
a) Equivalence partitioning
b) State transition testing
c) Syntax testing
d) Boundary value analysis ANS-C
3) Error guessing is best used
a) As the first approach to deriving test cases
b) After more formal techniques have been applied
c) By inexperienced testers
d) After the system has gone live
e) Only by end users ANS-B
4) Which is not true-The black box tester
a. should be able to understand a functional specification or requirements document
b. should be able to understand the source code.
c. is highly motivated to find faults
d. is creative to find the system’s weaknesses. ans-B
5) A test design technique is
a. a process for selecting test cases
b. a process for determining expected outputs
c. a way to measure the quality of software
d. a way to measure in a test plan what has to be ans-Cdone
6) Which of the following is true?
a. Component testing should be black box, system testing should be white box.
b. if u find a lot of bugs in testing, you should not be very confident about the quality of software
c. the fewer bugs you find, the better your testing was
d. the more tests you run, the more bugs you will find. ANS-D
7) What is the important criterion in deciding what testing technique to use?
a. how well you know a particular technique
b. the objective of the test
c. how appropriate the technique is for testing the application
d. whether there is a tool to support the technique ANS-C
8) Which of the following is a black box design technique?
a. statement testing
b. equivalence partitioning
c. error- guessing
d. usability testing ANS-B
9) A program validates a numeric field as follows:
values less than 10 are rejected, values between 10 and 21 are accepted, values greater than or equal to 22 are rejected
Which of the following input values cover all of the equivalence partitions?
a. 10, 11, 21
b. 3, 20, 21
c. 3, 10, 22
d. 10, 21, 22 ANS-B
10) Using the same specifications as question 9, which of the following covers the MOST boundary values?
a. 9,10,11,22
b. 9,10,21,22
c. 10,11,21,22
d. 10,11,20,21 ANS-B
11) Error guessing:
a) supplements formal test design techniques.
b) can only be used in component, integration and system testing.
c) is only performed in user acceptance testing.
d) is not repeatable and should not be used. ANS-A
12) Which of the following is NOT a white box technique?
a) Statement testing
b) Path testing
c) Data flow testing
d) State transition testing ANS-D
13) Data flow analysis studies:
a) possible communications bottlenecks in a program.
b) the rate of change of data values as a program executes.
c) the use of data on paths through the code.
d) the intrinsic complexity of the code. ANS-C
14) In a system designed to work out the tax to be paid:
An employee has £4000 of salary tax free. The next £1500 is taxed at 10%
The next £28000 is taxed at 22%
Any further amount is taxed at 40%
Which of these groups of numbers would fall into the same equivalence class?
a) £4800; £14000; £28000
b) £5200; £5500; £28000
c) £28001; £32000; £35000
d) £5800; £28000; £32000 ANS-D
15) Test cases are designed during:
a) test recording.
b) test planning.
c) test configuration.
d) test specification. ANS-D
16) An input field takes the year of birth between 1900 and 2004
The boundary values for testing this field are
a. 0,1900,2004,2005
b. 1900, 2004
c. 1899,1900,2004,2005
d. 1899, 1900, 1901,2003,2004,2005 ANS-C
17) Boundary value testing
a. Is the same as equivalence partitioning tests?
b. Test boundary conditions on, below and above the edges of input and output equivalence classes
c. Tests combinations of input circumstances
d. Is used in white box testing strategy ANS-B
18) When testing a grade calculation system, a tester determines that all scores from 90 to 100 will yield a grade of A, but
scores below 90 will not. This analysis is known as:
a) Equivalence partitioning
b) Boundary value analysis
c) Decision table
d) Hybrid analysis ANS-B
19) Which technique can be used to achieve input and output coverage? It can be applied to human input, input via interfaces
to a system, or interface parameters in integration testing.
a) Error Guessing
b) Boundary Value Analysis
c) Decision Table testing
d) Equivalence partitioning ANS-A
20) Features to be tested, approach, item pass/fail criteria and test deliverables should be specified in which document?
a) Test case specification
b) Test procedure specification
c) Test plan
d) Test design specification ANS-A
21) Which specification-based testing techniques are most closely related to each other?
a) Decision tables and state transition testing
b) Equivalence partitioning and state transition testing
c) Decision tables and boundary value analysis
d) Equivalence partitioning and boundary value ANS-D
analysis
22) assume postal rates for ‘light letters’ are:
$0.25 up to 10 grams
$0.35 up to 50 grams
$0.45 up to 75 grams
$0.55 up to 100 grams
Which test inputs (in grams) would be selected using boundary value analysis?
a) 0, 9, 19, 49, 50, 74, 75, 99, 100
b) 10, 50, 75, 100, 250, 1000
c) 0, 1, 10, 11, 50, 51, 75, 76, 100, 101 ANS-C
d) 25, 26, 35, 36, 45, 46, 55, 56
23) If the temperature falls below 18 degrees, the heating system is switched on. When the temperature reaches 21 degrees,
the heating system is switched off. What is the minimum set of test input values to cover all valid equivalence partitions?
a) 15, 19 and 25 degrees
b) 17, 18, 20 and 21 degrees
c) 18, 20 and 22 degrees
d) 16 and 26 degrees ANS-A
24) What is a test condition?
a) An input, expected outcome, precondition and post condition
b) The steps to be taken to get the system to a given point
c) Something that can be tested
d) A specific state of the software, ex: before a test can be run ANS-D
25) What is a key characteristic of specification-based testing techniques?
a) Tests are derived from information about how the software is constructed
b) Tests are derived from models (formal or informal) that specify the problem to be solved by the software or its components
c) Tests are derived based on the skills and experience of the tester
d) Tests are derived from the extent of the coverage of structural elements of the system or components ANS-A
26) Why are both specification-based and structure-based testing techniques useful?
a) They find different types of defect.
b) using more techniques is always better
c) both find the same types of defect.
d) Because specifications tend to be unstructured ANS-D
27) Find the Equivalence class for the following test case
Enter a number to test the validity of being accepting the numbers between 1 and
99
a) All numbers 99
c) Number = 0
d) All numbers between 1 and 99 ANS-D
28) What is the relationship between equivalence partitioning and boundary
value analysis techniques?
a) Structural testing
b) Opaque testing
c) Compatibility testing ANS-B
d) All of the above
29) Suggest an alternative for requirement traceability matrix
a) Test Coverage matrix
b) Average defect aging
c) Test Effectiveness
d) Error discovery rate ANS-A
30) The following defines the statement of what the tester is expected to accomplish or validate during testing activity
a) Test scope
b) Test objective
c) Test environment
d) None of the above ANS-B
31) One technique of Black Box testing is Equivalence Partitioning. In a program
statement that accepts only one choice from among 10 possible choices,
numbered 1 through 10, the middle partition would be from _____ to _____
a) 4 to 6
b) 0 to 10
c) 1 to 10
d) None of the above ANS-A
32) Test design mainly emphasizes all the following except
a) Data planning
b) Test procedures planning
c) Mapping the requirements and test cases
d) Data synchronization ANS-D
33) Deliverables of test design phase include all the following except
a) Test data
b) Test data plan
c) Test summary report
d) Test procedure plan ANS-C
34) Test data planning essentially includes
a) Network
b) Operational Model
c) Boundary value analysis
d) Test Procedure Planning ANS-D
35) Test coverage analysis is the process of
a) Creating additional test cases to increase coverage
b) Finding areas of program exercised by the test cases
c) Determining a quantitative measure of code coverage, which is a
direct measure of quality.
d) All of the above. ANS-D
36) Branch Coverage
a) another name for decision coverage
b) another name for all-edges coverage
c) another name for basic path coverage
d) all the above ANS-A
37) The following example is a
if (condition1 && (condition2 || function1()))
statement1;
else
statement2; (Testing concepts)
a) Decision coverage
b) Condition coverage
c) Statement coverage
d) Path Coverage ANS-D
38) Test cases need to be written for
a) invalid and unexpected conditions
b) valid and expected conditions
c) both a and b
d) none of these ANS-C
39) Path coverage includes
a) statement coverage
b) condition coverage
c) decision coverage
d) none of these ANS-A
40) The benefits of glass box testing are
a) Focused Testing, Testing coverage, control flow
b) Data integrity, Internal boundaries, algorithm specific testing
c) Both a and b
d) Either a or b ANS-C
41) Find the invalid equivalence class for the following test case
Draw a line up to the length of 4 inches
a) Line with 1 dot-width
b) Curve
c) line with 4 inches
d) line with 1 inch. ANS-B
42) Error seeding
a) Evaluates the thoroughness with which a computer program is tested by purposely inserting errors into a supposedly correct
program.
b) Errors inserted by the developers intentionally to make the system
malfunctioning.
c) for identifying existing errors
d) Both a and b ANS-A
43) Which of the following best describes the difference between clear
box and opaque box?
1. Clear box is structural testing, opaque box is Ad-hoc testing
2. Clear box is done by tester, and opaque box is done by developer
3. Opaque box is functional testing, clear box is exploratory testing
a) 1
b) 1 and 3
c) 2
d) 3 ANS-D
44) What is the concept of introducing a small change to the program and having the effects of that change show up in some
test?
a) Desk checking
b) Debugging a program
c) A mutation error
d) Introducing mutation ANS-C
45) How many test cases are necessary to cover all the possible sequences of statements (paths) for the following program
fragment? Assume that the two conditions are independent of each other : – …………
if (Condition 1)
then statement 1
else statement 2
fi
if (Condition 2)
then statement 3
fi
…………
a. 1 test case
b. 3 Test Cases
c. 4 Test Cases
d. Not achievable ANS-B
46) Given the following code, which is true about the minimum number of test cases required for full statement and branch
coverage:
Read P
Read Q
IF P+Q > 100 THEN
Print “Large”
ENDIF
If P > 50 THEN
Print “P Large”
ENDIF
a) 1 test for statement coverage, 3 for branch coverage
b) 1 test for statement coverage, 2 for branch coverage
c) 1 test for statement coverage, 1 for branch coverage
d) 2 tests for statement coverage, 3 for branch coverage
e) 2 tests for statement coverage, 2 for branch coverage ANS-E
47) Given the following:
Switch PC on
Start “outlook”
IF outlook appears THEN
Send an email
Close outlook
a) 1 test for statement coverage, 1 for branch coverage
b) 1 test for statement coverage, 2 for branch coverage
c) 1 test for statement coverage. 3 for branch coverage
d) 2 tests for statement coverage, 2 for branch coverage
e) 2 tests for statement coverage, 3 for branch coverage ANS-B
48) If a candidate is given an exam of 40 questions, should get 25 marks to pass (61%) and should get 80% for distinction,
what is equivalence class?
A. 23, 24, 25
B. 0, 12, 25
C. 30, 36, 39
D. 32, 37, 40 ANS-C
49) Consider the following statements:
i. 100% statement coverage guarantees 100% branch coverage.
ii. 100% branch coverage guarantees 100% statement coverage.
iii. 100% branch coverage guarantees 100% decision coverage.
iv. 100% decision coverage guarantees 100% branch coverage.
v. 100% statement coverage guarantees 100% decision coverage.
a) ii is True; i, iii, iv & v are False
b) i & v are True; ii, iii & iv are False
c) ii & iii are True; i, iv & v are False
d) ii, iii & iv are True; i & v are False ANS-C
50) Which statement about expected outcomes is FALSE?
a) Expected outcomes are defined by the software’s behavior
b) Expected outcomes are derived from a specification, not from the code
c) Expected outcomes should be predicted before a test is run
d) Expected outcomes may include timing constraints such as response times ANS-A
51) Which of the following is not a white box testing?
a) Random testing
b) Data Flow testing
c) Statement testing
d) Syntax testing ANS-D
52) If the pseudo code below were a programming language, how many tests are required to achieve 100% statement coverage?
1. If x=3 then
2. Display_messageX;
3. If y=2 then
4. Display_messageY;
5. Else
6. Display_messageZ;
a. 1
b. 2
c. 3
d. 4 ANS-B
53) Using the same code example as question 17, how many tests are required to achieve 100% branch/decision coverage?
a. 1
b. 2
c. 3 ANS-B
d. 4
54) Which of the following technique is NOT a black box technique?
a) Equivalence partitioning
b) State transition testing
c) LCSAJ
d) Syntax testing ANS-D
55) Given the following code, which is true?
IF A>B THEN
C = A – B
ELSE
C = A + B
ENDIF
Read D
IF C = D THEN ANS-B
Print “Error”
ENDIF
a) 1 test for statement coverage, 1 for branch coverage
b) 2 tests for statement coverage, 2 for branch coverage
c) 2 tests for statement coverage, 3 for branch coverage
d) 3 tests for statement coverage, 3 for branch coverage
e) 3 tests for statement coverage, 2 for branch coverage
56) Consider the following:
Pick up and read the news paper
Look at what is on television
If there is a program that you are interested in watching then switch the television on and watch the program
Otherwise
Continue reading the news paper
If there a crossword in the news paper then try and complete the crossword
a) SC = 1 and DC = 3
b) SC = 1 and DC = 2
c) SC = 2 and DC = 2
d) SC = 2 and DC = 3 ANS-C
57) The specification: an integer field shall contain values from and including 1 to and including 12 (number of the month)
Which equivalence class partitioning is correct?
a) Less than 1, 1 through 12, larger than 12
b) Less than 1, 1 through 11, larger than 12
c) Less than 0, 1 through 12, larger than 12 ANS-A
d) Less than 1, 1 through 11, and above
58) Analyze the following highly simplified procedure:
Ask: “What type of ticket do you require, single or return?”
IF the customer wants ‘return’
Ask: “What rate, Standard or Cheap-day?”
IF the customer replies ‘Cheap-day’
Say: “That will be £11:20”
ELSE
Say: “That will be £19:50”
ENDIF
ELSE
Say: “That will be £9:75”
ENDIF
Now decide the minimum number of tests that are needed to ensure that all the questions have been asked, all combinations
have occurred and all replies given.
a) 3
b) 4
c) 5
d) 6 ANS-A
Thanks in advance…..
Can anyone explain me the process of Avinoncs software Testing
Hi
It’s good sharing your knowledge with others about equivalence and boundary value analysis, but I am having one doubt, you have taken the example for only single instance what will happen if there are multiple instances? Its take time and somewhat difficult to do that. Recently I have seen a tool called “TestersDesk.com” Which is useful for both TestDesign and TestData Generation Toolkit in that Boundary value analysis tool is there with the help of tool we can reduce our work and can do for multiple instances at the same time
worst article i have ever read 🙁
Hi All,
Could anyone please give me a justifying answer for wat suhas has askd on the efficiency of Equivalence partitioning over BVA? Because as he said, BVA is going to cover all of the scenarios including what we are trying to cover in EP. Please let me know with a clear example.
i am fresher in testing supposose how can i start the testing?
which domain will be best?
send me my mail
TQ
This kind of Articles helps every one especially freshers
It is believed that EP is a good technique to reduce the number of test cases to a bare minimum. Though EP is related to efficiency of test case design, I think that we should be aware that using EP could prevent the discovery of defects related to particular data value(s) in a range. Consider a date input text box (with a calendar control) that accepts dates between 1 Jan 1970 and today. We have three classes (also called partitions) here
1) = 7 Nov 2008.
By just selecting one test data value from each class might not be able to exercise the application with other interesting values e.g. 29 Feb 2008 or any particular value not handled correctly by the application.
Good writing Vijay !!!
But, I have a doubt here. When you apply the equivalence class partitioning for the input in the above example you have had 3 partitions – within the limit, above upper limit and below lower limit. Now my question is – is this equivalence class partitioning limited to this, if thats the case then i dont see there is much difference in EP and BVA. If you apply BVA, EP is autometically applied.
Hope I am not very incorrect in my understanding, your views on this please.
Regards, Suhas M
hi,
In order to test for a text box that excepts amount in the range 1 to 100 we need to test for the following condition:
1. First see if the text box accepts alphabets
2. second whether it accepts special characters
3. Then enter “2e4” in some cases it allows this and converts to exponent which should not be allowed
4. then go for BVA
i.e enter 0,1,2 and 99,100,101
Dont u think this is the approach that needs to be followed.
its very good n useful…
thanks very much..
great article .thank u.
Hi Rehana ,
+1 and -1 is the boundary value for a pure integer .
In your case if 1000 ,
you need to test with
1. 1000 is the positive or valid data , data should be accepted
2. 999,1001 are the invalid values , likely negative testing where values shoulnt be accepted.
Eg : if x + y = 1000 and its already given y = 0
then x should be 1000 is the positive testing
for the values 999,1001 it should get failed.
When it comes API testing, I do not think this theories really helps always. You will be working with Objects rather than numbers like 1-100. And as an API tester you have the full freedom to go and see the dev code that consumes these input parameters and design your test cases accordingly.
Really thanks for the help.. It will be helpful in my mid semester exam..
In BVA, we are taking the values from the edges of the classes and write the test cases. But in EP, We are taking the value from each classes and write the test cases.
Reply to Nivi’s query:
Theoretically, we still apply the same logic. But, practically, we have to see what can be tested and what cannot be tested and adapt our test cases accordingly.
For example, there may be a field that says that application may allow upto 9999 accounts to be created. It is practically impossible to create so many accounts and test the limit. In such cases, these techniques cannot be applied.
valuable info
Hi ,
Thanks for updating me.
Can u please hepl me about the certification in Testing as i planning to write.
First i need what is the Use of this certifications
very good one ,it helped me a lot
it very nice article to get the knowledge of boundary value analysis and equal partitioning….great work
We need to check total 6 inputs
n,n-1,n+1,m,m-1,m+1…correct if m wrong
Hi,
I want to know whether I have written correct ECP and BVA values for the condition if(a>b) and both are of type INT32 .
a>b Valid class
a==b Invalid class
a<b Invalid class
and values are like b,b+1,b-1,minium and maximum and in the ECP can we change the both variable value or we should keep one as a constant to have good ECP
Please help me .
Thanks
Sombody asked about Tracebility Matrix in this question answer thread.
Anser to Tracebility matrix : Tacebility matrix a document which track the completeness. e.g. Requirement Tracebility Matrics(RTM). In RTM we note down all the requirements id which are there in SRS. As and when we start writing test cases againist requirements, we keep updating those test cases id in RTM against respective requirements.
Hope this short description will help you to understand about Tracebility matrics. gook luck , happy testing.
Here is another nice example on
equivalence partitioning
great …the way u express simple and meaningful
Check the link. You can have a detailed idea about how and why this practice has been adopted!
Hi!
Nice Way to explain with simple example. Keep the good work coming.
Cld anybody pls help me in answering the following question – how many test cases will be generated for three check boxes and one button
This is really useful… Thanks… thanks a lot
BVA IS THE ANALYSIS OF MIN-1,MIN,MAX,MAX+1 IF ANYONE WANT THE FULL EXPLANATION WITH EXAMPLE PLZ TELL ME
Hi,
its a nice article helped a lot in my understanding.
Excellent brainstorming session Suhas
Well put it simple
Use ECP to divide input domain into equivalent class as you pointed out in your example and then use BVA to decide test cases on extreme edges.
Respected seniors, Vijay plz. answer me.
How to answer – “what METRICS do you use? How many types of metrics are there?” It’s a most imp question in interviews. As far as i know, different metrics are–Defect Density, Defect Leakage, Traceability Matrix, Bug Trend Analysis(means comparing no of bugs in different versions). Types of Metrics are Process, Product, Project. “Do CMM, ISO 9000 come under Metrics?”. I am not concluding the above information. My attempt is to make clear that on what topic seniors have to give their kind and valuable suggestions.
Plz. respond with full details.
Yours faithfully………Sirisha
Dear,
Any one tell me the correct formula for boundary value analysis
BV = LV-1, LV, LV+1, UV-1, UV, UV+1.
BV = LV-1, LV+1, UV-1,UV+1.
thanks for ur valuable reply…
d. Boundary Value Analysis for Decimal Number, and Binary Number.
hi vijay,
It’s a very good article. Thanks for sharing knowledge.
Regards,
Deepa
kilimanjaro
hai
can any body tell me the QTP life cycle all phases to me
more examples on manual test cases
give me some requirements to write test cases
sujani_2008@yahoo.com
Simple & Useful..
Nice questions for brushing before exam.
Hi friends
good stuff
if u have any test case samples…. send me
my question is
what is BVA and ECP value for -1 to 1022 range
-2 1023,-1 1022,0 1023
sorry its -2 1021, -1 1022, 0 1023
really good
Hi Friends ,
Could anyone be kind enough to send me questions or dumps with answers for ISTQB Fundamental Certification . I am appearing For ISTQB certification exam next week.
kskadian@yahoo.com
Thanking you all in anticipation.
Kavita
@Kavita and all
If you want free ISTQB foundation level exam material you can get it from below page by registering with your email.
You will get some sample papers over the period of couple of weeks through this option:
Softwaretestinghelp.com/istqb-free-updates/
If you are interested in premium sure-pass study guide to easily pass and score high in this exam please check this study guide:
Softwaretestinghelp.org/istqb-certification-complete-study-package/
hey thanx alot i was searching alot notes for exam
Option C is correct. Valid values for the above scenario will be -1,0,1,3999,4000, 4001, 5499,5500, 5501, 33499,33500,33501.
Its very nice article
BVA Formula :
n-1, n, n+1
Ex: 1 – 1000 find BVA for this
0,1,2, 999,1000,1001 (is valid BVA for)
In Boundary value analysis there are three basic steps to perform this validation:
1) First enter extreme valid values both from lower and upper limit
2) Then decrement by 1 from both upper limit and lower limit and test validation on that data
Test Data = Lower limit -1
Test Data = Upper Limit -1
3) Then increment by 1 from both upper limit and lower limit and test validation on that data
Test Data = Lower limit +1
Test Data = Upper limit +1
How can we made equivalence partioning for a field where date is the input like 1 Jan 1976 to 5 Nvoember 2009?
What would be the Equivalence classes…consder the leap years also
Nice example
Dear Frnds
pl help me how to write test cases for regristration form of any website
hi friend
Value Range: 1-100
What is Valid Equivalence Partition and Boundary Value of 1-100 range?
What is invalid Equivalence Partition and Boundary Value of 1-100 range?
Please Explain me..
Thanz its v useful to update ……
can u pls explian the function,procedures in black box testing
what is boundary analaysis ?
THANX TO UR COOPERATION ME
great artical,It makes me to understand very easy.
Srinivasa Rao,
for 3 check boxes and one button – 8 test cases can be written. BTW, button was only to confuse but all 8 test cases are the possible selection of 3 check boxes.
Hope this helps. But I don’t understand why you were asking that question here in the comment section of BVA article.
Hi friends… I have one plus experience in Testing field…
pls mail me if u know any openings….
Hello Everybody,
I have one doubt Regarding boundary value analysis and Equivalent class partitioning.
Let I have one Test cases for input box accepting numbers between 1 and 1000.
So as we know through boundary value analysis and Equivalent class partitioning we can check min value i.e. 0,1,2 and max value i.e 999,1000,1001.
But user may give some random number like 55,555555,45566,289 and So on.
So,My doubt is how we can check that number is valid or not ?
Nice article with very gud examples. Thanks a lot to Vijay for the support.
hi raj,
Installation testing should be done in the collabartion with the configuration engineer.
installation is the process which first time client/user is going to interacted with our product/appl.
installation testing is done to ensure that the client/user do not feel trouble while installing the software.
thank you
Excellent post. Easy to understand the two concepts. Thanks for sharing.
given the following specification.
which of the following value for age are in the same EP
if uor age less than 18 then too young for insurance
if 18 to 30 then 20% discount
more then 30 ,not eligible for discount
17,18,19
29,30,31
18,29,30
17,29,31
simple clarification
Very good explanations
dhinesh
grdhinesh@gmail.com
Really its good. .
How to write BVA for Date range .
Suppose a field take data between following date range then how to write BVA
Date: 1 Jan 2014 to 31 March 2014
Please help me.
I guess its 31 Dec 2013 – 30 Mar 2014, 1 Jan 2014 – 31 Mar 2014, 2 Jan 2014 – 1 April 2014
31 Dec 2013 will be a invalid input data then how would u test from 31 Dec 2013 – 30 Mar 2014. please help me to get it.
what is BVA for the 0-10 range
can you tell me Installation Testing….!
Hi
Can anyone explain me the process of Business Testing