Quality Testing

Quality is delighting customers

# Boundary Value Analysis

Regards
Chitra.

Views: 143

### Replies to This Discussion

Hi Chitra,

Boundary value analysis is the technique of making sure that behavior of system is predictable for the input and output boundary conditions...To determine the tests for this method, first identify valid and invalid input and output conditions for a given function. Then, identify the tests for situations at each boundary. For example, one test each for >, =, <, using the first value in the > range, the value that is equal to the boundary, and the first value in the < range. Boundary conditions do not need to focus only on values or ranges, but can be identified for many other boundary situations as well, such as end of page, (i.e., identify tests for production of output that is one line less than the end of page, exactly to the end of page, and one line over the end of page). The tester needs to identify as many situations as possible, the list of Common Extreme Test Conditions may help with this process..

Example1

For example we take a simple application

Login name should be between 4 to 14 characers

In this scenbarion we have to test

Minimum boundaries and Maximum boundaries

1st case

Minimum -4 Valid
Minimum-1 3 Invalid
Minimum+1 5 Valid

2nd case:

Maximum 14 Valid
Maximum-1 13 Valid
Maximum+1 15 Invalid

Example 2

Function to be Tested

For a function called billing, the following specifications are defined:

· Generate a bill for accounts with a balance owed > 0.

· Generate a statement for accounts with a balance owed < 0 (credit).

· For accounts with a balance owed > 0:

· place amounts for which the run date is < 30 days from the date of service in the current total,

· place amounts for which the run date is = or > 30 days, but < or = 60 days, from the date of service, in the 30 to 60 day total,

· place amounts for which the run date is > 60 days, but < or = 90 days, from the date of service, in the 61 to 90 day total,

· place amounts for which the run date is > 90 days, from the date of service, in the 91 days and over total.

· For accounts with a balance owed > or = \$10.00, for which the run date is = or > 30 days from the date of service, calculate a \$3.00 or 1% late fee, whichever is greater.

Input and Output Conditions

Identify the input, (i.e., information is supplied to the function) and output, (i.e., information is produced by the function) conditions for the function.

The input conditions are identified as:

· balance owed,

· balance owed for late fee.

The output conditions are identified as:

age of amounts,

· age of amounts for late fee,

· calculation for late fee.

Defining Tests

Define tests for the boundary situations for each of the input and output conditions. For example:

Balance Owed

1. > 0,

2. = 0,

3. < 0.

Age of Amounts

balance owed > 0 and

4. run date - date of service = 0,

5. run date - date of service = 29,

6. run date - date of service = 30,

7. run date - date of service = 31,

8. run date - date of service = 59,

9. run date - date of service = 60,

10. run date - date of service = 61,

11. run date - date of service = 89,

12. run date - date of service = 90,

13. run date - date of service = 91.

Balance Owed for Late Fee

run date - date of service > 30 and

14. balance owed = \$9.99,

15. balance owed = \$10.00,

16. balance owed = \$10.01.

Age of Amount for Late Fee

balance owed > \$10.00 and

17. run date - date of service = 29,

18. run date - date of service = 30,

19. run date - date of service = 31,

Calculation for Late Fee

balance owed > \$10.00, run date - date of service > 30 and

20. 1% late fee < \$3.00,

21. 1% late fee = \$3.00,

22. 1% late fee > \$3.00.

Regards
Gowtham
Thanks a ton for such a detailed information... it's very useful.

Regards
Chitra.
Hi Gowtham,

the information is very useful. can u send some more simple examples because these one quite difficult to understand for me.

Regards
Chitra.
Hi Chitra,

I will tell u in detail
The boundary value analysis can have 6 or more test cases.

n, n-1,n+1 for the Maximum and
n, n-1,n+1 for the Minimum

Lets take the Range between 10-20

Maxiumum:

n is 20
So the range will be
n is 20 which is valid since it is in the range
n+1 is 21 is Invalid since it is out of ange
n-1 is 19 is valid since it is in Range

Minimum:

Here N is 10 which is valid

n+1 is 11 is Valid since it is in range
n-1 is 9 which is out of range

We can take more than 2 Boundaries

If u have any doubts please ask i will give you more details

Regards
Gowtham
Hi

That example is not really clear gowtham. It should be 9, 10, 20, 21. You need to take M as 10 (for lower boundary) and N as 20 (for upper boundary) and need to frame TCs for M, M-1, N and N+1

========

To set up boundary value analysis test cases, the tester first determines which boundaries are at the interface of a software component. This is done by applying the equivalence partitioning technique. For the above example, the month parameter would have the following partitions:

... -2 -1 0 1 .............. 12 13 14 15 .....
--------------|-------------------|---------------------
invalid partition 1 valid partition invalid partition 2

To apply boundary value analysis, a test case at each side of the boundary between two partitions is selected. In the above example this would be 0 and 1 for the lower boundary as well as 12 and 13 for the upper boundary. Each of these pairs consists of a "clean" and a "negative" test case. A "clean" test case should lead to a valid result. A "negative" test case should lead to specified error handling such as the limiting of values, the usage of a substitute value, or a warning. Boundary value analysis can result in three test cases for each boundary; for example if n is a boundary, test cases could include n-1, n, and n+1.

A further natural boundary is the natural lower and upper limit of the data type itself. E.g. an unsigned 8-bit value has the range of 0 to 255. A good test strategy would also check how the program reacts at an input of -1 and 0 as well as 255 and 256.

Hope this is clear

zakir
Hi Chitra

Boundary value analysis is a technique for test data selection. A test engineer chooses values that lie along data extremes. Boundary values include maximum, minimum, just inside boundaries, just outside boundaries, typical values, and error values. The expectation is that, if a systems works correctly for these extreme or special values, then it will work correctly for all values in between.

For example the login should have minimum 3 characters and a maximum of 5 characters.

The boundary value will be 3 to 5 charcters.

The possible scenario will be as follows.

1. Check for the empty values (=0)
2. Check for the on boundary values (3 & 5)
3. Check for the upper boundary value analysis (+1 or >5)
4. Check for the lower boundary value analysis (-1 or <3)
5. Check for the negative values.
6. Check for the partial & special characters.

Regards,

Balaji