Scene: In a restaurant, a family of 3 arrived – parents and a toddler. After ordering the most favourite pizza, the family was relaxing and toddler started playing with the chopsticks laid on the table. He liked them and decided to eat his dinner using chopsticks only.
He announced his desire and parents, busy in talking, agreed upon it. When the pizza was served, the toddler started using chopsticks and was failing a number of times in getting the pizza in his mouth. Suddenly the parents noticed it and ordered the toddler to not use chopsticks. Toddler did not convince as the parents had already agreed upon his desire earlier. When parents started teaching about eating pizza with knife and fork only, toddler questioned the belief, but I want to eat it with chopsticks only and why is it wrong? And while using chopsticks when he was not able to eat his favourite pizza, he got impatient and ultimately threw the chopsticks away and decided to not eat pizza as well. Parents, frustrated too, could not do anything and the family dinner time turned up as the worst time of the day.
Now, replace some words in above para as following and re-think about it:
Parents: Project management team including Business analyst, salesperson, development manager and architectural team.
Toddler: Customer / end user
Pizza: product/application
Chopsticks: mistake
The most favourite application is only favourite until the user does not make mistake and does not see the worst behaviour of the application. Once experienced, the user never comes back to the application. And therefore, as a tester, it is very much necessary to understand user’s mindset, how he is expected to behave, what wrong he can do with the application, what could be the worst mistake made and much more.
Most of the time, I have been asked in forums as well as by in-house team members about how to replicate user’s experience while testing. My answer has always been simple – Be a user 🙂
Although it’s easy to say than implement, it’s a right time for the software testing industry to move into the direction of revolution where user experience and feedback is more important than anything else.
How a Tester can think as an End User?
Presenting hereby some typical examples of behaving as an end user and finding surprises, I have observed during past few days:
#1) While testing a date field, when a user selected or manually entered correct date value, it worked fine. But when user ended up entering a totally incorrect value like 12/00// and clicked on OK, he was presented with an error message about invalid date value.
Now user does not correct the date but refreshes the page. What should happen? Well, many of you can guess what should happen, but can you think of what happened with the application? After refreshing the page, a user was presented with a following and the same value was saved in a database also.
So…..the tester has replicated the user over here, agreed?
#2) While testing an application, where the workflow is to submit various forms in special sequence if followed the order, it worked fine. But what if the user tried to go back to #3 form, from #5 form?
Again, rather than thinking about what should happen, let’s see what happened…
Tester was dumbfounded but felt pride in turning up himself as user…..Agreed?
#3) After successful login, user clicks on back button of the browser. Again, let’s see what happened…
The credentials should have cleaned up but it did not. Moving further, on this Login page, a user clicks on Forgot Your Password link. Be clear that user had already logged in and had been on login page by clicking the back button of the browser. The click on Forgot Your Password navigated the user to the home page of the application.
Tester turned to user…..Agreed?
#4) After observing the URL for search page (http://x.x.x.x:y/#/Search) of application, tester modified the URL as http://x.x.x.x:y/#/Search/test? and can you think what would have happened?
Well, the application crashed and again tester turned to user…..I hope you won’t disagree.
Conclusion
I guess, via these examples, I have conveyed enough of what I wanted to.
Really, testing does not mean to check the workflow of application and neither it means to break the application but it certainly means to check user’s experience even when he makes the mistakes.
About the Author: This post is written by STH team member Bhumika Mehta. She is a project lead, carrying 10+ years of experience in software testing. She appreciates good ideas and innovations and risks too. And of course hates monotonic work, people and environment.
And yes, let’s turn the tester in ourselves to end user….Agreed? 🙂
So…..we would like to hear more examples like these from you and would like to have your opinions too.
Hi ;
I have ISTQB exams question papers with its answers . if interested contact me.
Its really help you to clear ISTQB exam.
Good article.
@Praj: I am preparing for ISTQB. How can I get the material?
@Praj:I am also preparing for ISTQB. How can I get the material?
@Praj:I am preparing for ISTQB. How can I get the material?
Good
Really good article.
Very good article. BTW when did toddlers start eating pizzas?
Gr8 Article and scenarios.
1st scenario I was found in my testing of 1 project and fixed now. When you think like End user’s then all scenarios are covered.
@Praj Can you please send me the ISTQB exams question papers with its answers. ?
You guys are posting wonderful articles? I allways couriously waiting for next post such a interesting articles.?
Wonderful team work? because of your postings we gained lot of knowledge .
Thank you for software testing helping .com
Regards,
Devi.
Good article and scenarios
Good article & Scenarios
Thanks for these thoughts and examples, Bhumika. I especially like the analogy at the very beginning; that *is* very much what can happen when a user becomes frustrated by their app/website. Your article reminds us all that following the requirements and test plans are extremely important, but that we are not finished testing when we complete those steps. We still need to spend some time with the site/app, thinking like a user might, and exploring that way.
it is really useful for testers.
Thank you for sharing with us
good article. @praj: I am also preparing ISTQB. can i get the material.
I like most of your articles bhumika,, but this one i do not agree much. THough it stsrtaed with a nice example but at the end we are talking about negative cases
instead of what user will do.
Becoming a user is like testing end to end scenario and doing some casual mistakes. though some of your points like refreshing a page is like end user, but coming back and clicking
on forgot password is not making us user.
For becoming and end user, you should forgot the requirement for some time and treat it like you got to use or explain that thing to some other person, will he be able to understand the way its behaving
then you may think from someone else perspective
I am also preparing ISTQB. can i get the material.
All Readers,
Thanks for the positive response and glad that the post was informative.
@Praj,
Please do not put in comments , which are irrelevant to the post. Looking for co-operation.
Thanks!!!
@Praj Can you please send me the ISTQB exams question papers with its answers. ?
Good articel!.
@@Praj Could you please send me the ISTQB exams question papers with its answers
Wonderful article, please do i write write any of the testing exams, since i have a new role as quality assurance officer and i want to excel in the new position . please help
@Praj Can you please send me the ISTQB exams documents & question papers with its answers. ?
@Praj please send me ISTQB Exam doucments & question papers i have to clear exam Aug 2015 if u send it is really helpful for me
Please send me the ISTQB Exam document question and answers.
I would be very obliged to you.
@Bhumika Mehta This article is very good and more useful for me thanks
Article is well Written!! Kudos @ Bhumika !
Also i want to add a point & agreed ti @#16 gaurav khurana’s point, that to become a End User, you just need to forget the requirement and just Play with application and logged down the Unexpected behaviors as an Tester :-).
Article is well Written!! Kudos @ Bhumika !
Also i want to add a point & agreed to @#16 gaurav khurana’s thought, that to become a End User, you just need to forget the requirement and just Play with application and logged down the Unexpected behaviors as an Tester :-).
Very well explained example. Clear and easy to understand.
Many Thanks.
Nice article ,clear and precise
nice explanation with good examples and please given some more examples which are related to real life
bhoomika very good explanation like spoon feeding, i like all ur postings, thnks for sharing u r experience with us 🙂
Hopefully some constructive Feedback is welcome, too.
Honestly I don’t see why the tester turned to be a user here. A tester would do exactly the same as the “user” did in your scenarios. (equivalence classes: valid invalid values for the date. statemachine for the Login. Intuition for the path.)
Trying to become a “user” raises the question “What kind of a user are you?” Maybe you are an administrator that knows the AUT and works a lot with shortcuts and entering links. But maybe you are an old lady that has never got in touch with PCs and clicks wildly on everything that seems to be a button. The first person will discover different bugs than the second.
Look into “personas”. This is how you can really think like a user. …my two Cent.
good one
@Praj Please send me the ISTQB question with answers to my mail id.
Good one.
Those who have preparing for ISTBQ exam. Lots apps available on play store for sample exam paper. All the best.
good one.
Thank you so much for posting this article.
It really helps me a lot.