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..
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:
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.
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.