After hours of work and effort, turning coffee into code and pulling all nighters to complete a project, it is time to submit the developer’s baby to QA testers. We’re not here to tell you how cute and adorable it is.
Who’s to judge?
You would think the best person to know if a product works is the one who actually created it, right? Wrong. Is the end user who has the final word, so before we deliver our product it needs to be tested from the user point of view.
Of course this doesn’t mean the developers are completely out of the equation; their knowledge is needed for the Unit Testing level to make sure the code they wrote actually works. Problems usually appear when it comes to the final product. All this knowledge gets in the way. It becomes a big obstacle in order to test different features and functionalities. Developers already know how a product works and what the user is supposed to do, but does the user know? is the product clear or usable enough for someone discovering it for the first time?
Of course you know, you made the thing!
Many times I’ve found that the most recurrent mistake developers make is not letting the user know what is happening or why something failed. This is because they already know their way around a product and fail to realize not everyone does as well.
For example, a long time ago before we realized the error of our ways, I encountered certain error on one of our projects one of our developers was working on. The developer’s reaction to this was “that’s a problem with the cookies, just delete them and try again”, this was a recurring problem and the answer was always the same.
Of course I had the developer next to me in the office explaining this but there was nothing on the site guiding the actual user, and more important: Would the user be willing to go through this process to solve the problem?
Seeing how people have come to expect instant results from everything on this new era… the answer is probably not.
The way I see it, there are two options:
- Let the user know what you expect them to do (Clear instructions or warnings, friendly error messages, etc).
- Make things simpler and foolproof, find a way to get rid of extra steps for the user.
Should the QA testers have zero tech knowledge?
As long as the tester maintains an objective user point of view, a little tech can be useful in order to know what’s possible and what might be impractical at the moment of pointing out flaws or making suggestions. Actually, a little tech knowledge can even improve the teamwork interaction in a way that the tester can pitch in with ideas without being too invasive to the developer’s scope of work.
Great minds can over think
Not only at work but in my personal life I’ve been surrounded by software engineers and developers, and the way they can over think a simple situation still baffles me. Believe it or not, I’ve seen engineers incapable of solve a simple sum or subtraction in their heads because they’re so used to complex math in college.
In any given project there comes a point when we’re so immersed on a problem, reviewing it over and over again, we need a fresh point of view or new angle from someone else.
Here’s an example:
We worked on a project with role based registrations. During my tests I found a way to get to a general sign up form which wouldn’t ask you about the role you wanted at any point. This would create an error causing the site to crash. When I talked to the developer about it, he began talking in tech terms I don’t even remember to be honest, trying to figure out how he could make it work. But since my coding knowledge is rather limited I stuck to the simple elements I know: “What about adding another field to the form with a drop list?” His answer? “Oh… right”.
Technology grows at a vertiginous speed and is at hand for everyone more than ever. The same person who used to do homework on the old typewriter can now chat everyday with family living in another country using a smartphone, and probably the new generations are well aware of the struggle this people have adapting to new tech (Since we’re the ones teaching our parents how to “be on the Facebook”).
Even if the product you’re making isn’t targeted to this group, there is great value in being prepared for the worst case scenario. If you think of it in a way even the less technological person can use it, the obvious result will be everyone could use it.
So next time you are developing or testing your product, or even something already existing, ask yourself:
My 7 year old nephew can handle this, but could grandma?