As many applications have similar features (let’s take for example Firefox and Chrome), they also share failure patterns. This post explains familiar failure patterns used as oracles. The post is aligned with the Black Box Software Testing Foundations course (BBST) designed by Rebecca Fiedler, Cem Kaner, and James Bach.
Oracle is a heuristic mechanism or principle by which we recognize a potential application problem. We already mentioned: no oracle, complete oracle, consistency heuristics oracles, partial oracle and constrained oracle. Today we present familiar failure oracle.
Oracle is tester’s expectation of how the application should behave. Familiar failure oracle is the opposite situation when we recognize that application failure is similar to the failure that we experienced in another application.
For example, if you are testing the Open Office Document application. You create and save test files in the default format. Then you close and delete that file. You still find that document in Recent Documents, you select it and you got a notification that the document is no longer available. The problem is that the document should not be available in the recent document list in the first place. A few months later, you test another application that shows the same error behavior. This is not enough to fill a bug report, but it gives you credit for further investigation.
The advantage of this oracle is that it works using the opposite mindset from other oracles, we are observing failure patterns.
The disadvantage is that the observed failure pattern requires additional investigation, it is not sufficient to fill the bug report.