I happened upon a very
interesting blog recently, searching for more examples of edge case testing,
wherein the author provides an interesting set of common edge cases. While they
use the same names or similar ones as those we’ve seen lately in class some
have new meaning here. In addition, they may have an actual value tied to the
name – such as zero, one, and two – but their values are defined otherwise.
In order they
are as such:
- Zero “represents
any form of null input”, including the actual value zero but also null, an empty
List or Array, et cetera. This of course is to test the capability of a program
to deal with input that isn’t properly usable by it.
- One represents what
we have referred to as nominal up to this point, meaning a valid normal input
which should test proper functionality of a program under ideal conditions.
- Two does not
correspond to the value two, but rather refers to testing the same code twice,
usually in sequence, to see how repeated executions affect a system.
- Two to Max-1 is
most like one, in that it represents a nominal value as well, but in opposition
this value should not be the absolute simplest needed to function but an average
use case; meaning possibly complicated.
- Max is
fairly self-explanatory, used to test the upper limit accepted by a program, and
can sometimes be an extreme value. As such, it can test the limits of the
program under incredible load.
- Max + 1 is
used to ensure that limits placed on an application are working and that anything
that does not correspond to a valid range is rejected in a reasonable manner.
These would most closely correspond to Normal Boundary Value Testing as we have covered in class but they are each less abstract than those counterparts. They provide an insight on what these values look like in actual QA testing, as well as expectations upon being used. Two for example does not have an actual value associated with it, but rather refers to a testing orthodoxy outlined above. One example of a test in this vein is found in another blog, in which the author proposes the edge case of the same user trying to log in from two different computers. I believe between the two of these blogs a clearer picture of the concepts we have covered can be found through these more concrete examples of the testing procedure.