As software testers, we have a lot of different things to think about. We need to test new features and existing features. We need to make sure different features work correctly together. We need to run manual tests and make sure that our test automation is running correctly. And we need to test on different browsers and platforms.
Because of this, it’s often easy to get bogged down in our day-to-day work and forget that the whole point of our testing is to make sure that our end users have a good experience with our product. This point was really driven home to me recently when I had an experience as a customer. Here’s my sad story.
I was making a change to a financial account, and the change required that I fill out an online form that was several pages long. I took the time to fill out the entire form, and when I got to the end, there was a Submit button. I clicked the button, and…nothing happened.
I was hoping this was just a fluke, so I waited a day and tried submitting my form again. No luck. Then I tried a different browser. No luck. Then I submitted a bug report on the company’s website and waited a few more days. I tried the Submit button again, and still nothing happened.
Then I called customer service. I spent an hour and a half on the phone talking with four different representatives: two were customer service reps and two were tech service reps. The service reps told me to try all sorts of things, including rebooting my router, which seemed like a very odd suggestion to me. Finally the last customer service rep told me there was nothing they could do; I was going to have to print out the form and fill it out manually, which was a further waste of my time.
Ultimately, it turned out that the problem was that I was filling out the wrong form for my account type. But where was the validation for this? When I started to fill out the form and I added my account number, there should have been some validation that determined that I was using the wrong form and returned an error telling me that. Instead I wasted hours of my time trying to submit the wrong form.
So what can we learn from my experience? The testing team at that financial institution probably has hundreds of tests that exercise the functionality of this form and other forms. The testers might be tempted to say, “It’s just one button”. But to me, the end user, this one button represented hours of aggravation and wasted time.
The moral of the story is to remember to think about customer workflows when you are testing. What are the customers doing when they interact with your application? If you don’t know, talk to the Product Owners at your company and find out! What kinds of things do the customers typically do wrong? How can you help the customer via the application when they do something wrong?
One button seems like a little thing when you have so many things to test, but to your customer, that button could mean everything.