Posts in Software Testing
Coming up with a heuristic
When working with James Bach a few weeks ago, we spent a lot of time talking about heuristics. I have been using Jame's heuristic test strategy, but it's not mine so I struggle sometimes with remembering all the mnemonics, where they come from, and why they are there. James recommended that I try to develop some of my own heuristics. So I of course asked him how. Here are the general guidelines he gave me:




  1. Attempt to solve a problem.

  2. Conceive of a need or desire to add structure to that attempt.
    OR
    Notice a pattern.

  3. Look for a pattern in the problem you are solving.

  4. Try to understand the pattern as best you can:

    • What's the essence of this pattern?

    • How can I simplify this pattern?



  5. Label it.

  6. Try it (experiment with it).

    • Be a skeptic.

    • Vary your label.

    • See if you actually remember your heuristic when you need it.





He pointed me to his general functionality and stability test procedure for a detailed example.

So here is my first stab at a heuristic. My heuristic is for test reporting:

MCOASTER

Based on the test reporting post - with Neill's suggested change - the mnemonic stands for the following:

Mission
Coverage
Obstacles
Audience
Status
Techniques
Environment
Risk

That covers steps one through five... now I just have to use it and see if it helps.
Dimensions of a "good" test report
While working with James Bach a couple of weeks ago, I was asked to report my status while I was in the middle of my testing. After stuttering out some abstract bullet points (in no particular order), James stopped me and gave me some advice for how to deliver a test report.

James told me to consider the following dimensions:




  • Mission: This is what I'm trying to accomplish...

  • Coverage: I'm looking at this...

  • Risk: I'm looking for this...

  • Techniques: This is how I'm looking for it...

  • Environment: This is where, when, for how long, with who, and with what...



The results of those inputs are:

  • Status:

    • Where am I?

    • What have I found so far?

    • How much more do I have to do?



  • Obstacles:

    • Do I have any issues I need help with?

    • Is there anything I can't work around?





This advice was for both verbal and written reports. The report should cover the above dimensions and be at the appropriate level of specificity for the person asking.

We practiced different levels of specificity (which is something I need to practice more), but I think talking about that might become it's own blog post in the future.