Step 1 of 6 · about 40 min
Equivalence partitioning and boundary values
Bugs are easier to find on purpose than by luck. Two techniques do most of the heavy lifting, and neither requires maths beyond counting.
Equivalence partitioning is the idea that inputs fall into groups that all behave the same way, so testing one value from each group tells you what testing all of them would, at a fraction of the effort. Boundary value analysis adds the observation that bugs cluster at the edges of those groups, so you test the values right at and just past each edge.
Here is a worked example. Take a requirement: an age field accepts whole numbers from 18 to 65 inclusive, and rejects everything else.
Partitions (equivalence classes):
- below range: anything less than 18 -> rejected
- in range: 18 to 65 -> accepted
- above range: anything more than 65 -> rejected
One representative from each partition:
10 -> rejected
40 -> accepted
80 -> rejected
Boundary values (the edges, and one step past each):
17 -> rejected (just below the lower edge)
18 -> accepted (the lower edge)
65 -> accepted (the upper edge)
66 -> rejected (just past the upper edge)Three partition tests confirm the broad behaviour. Four boundary tests catch the off-by-one errors that live at the edges, the classic "should it be less-than or less-than-or-equal" bug. Seven precise tests replace the hundred vague ones you might have written.
Try it: derive it yourself
Requirement: a password must be between 8 and 20 characters. Write out the three equivalence partitions, one representative value for each, and the four boundary values with their expected results. Do it on paper or in a note before reading on. This is the exact skill the rest of the week rests on.
Why
These techniques are how you test thoroughly without testing infinitely. There are always more inputs than time. The skill is choosing the few that actually tell you something, and defending that choice when someone asks why you did not test more.
Tip
None of this is web-only. The same partitions, boundaries, and tables apply to a mobile app, where the risks just multiply: screen sizes, offline networks, interruptions. If mobile testing comes up in an interview, the Mobile QA page has the principles.