prepare to read fast v1.2 FAILURE.QualityFrog.com Now that I have your attention,
v1.2 FAILURE.QualityFrog.com You’re 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 lick OK…C
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
v1.2 FAILURE.QualityFrog.com I use software
v1.2 FAILURE.QualityFrog.com I test software
v1.2 FAILURE.QualityFrog.com I question software
v1.2 FAILURE.QualityFrog.com I code software
v1.2 FAILURE.QualityFrog.com I code software that helps test software
v1.2 FAILURE.QualityFrog.com I talk about software
v1.2 FAILURE.QualityFrog.com I write about software
v1.2 FAILURE.QualityFrog.com I think about software
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, It’s not about the software
v1.2 FAILURE.QualityFrog.com It’s 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 mnemonic’s 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 F AILURE
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 don’t 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 F A ILURE
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 FA I LURE
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 user’s 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 FAI L URE
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 FAIL U RE
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 FAILU R E
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 FAILUR E
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 Try the FAILURE mnemonic F unctional A ppropriate I mpact L og U I R ecovery E motions
v1.2 FAILURE.QualityFrog.com And let me know how it works for you F unctional A ppropriate I mpact L og U I R ecovery E motions
v1.2 Copyright © 2007 Quality Frog Ben Simo F unctional A ppropriate I mpact L og U I R ecovery E motions