A rumble strip is a strip of corrugated pavement running alongside highways. If you go to sleep and and drift off the road, the wheels of your car hit the rumble strips and that makes the car vibrate with a loud BUR-R-R-R-R-R. A rumble strip doesn’t damage your car, but it’s an alarming event all the same, because it means that you’re about to have a major accident if you don’t do something to get back on the road.
Programs are like cars driven by notes left by an absent programmer. For testers, hearing the rumble strip means a good bug is literally around the corner.
The rumble strip heuristic in testing says that when you’re testing and you see the product do strange things (especially when it wasn’t doing those strange things just before) that could indicate a big disaster is about to happen. By “strange” I mean behaviors that you are confident the programmer did not intend. For instance, I was testing an input field once and at 23,829 characters all the text turned white. This is a strange bug, but mainly it served as a rumble strip under the tires of the absent programmer. I knew the program was leaving the highway, so I kept pushing with my tests until I got it to crash.
Eric Z. says
Nice site…ill be back
I like the rumblestrip analogy. I use, “my spider senses are tingling.”
Srinivas Kadiyala says
Surprised, the text box doesnt have max length validation – and do really a user enter 23,829 characters ?
[James’ Reply: You are surprised? Bugs and lax design should not surprise you.
A user might enter a lot of things into a text field. It depends on the product and the user.]
Sarvesh says
But sometimes when I do strange tests cases just to check the performance or to understand the behavior, I am almost always asked by the developer, ‘how is a sane human being going to perform such task?’ and they send me the defect back as “invalid defect”.
[James’ Reply: You are suffering, as they are, from the delusion that how YOU found the bug determines how it CAN be found. Perhaps this bug can also be triggered by a simpler and more likely event. You are suffering as well from the delusion that the importance of fixing a bug has only to do with how often it happens or how much damage it does. Another reason to fix a bug is that it’s an opportunity to improve the robustness of the code so that future bugs are avoided. Furthermore, it might be very easy and inexpensive to fix it.
Finally, you seem to have misunderstood the rumble strip concept. The rumble strip is about how a little problem could LEAD YOU to a BIG problem. It’s not about doing weird things or finding weird things.]
Florian says
Hiho,
I started as a Testmanager since three months now. And almost aways when I argue that we need more test cases to cover this and that, he always asks: why … without even caring about the answer.
And then it always gets exhausting to tell him the reason.
But the last time I told him: Because of the Rumble-Strip-Heuristic.
And that was so great because he was so stroked. So thanks for that 😉
Can we add some more of these professional term ? Or maybe there are some pls tell me.
[James’ Reply: I have a lot of them. I teach them in my classes.]