Because human testers are human too!
Thanks for reading and welcome to another of my strategy rants on Medium.com! If you don’t know me, my name is Sergio Flores and I’m the Tech Lead at SAFT.Industries, where I help founders and entrepreneurs execute their business vision.
Today I’d like to share with you my views on the topic of quality in software. Now, I believe there are two levels of quality that we have to address when producing apps:
- Correctness. The level of having the software do what is supposed to do, and
- Suitability. The level of having the software being useful for what we intend it for.
The first case, Correctness, is simply about not having errors, not in presentation, not in operation, not in logic. And there are a couple of tools and approaches that we can implement to reach and appropriate performance here. The first level of defense against bugs is having good coding and design practices, as relevant for our product, afterwards comes the use of automated testing tools, both for the backend logic and for the presentation layer, whether mobile or web. These tools execute pre-defined tasks with the software and compare the results with known “good” results, and are super important in today’s world of micro-services architecture, because micro-services have dependencies, and sometimes, a seemingly small change somewhere, can have unintended side-effects elsewhere, and therefore, we can use the automated tests to detect and correct in time such potential problems.
And finally, we can hire a specific person to carry on manual tests on our app, following a systematic script. More on this in a bit.
Regarding the second case, Suitability, I’d say it’d be really hard to come up with an automated tool that can tell you whether your software solution or design is good enough for the purpose that you created it! Therefore, there’s no other route than to get your apps in the hands of users and have them report back to you their feelings regarding your app.
So, in both cases, you end up needing actual humans to do the testing. The problem is, that if you have in-house, full-time testers, as some people advocate, following a very traditional employment approach to software development, the problem is, your in-house, full-time testers will get burned out. Testing, and testing systematically is a very tiring, boring and ungrateful process, and so I think it’s honestly asking too much for someone to execute hundreds of tests and expect them to do them properly.
The problem is, your in-house, full-time testers will get burned out.
Enter “Crowdsourced testing”! (Cheers)
The way this works, and how we do it at SAFT.Industries, is that we design the tests, and then we pay small amounts of money for each test to remote, online, international outsourcers with the willingness to execute the tests and collect the payment. Because they are voluntarily requesting to do the tests, and because they can choose an arbitrary number of tests to do, we reduce the risk of burnout significantly and raise the bar on the number of tests correctly executed, which is what we need to verify that our app works as expected.
In the same manner, regarding the topic of Suitability, we can select testers with affinity for the product, or some similarity with our end users. We can do that, because we are drawing from a multi-lingual, multi-cultural, international pool of candidates, and we’re not constrained to just the people in our city, willing to come to work for us in our office. So, we take these testers, and we can ask them relevant questions, like:
“What was the first thing you noticed on the page?”
“Was the product recommendation good for you?”
“Did the title of the button immediately conveyed the intended action for you?”
And so on and so forth. Really, at this point, only the available budget limits the level of insights that we can gather from testing.
Finally, one final phase remains. The ever popular “Beta”, where we invite selected real users to try out the product first, before a general release, and, in exchange for their feedback, we give them some perks, ranging from t-shirts, to discounts, to free access and other gifts. Generally, when you have a good product, you will find people enthusiastic about it, and willing to help you out in making it the best it can be.
All right. That’s it for now. Do share your thoughts with me in the comments section below.
Sergio Flores — http://saft.industries