Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

How I Test (Failure) - Ben Simo

Download as pps, pdf, or txt
Download as pps, pdf, or txt
You are on page 1of 178

Now that I have your attention, prepare to read fast

v1.2

FAILURE.QualityFrog.com

Youre testing
And an error message appears

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Did you expect it?


Or are you surprised?

v1.2

FAILURE.QualityFrog.com

How does it make you feel?

v1.2

FAILURE.QualityFrog.com

What do you do?

v1.2

FAILURE.QualityFrog.com

Not ready reading drive A Abort, Retry, Ignore, Fail?

v1.2

FAILURE.QualityFrog.com

Continue to the next test step

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Report a bug

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Resolve unknown conflict

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Find a file

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Eliminate something

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Request permission

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Try again

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Try something new

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Seek help

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Set a reference to an instance

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

C lick OK

v1.2

FAILURE.QualityFrog.com

lick OK

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Save

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Enter a multiple of |ECL0

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Exit

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Reconnect

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Declare success

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Assign blame

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Laugh

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Restart

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Guess

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Gasp

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Request a raise

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

Swear

v1.2

FAILURE.QualityFrog.com

v1.2

FAILURE.QualityFrog.com

So

v1.2

FAILURE.QualityFrog.com

What do you do when you encounter an error?

v1.2

FAILURE.QualityFrog.com

While you think about that, let me tell you what I do.

v1.2

FAILURE.QualityFrog.com

Oh, who am I?

v1.2

FAILURE.QualityFrog.com

I am Ben Simo
Ben@QualityFrog.com

v1.2

FAILURE.QualityFrog.com

I use software
Ben@QualityFrog.com

v1.2

FAILURE.QualityFrog.com

I test software
Ben@QualityFrog.com

v1.2

FAILURE.QualityFrog.com

I question software
Ben@QualityFrog.com www.QuestioningSoftware.com
v1.2

FAILURE.QualityFrog.com

I code software
Ben@QualityFrog.com www.QuestioningSoftware.com
v1.2

FAILURE.QualityFrog.com

I code software that helps test software


Ben@QualityFrog.com www.QuestioningSoftware.com
v1.2

FAILURE.QualityFrog.com

I talk about software


Ben@QualityFrog.com www.QuestioningSoftware.com
v1.2

FAILURE.QualityFrog.com

I write about software


Ben@QualityFrog.com www.QuestioningSoftware.com
v1.2

FAILURE.QualityFrog.com

I think about software


Ben@QualityFrog.com www.QuestioningSoftware.com
v1.2

FAILURE.QualityFrog.com

I like software

v1.2

FAILURE.QualityFrog.com

I like software that serves people

v1.2

FAILURE.QualityFrog.com

I like software that helps people

v1.2

FAILURE.QualityFrog.com

I dislike bad software

v1.2

FAILURE.QualityFrog.com

I dislike bad software that frustrates people

v1.2

FAILURE.QualityFrog.com

I dislike bad software that confuses people

v1.2

FAILURE.QualityFrog.com

I dislike bad software that angers people

v1.2

FAILURE.QualityFrog.com

I dislike bad software that discombobulates people

v1.2

FAILURE.QualityFrog.com

I sometimes like big words that discombobulate people

v1.2

FAILURE.QualityFrog.com

But only for a moment

v1.2

FAILURE.QualityFrog.com

Discombobulate means to emotionally confuse

v1.2

FAILURE.QualityFrog.com

Discombobulate means to frustrate

v1.2

FAILURE.QualityFrog.com

Discombobulate means to bewilder

v1.2

FAILURE.QualityFrog.com

Discombobulate means to confound

v1.2

FAILURE.QualityFrog.com

Discombobulate means to befuddle

v1.2

FAILURE.QualityFrog.com

Discombobulate means to perplex

v1.2

FAILURE.QualityFrog.com

Too many error messages discombobulate people

v1.2

FAILURE.QualityFrog.com

Error messages should help people, not confuse them

v1.2

FAILURE.QualityFrog.com

You see, Its not about the software

v1.2

FAILURE.QualityFrog.com

Its about the people!

v1.2

FAILURE.QualityFrog.com

Testers often fail to test the error messages

v1.2

FAILURE.QualityFrog.com

They fail to think about how they affect people

v1.2

FAILURE.QualityFrog.com

So what do I do when I encounter error messages?

v1.2

FAILURE.QualityFrog.com

I test them

v1.2

FAILURE.QualityFrog.com

I test them using the FAILURE mnemonic

v1.2

FAILURE.QualityFrog.com

A mnemonic is a device that aids memory recall

v1.2

