We had a seemingly easy feature to test: users should be able to rearrange columns on a grid. My test approach was to just start rearranging columns at random
My colleague’s test approach was different. She gave herself a nonsensical user scenario to complete. Her scenario was to rearrange all the columns to appear in alphabetical order (by column header label) from left to right. Pretty stupid, I thought to myself. Will users ever do that? No. And it seems like a repetitive waste of time.
Since I had flat-lined with my own approach, I tried her nonsensical user scenario myself…figured I’d see how stupid it was. As I progressed through the completion of the nonsensical user scenario, it started opening test case doors:
- I’m getting good at this rearranging column thing, maybe I can go faster…wait a minute, what just happened?
- I’ve done this step so many times, maybe I can pay more attention to other attributes like the mouse cursor…oh, that’s interesting.
- There’s no confusion about what order I’ve placed the columns in, now I can easily check that they remained in that order.
- I’m done with letter “E”. I think I saw a column starting with a letter “F” off the screen on the far right. I’m going to have to use the horizontal scroll bar to get over there. What happens when I drag my “F” column from the right to the left and then off the screen?
Now I get it! The value in her nonsensical user scenario was to discover test cases she may not have otherwise discovered. And she did. She found problems placing a column halfway between the left-most and right-most columns.
A nonsensical user scenario gives us a task to go perform on the system under test. Having this task may open more doors than mere random testing.
"Random" in a scenario description always makes my inner tester twitchy.
"Arbitrary", in my experience, is just as effective, but more easily reproducible.
I really like to read your blog in which I came to know that you have more self-confidence which is very good and you also improved it that is sign of success.