Bugs Beneath the Surface

Better Software Magazine
Volume-Issue: 
2000-03
Summary:

Brian Marick uses two bugs to illustrate a small, but valuable, test design tip: Try the next thing that a user would try.

The great naturalist Charles Darwin published four books on barnacles while working on his theory of evolution. He knew an enormous amount about the small details of differences between barnacle species. Did that knowledge contribute to his theory of evolution? Opinions vary. I like to think it did. I like to think of the humble barnacle leading to a great theory, just as I like to think of the humble coral polyp building Australia's Great Barrier Reef—and in the same way I like to think of many small lessons learned from humble bug reports aggregating together into a tester’s expert knowledge.

So, in that spirit, let's look at two simple bugs that demonstrate a principle many testers overlook.

The First Bug
I was once testing a product with password protection. You could change the password, in a dialog box that looked something like Figure 1.

As is common in password entry dialogs, everything you type is echoed as an asterisk. You have to give the new password twice; without that confirmation, you might easily change the password to something you didn’t intend.

One of the things I tested was whether a password change would be rejected if the new password typed was different than the confirmation password. Suppose that the current password was something imaginative like "first." In the new password text box, I typed "second." In the confirmation text box, I mistyped it as "secod."

The result was a popup dialog telling me to try again.

Although the program seemed to work, a tester should always ask, "what's the next thing a user would do?" and see if that works. Well, if a user is trying to change a password and makes a typo, she's going to try again. Most likely, the next time she won't make a typo.

So I tried that. I typed in "first," "second," and "second." Oddly, I got the same "try again" popup. Hmm...had I again mistyped the new password, unintentionally this time? I tried once more, this time even more carefully. Again the popup.

So I tried that. I typed in "first," "second," and "second." Oddly, I got the same "try again" popup. Hmm…had I again mistyped the new password, unintentionally this time? I tried once more, this time even more carefully. Again the popup.

It turned out that my first attempt actually had changed the password to "second," even though the popup said it hadn't! Thereafter, each time I typed in "first" as the current password, the system rejected me.

A real user would have probably given up in confusion after a few tries. Then, the next time she tried to log on, she wouldn't be able to. Her password had been changed!

This could be a problem for the poor customer service representative.

Customer: My password doesn't work any more!

Rep: Did you earlier try to change your password and fail?

Customer: Uh, yes.

Rep: Do you remember what you tried to change it to? Try typing that as your password.

Customer: (after some argument) It didn't work.

Rep: (thinks: Uh oh, she mistyped the new password, not the confirmation password. They are not paying me enough for what's about to happen. )

(Clearing his throat) Um, could you try all the possible ways you could have mistyped what you tried to change it to?

The Second Bug
Here's a bug in prerelease version 0.7.6 of the AbiWord word processor. (Thanks to Robert Sievers for sharing this with me.) As you would expect from a word processor, there's a Paragraph dialog box, shown in Figure 2 (on the next page).

Notice

File: 
AttachmentSize
Smzr1XDD6481filelistfilename1_0_0.pdf111.18 KB

About the author

Brian Marick's picture
Brian Marick

Brian Marick has worked in testing since 1981. He concentrates on testing in Agile projects. Brian founded Testing Foundations: Consulting in Software Testing in 1992. He is the author of The Craft of Software Testing and Everyday Scripting with Ruby.

Upcoming Events