What are heuristics, really?
While studying testing for my career change, I'm putting the names to techniques I had just sort of ....felt my way to as a digital marketer who was asked to do user acceptance testing often, and learning many more.
Let's start from the top.
When testing, we aim to see that the application works as expected, and also that the application handles invalid input or unexpected user behaviour gracefully.
This is called positive testing and negative testing.
While testing, we notice patterns to the bugs which crop up. These patterns don't work every time, but they're helpful guides that help lead the way. We call them heuristics.
Below is a list of heuristics commonly used in functional testing. With thanks to Elizabeth Hendrickson, Karen N Johnson, Terry Wiegmann, Michael Bolton, Scott Lawrence, James Bach, Alan Giles and Donald Firesmith, who created the heuristics below or helped lead the way to them through their brilliant web content.
Happy path
The typical user. The one we expect to see. Valid input created by the majority of users.
Edge case
Not the typical user, but their input is still valid, and should be accepted.
Pairwise Testing
All possible discrete combinations of 2 input parameters.
Range
At the minimum value, at the maximum value, below the minimum value, above the maximum value, within the range.
Boundary
Almost too big, almost too small, at the boundary.
Goldilocks
Really big number, really small number, just right.
Reasonable data
Too big number, too small number, just right.
Null testing
Receiving null values.
Boolean testing
Accepting true/false with one input. Accepting true/false combinations with multiple inputs.
Date/Time Testing
The End date can't be before the start date.
If the start date and the end date are the same, the start time can't be later than the end time.
Recent, Core, Risky, Configuration, Repaired, Chronic
Recent code, core code, risky code, configuration sensitive code, repaired code, chronically repaired code.
CRUD
Empty state, Create, Read, Update, Delete.
Follow the Data
Data integrity at every stage of the CRUD process.
Web session
Time-out is accurate, can't access membership pages when logged out.
Input Method
Type, Paste, Keyboard arrows, mouse. Does the system accommodate possible input methods?
FEW HICCUPPS
History
Image
Comparable Products
Claims
Usersβ Desires
Product
Purpose
Statutes
Sorting
Words, Numbers, Pages. Sort stays on pagination.
Violate Constraints
Uniqueness
Creating with username/email address already in use.
Null values
Creating with leaving required fields blank.
Deployment
Before and after deployment. Seems obvious,
Top comments (0)