I can't understand why to use two values inside the boundary when using Boundary Value Analysis. For instance, suppose a program has the requirement: Values between 1 and 100 are true, while all other values are false.
if (x >= 1 and x <= 100):
A lot of books (Pressman, for instance) say you have to use the inputs 0, 1, 2, 99, 100 and 101 to test such a program.
So, my question is: Why use the inputs '2' and '99'? I tried to make a program with a fault such that the test case set (0, 1, 2, 99, 100 and 101) exposes a failure and the test case set (0, 1, 100, 101) does not expose it, but I can't make such program.
Could you make such program? If not, it is a waste of resources to create redundant test cases '2' and '99'.