Exploratory Testing Heuristics and Test Oracles 2 — Questions and Answers
Question 1: What is the primary purpose of using heuristics in exploratory testing?
- To fully replace formal test plans in all projects
- To guide test idea generation and problem recognition efficiently (Correct answer)
- To automate repetitive regression test scenarios
- To produce compliance documentation for audits
Correct answer: To guide test idea generation and problem recognition efficiently
Heuristics are cognitive shortcuts that help exploratory testers efficiently generate test ideas and recognize potential problems without requiring exhaustive upfront planning.
Question 2: In the context of test oracles, 'consistency oracles' check whether:
- The product produces the same output every time under identical conditions
- The product behaves consistently with standards, history, claims, or comparable products (Correct answer)
- Automated test scripts produce consistent pass/fail results across runs
- Testers follow consistent procedures during each session
Correct answer: The product behaves consistently with standards, history, claims, or comparable products
Consistency oracles (like those in HICCUPPS) verify that the product behaves in a manner consistent with multiple external reference sources such as documented standards, prior versions, stated claims, and comparable products.
Question 3: The 'Image' heuristic in FEW HICCUPS asks the tester to consider:
- Whether all image files and graphics render correctly
- Whether the product's behavior matches the organization's brand and reputation expectations (Correct answer)
- Whether the UI design meets visual accessibility standards
- Whether screenshot evidence documents the defect clearly
Correct answer: Whether the product's behavior matches the organization's brand and reputation expectations
The Image heuristic asks whether the product's behavior reflects positively on the organization's desired brand image and public reputation.
Question 4: When a tester applies the 'Explainability' heuristic from FEW HICCUPS, they are asking:
- Can I explain the test case steps clearly in a test report?
- Would I be able to explain this product behavior to a user without embarrassment? (Correct answer)
- Can the development team explain the root cause of this behavior?
- Is this defect description explainable in a formal defect tracking system?
Correct answer: Would I be able to explain this product behavior to a user without embarrassment?
The Explainability heuristic prompts testers to consider whether a behavior is justifiable and can be explained to users and stakeholders without causing embarrassment to the organization.
Question 5: Which of the following is NOT included in the FEW HICCUPS oracle heuristics?
- Familiar
- World
- Efficiency (Correct answer)
- Standards
Correct answer: Efficiency
FEW HICCUPS stands for Familiar, Explainability, World, History, Image, Comparable Products, Claims, User Expectations, Product, and Standards — Efficiency is not one of these oracle categories.
Question 6: Which type of oracle is generally considered most authoritative when determining whether software behavior is correct?
- Heuristic oracle
- Sampling oracle
- Specification oracle (Correct answer)
- Statistical oracle
Correct answer: Specification oracle
A specification oracle uses formal requirements, contracts, or design specifications to determine correctness, making it the most authoritative reference when such documents exist.
Question 7: The 'Familiar' heuristic in FEW HICCUPS prompts a tester to ask:
- Is this feature familiar to the members of the test team?
- Does this behavior match common software patterns and conventions I've seen before? (Correct answer)
- Is this test scenario one I have executed in a previous session?
- Is the user interface familiar to the end-user audience?
Correct answer: Does this behavior match common software patterns and conventions I've seen before?
The Familiar heuristic asks whether observed behavior matches common patterns, conventions, and expectations a tester has developed from experience with similar software.
What is the primary purpose of using heuristics in exploratory testing?