In this episode Federico and Matthew talk about test heuristics. Starting with what are they and why they are useful, they give a run down several heuristics that the ASP.NET QA team uses while exploring software.

News

Test Heuristics

  • What is a heuristic?
  • Why are they useful?
  • How does the ASP.NET QA team uses them?
  • Some useful test heuristics
    • Configuration: Change variables related to configuration (of program as well of machine)
    • Interruptions: Log Off, Hibernate, Kill Process.
    • Undermining: Change the state of the program to an invalid state while functions are running.
    • Starvation: Progressively lower resources until product collapses or gracefully degrades.
    • Dog Piling: Get more processes going concurrently.
    • Click Frenzy / Street Fighter: Run through all the keys and click everywhere.
    • Multi User: Simultaneous users performing actions on shared resources.
    • Multi Instance: Run multiple instances of the application.
    • Flood: Multiple simultaneous transactions or requests flooding the queue.
    • Dependencies: Identify "has a" relationships and apply CRUD to each.
    • Constraints: Violate every constraint.
    • Input Methods: Typing, copy/pate, cut/paste, drag/drop
    • Sequences: Vary order of operations, undo/redo.
    • Position: Begin, middle, end
    • Boundaries: Approaching the boundary, at the boundary
    • Selection/Count: Some, None, All.
  • Resources: Most of our heuristics were collected from others across the web. Including, but not limited to James Bach, Michael Bolton and Cem Kaner.


Listen now (Flash required):