I recently read an e-book from Elisabeth Hendrickson, entitled “Exploratory Testing in an Agile Context” (definitely worth a read if you havent already). In this e-book, Elisabeth uses an example of a test that James Bach performed called “the shoe test”.
For those of you who have never heard of the shoe test, the idea is that when testing of a system, you take off your shoe (left or right – either will do!), and you place it on your keyboard… The anticipated outcome should be that the system handles the continuous input of multiple keys on the keyboard for the duration, and doesn’t blow up!
There are many questionable variables though:
– Should the shoe be strategically placed on the keyboard or randomly placed?
– For how long do you leave the shoe (seconds or minutes)?
– Does the size of shoe matter (a child’s shoe compared to my big size 12 boat shoes 🙂 ?
Elisabeth makes the point that “James doesn’t put a shoe on the keyboard because he’s trying to come up with wacky random stuff. He does it because he has noticed that some software exhibits bad behavior when it receives too many key inputs at one time”.
This is a valid point. It highlights that this test is actually a valid test. I get the fact that if you hold down a key for ages, or if you keep 18 keys pressed down at once, then the system might not handle that correctly. So this is a test that would potentially check for these types of errors, so it is valid…
I am still inclined to question this test though… Is it actually valuable?
I’ve spoken about this test to many people, speaking to developers, testers and even non-IT people about it to get their opinion about it.
There were many contrasting opinions about whether the test is valuable or not – most of the developers automatically produced the standard “no-one would ever do that!?!!” response (as expected). Even most of the non-IT people questioned whether I was serious and laughed. One developer even commented saying that the shoe test confirmed for them that “exploratory testing was just messing around”, which was infuriating…
It only seemed to be the testers that thought that the shoe test might add value in finding defects…
So this got me thinking about how performing tests such as this, or even just telling stories of tests such as the shoe test to non-testers might actually be making things harder for ourselves by damaging the reputation of ET.
Take, for example, you are communicating your testing with your customer. If you told them about the shoe test, what do you think they will say? And what kind of interpretation would they have of your testing?
Even if you did find a bug and you raised it, do you believe that it would be accepted by the developers and the project manager?
For me, the test itself is valid, like I said before, but it doesn’t seem valuable (or at least valuable enough for me to actually run the test over other tests). Additionally, it seems as though my peers and colleagues outside of the testing departments might not take me seriously with this test. In fact, it might give them a bad impression of exploratory testing…
Even the bugs found by the shoe test might be vetoed by all. After all, with the systems which I currently test, if a bug was found that was caused by holding 20 keys down on the keyboard for 3 minutes, then it would most likely never get fixed because of it being such an extremely rare situation…
But what do you think? Do you think this test is valuable? Would you ever perform this test? Or have you ever performed this test? How was it received?