Monday, March 14, 2011

Test Like A User

Often, for a developer to be good, one must think like a user. Same goes to the testers.

So, what it says, before you start writing your test cases, you must think, "If I am one of the users, I would want something to work like this. It must not allow me to proceed if I ever mistakenly committed certain things. Best if it can give me some alert (warning).". I know many would say to me, this is a user requirement my friend, and testers are testing the product based on the requirement! Well, yes and no.

Do you how many good requirement surfaced during test phases. Users may have overlooked, and testers is to tests whether that is going to be painless experience for a user other than the workability. I know many users created many requirements which eventually they themselves find it not useful and painful to use. They may have mistaken one or two steps which unfortunately were not noticed.

As a tester, you must ensure you know the context of the topic you are testing. If it involves Integration Layer with Integrations testing, you must ensure you understand how this integration is done. Why it was done like that (the flows and steps) and can it be better?

Many times, the tester came back to the developers, and asked things like: -
"Why when I'm migrating my Database from the console application, I need to tell which server I'm migrating to and what new name my database is going to be?"

"I'm testing on a command to restore a database which optionally takes a database synonyms fixes. Why must I specified the synonyms when I'm restoring it to a different database name?"

I often ask my testers right after they asked questions. Such as, do you know what is a database migration? Do you know what is a synonyms?

Sadly, the answers I often get from the testers are "No" or something like, "I'm not certain" or telling me something that is totally irrelevant. I'm just thinking, how can you do the tests as a tester if you don't even know what you are going to expect and how it is going to behave. Worst when one can't even tell me what errors can they expect as a tester.

Testers are not a dump "machine" who runs routine works and verifies the outcome with a predefined results only. It is so much broader so the testers can act like a user and telling the developers/users/BA or even the genuine users themselves with something like this: -
"Look, what is done is good, but I certainly think as a user I would want something additional to make it more useful (usability) and informational (support). I understand this is not as important compared to many other features, but certainly we need to be more painless to use it."

Hey testers, wake up. Stop your routine boring tasks of matching results. Try step out of the box and thinking like a genuine user and use the product like you are owning one later. You can make a different!

No comments:

Post a Comment