Chances are, your AUT probably has buttons on the UI somewhere. If so, those buttons trigger actions. A common oversight is to not handle multiple actions being triggered at nearly the same time.

Testers and devs are familiar with standard UI controls. We know buttons don’t generally require double-clicks. However, many users don’t have this instinct. These users double-click everything, even buttons. Become one of them!

My AUT had a bug that actually allowed users to rapid-fire-click a generate invoice button, and get duplicate invoices. Ah…yikes.

Here is the bread and butter test:
Get your mouse over a button that triggers an action. Get your finger ready. Click that button multiple times as quickly as you can. Now go look in the DB, error logs, or wherever you need to look to determine if multiple actions where triggered inappropriately. No bug? Try it a few more times. Or try getting the focus on the button and using a rapid-fire [Enter] key.

Got any variations on this?

9 comments:

  1. abuse the crayon said...

    a post dedicated pour moi. i feel special. not really.

    seems this would also be a good scenario to use automation to rapidly click on something for those testers whom aren't as quick on the trigger finger.

  2. Eric Jacobson said...

    Yeah but then the dev will say "that's not fair, users can't do what automation can.". And they would have a good point.

    In fact, when it comes to UI automation, great pains are taken by the test engineer to add random wait time, syncs, and other tricks to better simulate humans.

    But I guess, to your point, a good tester could first determine the fastest humanly possible click time, and pass it into the automated test.

    I wish someone would pay me to do this. It sounds much more fun than the testing I'm about to do when I click the "Publish Your Comment" button below. Oh, I'll see how fast I can click it. Hold on...

  3. Eric Jacobson said...

    Yeah but then the dev will say "that's not fair, users can't do what automation can.". And they would have a good point.

    In fact, when it comes to UI automation, great pains are taken by the test engineer to add random wait time, syncs, and other tricks to better simulate humans.

    But I guess, to your point, a good tester could first determine the fastest humanly possible click time, and pass it into the automated test.

    I wish someone would pay me to do this. It sounds much more fun than the testing I'm about to do when I click the "Publish Your Comment" button below. Oh, I'll see how fast I can click it. Hold on...

  4. Eric Jacobson said...

    Yeah but then the dev will say "that's not fair, users can't do what automation can.". And they would have a good point.

    In fact, when it comes to UI automation, great pains are taken by the test engineer to add random wait time, syncs, and other tricks to better simulate humans.

    But I guess, to your point, a good tester could first determine the fastest humanly possible click time, and pass it into the automated test.

    I wish someone would pay me to do this. It sounds much more fun than the testing I'm about to do when I click the "Publish Your Comment" button below. Oh, I'll see how fast I can click it. Hold on...

  5. Eric Jacobson said...

    Yeah but then the dev will say "that's not fair, users can't do what automation can.". And they would have a good point.

    In fact, when it comes to UI automation, great pains are taken by the test engineer to add random wait time, syncs, and other tricks to better simulate humans.

    But I guess, to your point, a good tester could first determine the fastest humanly possible click time, and pass it into the automated test.

    I wish someone would pay me to do this. It sounds much more fun than the testing I'm about to do when I click the "Publish Your Comment" button below. Oh, I'll see how fast I can click it. Hold on...

  6. Eric Jacobson said...

    Yeah but then the dev will say "that's not fair, users can't do what automation can.". And they would have a good point.

    In fact, when it comes to UI automation, great pains are taken by the test engineer to add random wait time, syncs, and other tricks to better simulate humans.

    But I guess, to your point, a good tester could first determine the fastest humanly possible click time, and pass it into the automated test.

    I wish someone would pay me to do this. It sounds much more fun than the testing I'm about to do when I click the "Publish Your Comment" button below. Oh, I'll see how fast I can click it. Hold on...

  7. Eric Jacobson said...

    Yeah but then the dev will say "that's not fair, users can't do what automation can.". And they would have a good point.

    In fact, when it comes to UI automation, great pains are taken by the test engineer to add random wait time, syncs, and other tricks to better simulate humans.

    But I guess, to your point, a good tester could first determine the fastest humanly possible click time, and pass it into the automated test.

    I wish someone would pay me to do this. It sounds much more fun than the testing I'm about to do when I click the "Publish Your Comment" button below. Oh, I'll see how fast I can click it. Hold on...

  8. Eric Jacobson said...

    Awesome. Found a Blogger bug.

    Blogger gave me this error:

    "Conflicting edits
    There was more than one attempt to edit this resource at the same time. This may have been because you double clicked on a link or a button or because someone else is also editing this blog or post."


    However, they took my post 6 times.

  9. Alex said...

    Hah! Awesome!



Copyright 2006| Blogger Templates by GeckoandFly modified and converted to Blogger Beta by Blogcrowds.
No part of the content or the blog may be reproduced without prior written permission.