Example Story: Picture a family of 3, made up of two adults and a young child, dining at a restaurant. They order their favorite pizza and begin to relax while waiting for the meal. The youngster becomes intrigued by a set of chopsticks on the table. The child’s curiosity turns into determination to eat dinner only with the chopsticks.
Amused by the idea, the parents, engrossed in their conversation, agree and don’t think much more of it. However, when the pizza arrives, the child faces difficulties in using the chopsticks to eat the pizza. Despite their initial agreement, the parents tell the child to stop using the chopsticks. However, the child objects, reminding the parents of their initial agreement. Despite the parents’ attempt to teach the correct way of eating pizza with cutlery, the toddler adamantly challenges the necessity of using cutlery. Eventually, their struggle to eat their favorite meal with chopsticks leads to frustration, and the meal ends up being thrown away, this leading to a potential joyful family dinner turning into a chaos.
Recommended IPTV Service Providers
- IPTVGREAT – Rating 4.8/5 ( 600+ Reviews )
- IPTVRESALE – Rating 5/5 ( 200+ Reviews )
- IPTVGANG – Rating 4.7/5 ( 1200+ Reviews )
- IPTVUNLOCK – Rating 5/5 ( 65 Reviews )
- IPTVFOLLOW -Rating 5/5 ( 48 Reviews )
- IPTVTOPS – Rating 5/5 ( 43 Reviews )
Let’s try to correlate this example with software testing while replacing the main elements as follows:
Parents: Composed of salespeople, business analysts, development managers, and architectural teams.
Toddler: Interpreted as the customer/end user
Pizza: Represents the software/product
Chopsticks: Stands for mistake
From the perspective of the end user, a product remains ideal until they encounter a mistake that triggers a bad user experience. This may discourage the user from returning to use the product again. Hence, as a software tester, understanding the thought process of the user, their expected user experience, possible blunders with the software, and the potential ramifications of these mishaps is crucial.
Often in discussions and professional forums, colleagues question how to simulate the user’s experience in testing. My response is always straightforward: Embody the user 🙂
Although it is easier said than done, it is imperative that the software testing industry prioritizes user experiences and their respective feedback.
Emulating the Thought Process of an End User as a Tester
Here are some common instances of acting in the role of an end user and uncovering unexpected outcomes which I have recently come across:
#1) In testing a date field, a user inputs a valid date and the system accepts it. However, upon entering an erroneous date such as 12/00// and clicking OK, the system displays an error message.
Now, let’s suppose the user doesn’t correct the date and instead refreshes the page. What happens then? Quite a few testers will be able to guess, but many wouldn’t anticipate what actually occurred. After reloading the page, the user sees the same incorrect date and it is stored into the database.
Doesn’t this prove that the tester effectively duplicated the user’s experience?
#2) Testing an application with a specified workflow of submitting numerous forms in a particular order worked smoothly. What if the user decided to go from form #5 back to form #3?
Instead of hypothesizing the outcome, let’s look at the real scenario…
Do you agree that the tester, although surprised by the findings, accurately mirrored the user’s behavior?
#3) If a user clicks the back button of the browser right after logging in, what’s expected to happen?
Despite being expected to clear the credentials, they were not. Moreover, once logged into the website, if the user clicked “Forgot Your Password”, they were redirected to the landing page again.
Wasn’t the tester successful in experiencing the application through the eyes of the user?
#4) Given the login URL (http://x.x.x.x:y/#/Search) of an application, a tester altered the URL to http://x.x.x.x:y/#/Search/test?. What do you think occurred next?
The application crashed, signifying yet another instance of the tester adopting a user-oriented perspective… I trust there is no disagreement on that.
I hope my experiences shared above have successfully conveyed the message I aim to pass on.
Testing involves more than just verifying a software application’s workflow or attempting to break it. Testing is centered around gauging the user’s experience even when they make mistakes.
About the Contributor: The article was written by STH team member Bhumika Mehta, a seasoned project lead with over 10 years of experience in software testing. She appreciates innovative ideas, takes calculated risks, and has a disdain for monotonous tasks, people, and environments.
So… should we, as testers, start embracing our inner end user? Agreed? 🙂
We look forward to hearing more examples and your views as well.