Boundary Value Analysis (BVA) is one of the most basic test techniques that we learn.
Often taught at the same time as Equivalence Partitioning.
In this post I explain the technique and use it it find a bug in Chrome and Firefox.
BVA if often applied to input fields or anywhere that ranges of input are used where there is some maximum and minimum validation.
e.g. if I have an input field which accepts values from 10 to 100 then 10 would be the minimum, 100 would be the maximum.
I can model that as. a Set of Ordered sets:
{ x <= 9}{10 -> 100}{101 to infinity}
Above is a model containing 3 sets, the first set
The second set:
The third set
The values on the boundaries between the sets are (9,10) and (100,101) and they are the basic values that BVA would give me when applied as a technique.
Another way to consider this is as -1,0 and +1 for the valid boundary maximum and minimum range values.
The maximum and minimum values are 10 and 100 which gives me:
The additional values within the same equivalence class are optional and are an extension i.e. 11 (+1 on the minimum range value) and 99 (-1 on the maximum range value).
In the real world we use Boundary Value Analysis as a starting point, but we also have to consider:
When I was looking at the sample application in the Chrome I discovered that some of my assumptions were incorrect.
Not all non-numeric characters were excluded, I could type “e”, “-”, “+”, and “.”
This led me to explore other representations of my valid boundery values, which might have caused an error in a downstream system:
This is demonstrated in the following video where the exploration around BVA found a defect in Chrome and Firefox.
Boundary Value Analysis is technique driven from the Heuristics:
errors happen at the edges
watch out for off by one errors
The technique concentrates on the off by one errors.
The heuristic of errors at edges is much more generic and applies to any model involving bordering.
I created a video explaining the heuristic nature of boundary value analysis on Patreon.
https://www.patreon.com/posts/24196729
The page I used to demonstrate the technique has been uploaded here
https://eviltester.com/2019/01/what-is-boundary-value-analysis.html
]]>Boundary Value Analysis (BVA) is one of the most basic test techniques that we learn.
Often taught at the same time as Equivalence Partitioning.
In this post I explain the technique and use it it find a bug in Chrome and Firefox.
BVA if often applied to input fields or anywhere that ranges of input are used where there is some maximum and minimum validation.
e.g. if I have an input field which accepts values from 10 to 100 then 10 would be the minimum, 100 would be the maximum.
I can model that as. a Set of Ordered sets:
{ x <= 9}{10 -> 100}{101 to infinity}
Above is a model containing 3 sets, the first set
The second set:
The third set
The values on the boundaries between the sets are (9,10) and (100,101) and they are the basic values that BVA would give me when applied as a technique.
Another way to consider this is as -1,0 and +1 for the valid boundary maximum and minimum range values.
The maximum and minimum values are 10 and 100 which gives me:
The additional values within the same equivalence class are optional and are an extension i.e. 11 (+1 on the minimum range value) and 99 (-1 on the maximum range value).
In the real world we use Boundary Value Analysis as a starting point, but we also have to consider:
When I was looking at the sample application in the Chrome I discovered that some of my assumptions were incorrect.
Not all non-numeric characters were excluded, I could type “e”, “-”, “+”, and “.”
This led me to explore other representations of my valid boundery values, which might have caused an error in a downstream system:
This is demonstrated in the following video where the exploration around BVA found a defect in Chrome and Firefox.
Boundary Value Analysis is technique driven from the Heuristics:
errors happen at the edges
watch out for off by one errors
The technique concentrates on the off by one errors.
The heuristic of errors at edges is much more generic and applies to any model involving bordering.
I created a video explaining the heuristic nature of boundary value analysis on Patreon.
https://www.patreon.com/posts/24196729
The page I used to demonstrate the technique has been uploaded here
https://eviltester.com/2019/01/what-is-boundary-value-analysis.html
]]>