FAILURE.QualityFrog.com

The FAILURE mnemonic is an acronym that helps me recall guideword heuristics

v1.2

FAILURE.QualityFrog.com

Guideword heuristics are words that guide thinking through a problem

v1.2

FAILURE.QualityFrog.com

The FAILURE mnemonics guideword heuristics help me think about testing error messages

v1.2

FAILURE.QualityFrog.com

The F reminds me to think about Functional aspects of the error FAILURE

v1.2

FAILURE.QualityFrog.com

I ask Functional questions like


Does the error detection function as expected?
v1.2

FAILURE.QualityFrog.com

I ask Functional questions like


Does the error handling function as expected?
v1.2

FAILURE.QualityFrog.com

I ask Functional questions like


Does the error reporting function as expected?
v1.2

FAILURE.QualityFrog.com

I ask Functional questions like


Does the error dialog, window, or page function as expected?
v1.2

FAILURE.QualityFrog.com

I ask Functional questions like


Does the software recover from the error?
v1.2

FAILURE.QualityFrog.com

I ask Functional questions like


Was there really an error?

v1.2

FAILURE.QualityFrog.com

I ask Functional questions like


Are other errors like this reported?
v1.2

FAILURE.QualityFrog.com

I ask Functional questions like


Do dialog buttons work?

v1.2

FAILURE.QualityFrog.com

I ask Functional questions like


Is error message information accurate?
v1.2

FAILURE.QualityFrog.com

I ask Functional questions like


Is it functional?

v1.2

FAILURE.QualityFrog.com

Only I dont stop at Functional

v1.2

FAILURE.QualityFrog.com

A Functional error message is not necessarily an Appropriate error message

v1.2

FAILURE.QualityFrog.com

The A reminds me to ask if the error reporting is Appropriate


FAILURE

v1.2

FAILURE.QualityFrog.com

I ask Appropriate questions like


Is the error reporting timely?

v1.2

FAILURE.QualityFrog.com

I ask Appropriate questions like


Is the error reporting accurate?

v1.2

FAILURE.QualityFrog.com

I ask Appropriate questions like


Are UI messages free of inappropriate technical detail?

v1.2

FAILURE.QualityFrog.com

I ask Appropriate questions like


Is there a better way to handle or report the error?
v1.2

FAILURE.QualityFrog.com

I ask Appropriate questions like Is the error user friendly?

v1.2

FAILURE.QualityFrog.com

I ask Appropriate questions like


Are errors detected as early in the user workflow as possible?
v1.2

FAILURE.QualityFrog.com

I ask Appropriate questions like


Are system resource problems detected while there is still time to remedy the problem?
v1.2

FAILURE.QualityFrog.com

I ask Appropriate questions like


Is the situation communicated appropriately for the intended audience?
v1.2

FAILURE.QualityFrog.com

I ask Appropriate questions like


Is a user allowed to waste time and effort only to be told that their work cannot be applied?
v1.2

FAILURE.QualityFrog.com

The I reminds me to ask about the Impact of the error


FAILURE

v1.2

FAILURE.QualityFrog.com

I ask Impact questions like


Is the impact communicated?

v1.2

FAILURE.QualityFrog.com

I ask Impact questions like


Is the impact communicated to the user?
v1.2

FAILURE.QualityFrog.com

I ask Impact questions like


Is the impact communicated to others?
v1.2

FAILURE.QualityFrog.com

I ask Impact questions like


Will the user understand the impact?
v1.2

FAILURE.QualityFrog.com

I ask Impact questions like


Is any impact to the users data communicated?
v1.2

FAILURE.QualityFrog.com

I ask Impact questions like


Does the message contain too much information?
v1.2

FAILURE.QualityFrog.com

I ask Impact questions like


Was a transaction only partially completed?
v1.2

FAILURE.QualityFrog.com

The L reminds me to ask about the error Log


FAILURE

v1.2

FAILURE.QualityFrog.com

I ask Log questions like


Should the error be logged for support?
v1.2

FAILURE.QualityFrog.com

I ask Log questions like


Should the error be logged for system administrators?
v1.2

FAILURE.QualityFrog.com

I ask Log questions like


Should the error be logged for developers?
v1.2

FAILURE.QualityFrog.com

I ask Log questions like


Should the error be logged for technical investigation?
v1.2

FAILURE.QualityFrog.com

I ask Log questions like


Will log information be available if the user waits to report a problem?
v1.2

FAILURE.QualityFrog.com

I ask Log questions like


Are log messages standardized to support automated information mining?
v1.2

FAILURE.QualityFrog.com

I ask Log questions like


Can I grep this error?

v1.2

