TL;DR
In the previous post, we talked about oracles and heuristics. This post demonstrates heuristics in action on one plausible problem. The post is aligned with the Black Box Software Testing Foundations course (BBST) created by Rebecca Fiedler, Cem Kaner, and James Bach.
The Problem
You have to check that web application could be used on all phones available on the market, same as on desktop version.
What could be a heuristic for this problem?
Let’s vary the desktop screen size VARIABLE to have screen resolutions of all possible phones on the market.
Note: Heuristic is fallible idea or method that may help simplify and solve the problem.
How can this heuristic fail? If it is not possible to set the desktop screen resolution to values of phones with small screen sizes.
Note: The heuristic can hurt you when used as if they were the authoritative rule.
You found serious page breakdown issues with screen resolution heuristic, and you advised your test manager that this should be part of every regression test. But this doubles the execution time of the regression test, and you missed an important application release date that financially hurts your company.
Note. Heuristics may suggest wise behavior, but only in context. They do not contain wisdome.
You spoke at local tester’s meetup about your screen resolution heuristic. You got a comment from the audience. In our startup XYZ company, we just gradually scale browser window size, from max to min in width and height, and observe just the most important (Google Analytics) pages, how they “break” on that window size gradual change.
Note. Your relation to a heuristic is the key to applying it wisely.
Conclusion
You must be aware that heuristic is an idea or method that is:
- fallible
- none authoritative
- context-wise