I Found a Bug, What Next?

Log it.

There, that was a simple blog post to write.

Well, some testers think it’s that simple, but there’s a more useful approach. To help remember it, use the RIMGEA testing mnemonic coined by Dr. Cem Kaner: Replicate it, Isolate it, Maximize it, Generalize it, Externalize it, And Say it Clearly and Dispassionately.

1. Replicate It

Is the bug reproducible? If it’s a typo on the welcome page, that’s an easy one. Otherwise, make sure you can reproduce the issue. Is the login screen totally broken, or is it because you were using a user name of “Mr Tester%ForeignChæracters”?

Making sure it can be reproduced and you have the details nailed down can stop the ping-pong of “works on my machine” when the developer tries to reproduce your broken login bug by using an user name of “Fred”.

2. Isolate It

Having reproduced the problem, can you find a way to make it happen in fewer steps? Does it really need 15 steps, or can it be done in 3?

3. Maximize It

Can it be made more serious? “Login screen accepts special characters” doesn’t sound that serious of a bug, but “system allows user to create names that delete the database” is one that might make people pay more attention.

4. Generalize It

Go on a few steps. “Error message for an invalid image upload is misspelt” sounds trivial. The developer fixes it and makes a new release. But what if you then find that, after dismissing the error message, the system is frozen. If you’d gone on a few more steps when you first found this bug, then this cycle would not have been wasted.

5. Externalize It

Does it exist elsewhere? Can it be more general? Try to avoid the cycle where Bug A is fixed on Screen 1, you test the new version and find a variation of the bug on Screen 2.

6. And Say it (Clearly & Dispassionately)

Log the bug. If you need info on how to report bugs effectively, read Kaner’s “Bug Advocacy: How to Win Friends, and SToMp BUGs”.

7. Remember it!

This is my addition. After working on a range of apps, you’ll soon have a lot of different things to try out. And when the new project has an alert dialog, you’ll remember to scroll the screen first before making the dialog appear to check that it appears on-screen and not off.

What steps do you follow when you find a bug? Let me know in the comments.