FAILURE.QualityFrog.com

I ask Log questions like


Do logs contain enough information?
v1.2

FAILURE.QualityFrog.com

I ask Log questions like


Do logs contain useless information?
v1.2

FAILURE.QualityFrog.com

I ask Log questions like


Is this an error that should not be logged?
v1.2

FAILURE.QualityFrog.com

I ask Log questions like


Is there too much logging?

v1.2

FAILURE.QualityFrog.com

I ask Log questions like


Does excessive logging impact performance?
v1.2

FAILURE.QualityFrog.com

I ask Log questions like


Does excessive logging impact disk space?
v1.2

FAILURE.QualityFrog.com

I ask Log questions like


Does the logging help or complicate error investigation?
v1.2

FAILURE.QualityFrog.com

The U reminds me to think about the User Interface


FAILURE

v1.2

FAILURE.QualityFrog.com

I ask UI questions like


Is the error reported to the user?
v1.2

FAILURE.QualityFrog.com

I ask UI questions like


Does this error need to be reported to the user?
v1.2

FAILURE.QualityFrog.com

I ask UI questions like


What user activity caused the failure?

v1.2

FAILURE.QualityFrog.com

I ask UI questions like


What user activity caused the failure? Is this communicated to the user?
v1.2

FAILURE.QualityFrog.com

I ask UI questions like


Who is the user?

v1.2

FAILURE.QualityFrog.com

I ask UI questions like


Are UI messages worded for the intended audience?
v1.2

FAILURE.QualityFrog.com

I ask UI questions like


Is this message consistent with the desired look and feel?
v1.2

FAILURE.QualityFrog.com

I ask UI questions like


Is the UI reporting consistent with reporting for other errors?
v1.2

FAILURE.QualityFrog.com

I ask UI questions like


Is the UI reporting efficient?

v1.2

FAILURE.QualityFrog.com

I ask UI questions like


Does the user need to click away excessive dialogs?

v1.2

FAILURE.QualityFrog.com

I ask UI questions like


Is this the best way to communicate the error?

v1.2

FAILURE.QualityFrog.com

I ask UI questions like


Could this error be handled without involving the user?
v1.2

FAILURE.QualityFrog.com

The R helps me think about error Recovery


FAILURE

v1.2

FAILURE.QualityFrog.com

I ask Recovery questions like


Is the user told how to recover from the impact of the error?
v1.2

FAILURE.QualityFrog.com

I ask Recovery questions like


Does the user need to contact support?
v1.2

FAILURE.QualityFrog.com

I ask Recovery questions like


Is support contact information provided?
v1.2

FAILURE.QualityFrog.com

I ask Recovery questions like


Does support know how to fix the problem?
v1.2

FAILURE.QualityFrog.com

I ask Recovery questions like


Does the software guide the user through the recovery process?
v1.2

FAILURE.QualityFrog.com

I ask Recovery questions like


Or is the user left to figure it out on their own?
v1.2

FAILURE.QualityFrog.com

The E leads me to think about the Emotions of users


FAILURE

v1.2

FAILURE.QualityFrog.com

I ask Emotions questions like


What emotions are likely to be raised by the error message?
v1.2

FAILURE.QualityFrog.com

I ask Emotions questions like


Does the error reporting evoke the desired user emotions?
v1.2

FAILURE.QualityFrog.com

I ask Emotions questions like


Does this message enhance user frustration?
v1.2

FAILURE.QualityFrog.com

I ask Emotions questions like


Does this message quiet user frustration?
v1.2

FAILURE.QualityFrog.com

I ask Emotions questions like


Does this message encourage users to use some other product?
v1.2

FAILURE.QualityFrog.com

I ask Emotions questions like


Does this message cause confusion?
v1.2

FAILURE.QualityFrog.com

Asking these types of questions can help turn FAILURE into success

v1.2

FAILURE.QualityFrog.com

The next time you encounter an error message

v1.2

FAILURE.QualityFrog.com

The next time you encounter an error message Test it!

v1.2

FAILURE.QualityFrog.com

The next time you encounter an error message Question it!

v1.2

FAILURE.QualityFrog.com

Functional Appropriate Impact Log UI Recovery Emotions


v1.2

Try the FAILURE mnemonic

FAILURE.QualityFrog.com

Functional Appropriate Impact Log UI Recovery Emotions


v1.2

And let me know how it works for you


FAILURE.QualityFrog.com

Functional Appropriate Impact Log UI Recovery Emotions


v1.2

Ben Simo Ben@QualityFrog.com


http://FAILURE.QualityFrog.com

Copyright 2007 Quality Frog

You might also like