1000-2500----->no tax
2501-4000---->tax 5% of there Salary.
In EQUIVALENCE : values from 0 t0 999 is put together in
one class c1-means it shd behave in same manner- invalid
values
values from 1000 to 2500 in class c2 - notax
values from 2501 to 4000 in class c3- 5% of there salary
like wise grouping the values in bifferent classes,
To put this in simpler words, since it is practically
infeasible to do exhaustive testing, the next best
alternative is to check whether the program extends similar
behaviour or treatment to a certain group of inputs. If
such a group of values can be found in the input domain
treat them together as one equivalent class and test one
representative from this. This can be explained with the
above example.

Boundary Value: taking the above example
1. if user typedin 999rs -it shd promt as invalid
2. when 1000rs it shd not promt as invalid and no tax shd
be taken.
3. when 2501 is typed 5% of tax shd be taken

For the instance consider the 10 digit mob number which
starts with 9,so the valid range can be from 9000000000 to
9999999999.Then by boundary value analysis we get 6 input
data
1.Input less than lower boundary => 9000000000-1.
2.Input equals to the lower boundary => 9000000000.
3.Input greater than the lower boundary =>1 9000000000+1.
4.Input less than upper boundary => 9999999999-1.
5.Input equals to the upper boundary => 9999999999.
6.Input greater than the uppper boundary => 9999999999+1.

From the above test cases four test(2,3,4,5) cases will
pass the conditions and rest two(1,6) will fail.

equivalence partitioning
--------------------------
consider a form field which ask for the age of a person.
let the age should be >=18 and <=50.
this range can be divided into three classes.

==>> values less than 18(invalid class)
==>> values between 18-50(valid class)
==>> value greater than 50(invalid class)

we can see that there are two invalid and one valid class.
it is not necessary that we have to use multiple values
from each class.One value from each class is more than
enough.

Boundary Value Analysis
--------------------------
consider the same scenario used above.

here we can give the test inputs as follows
==>>lower limit+1 & lower limti-1(ie. 17 & 19)
==>>lower & upper limits (ie. 18 & 50)
==>>upper limit+1 & upper limit-1 (ie 49 & 51)

There will be six test inputs when we are using boudary
value analysis.

For the instance consider the 5 digit mob number which
starts with 9,so the valid range can be from 90000 to
99999.Then by boundary value analysis we get 6 input
data
1.Input less than lower boundary => 90000-1.
2.Input equals to the lower boundary => 90000.
3.Input greater than the lower boundary =>1 90000+1.
4.Input less than upper boundary => 99999-1.
5.Input equals to the upper boundary => 99999.
6.Input greater than the uppper boundary => 99999+1.

From the above test cases four test(2,3,4,5) cases will
pass the conditions and rest two(1,6) will fail.

lets consider the behavior of
tickets in the Flight reservation application , while
booking a new flight. Ticket values 1 to 10 are considered
valid & ticket is booked.

In equivalence partion :
-------------------------
1 to 10 ----> valid
<1 ----> invalid
>10 ----> invalid

ie. 0 and 11 are invalid
1 to 10 valid.
Boundary value analysis :
-------------------------
min =1
max=10
min-1=0
max+1=11

Equivalence Partioning :
Lower 18
Upper 50
Between 18-50
(19-49)
Here We miss some test cases ie. in the boundary values

Boundary Value Analysis:
(18-1,18,....50,50+1)
By this We Can Write the Test Cases Very Effective and here
reputation of data is allowed this is the one of the
drawback here

To understand this better , lets consider the behavior of
tickets in the Flight reservation application , while
booking a new flight. Ticket values 1 to 10 are considered
valid & ticket is booked.

In equivalence partion :
-----------------------------

Invalid valid Invalid -----> 3 partitions class

-9 -8.. 0 | 1...10 | 11....999999 and so on

Boundary value analysis :
--------------------------

boundary value:
for int suppose boundary is say 1 to 50
then test for 0,2 values & 49, 51 vales.

for string... test for null or length or capacity of
string(size).

equivalence partitioning:
e.g.: divide(a,b) ...boundary -50 to +50
(do not forgot zero for 'b')
test for... -51, and -1 --------(1)
also 1, and +51 ------------(2)
(1),(2) are two partition.

If I have written test cases for any application:there are
70-80 test cases and steps for writing test cases are
common in some TCases.then May I have to write the repeated
steps or May I write Repeat the steps of TC id so and so