The reason why software defects and errors are called ‘bugs’ is well known: when the giant computers of the 1950s and ‘60s were in use, moths and other insects would often fly into and get trapped between the innumerable working parts and cause systems to malfunction.
The term ‘software bug’ is so prevalent now that we no longer tend to think of actual insects when we use it. But it may be helpful to return to the metaphor when thinking about software testing and how best to find bugs on apps and websites.
In a way, a piece of software is like a patch of earth: on the surface, there may be a few bugs crawling around (ants, perhaps) that are relatively easy to spot. When testing a site, testers don’t have to spend a long time looking for these bugs – they quickly become visible the moment the software is scrutinised.
But if you were to take a pitchfork and churn up some of the soil beneath the surface of that piece of earth, you’d find a multitude of worms, beetles and other insects that were previously concealed. And if you were to dig deeper still, who knows what you’d find lurking beneath the various layers of earth?
So it is with testing. The more effort a tester puts into searching for bugs on a site, the ‘deeper’ they go into it, the more likely they are to find critical bugs that weren’t at all apparent from a surface appraisal.
How, then, can testers best be motivated to dig deeper when finding bugs?
The Crowdsourced Testing Model offers an innovative solution here. Many software testing companies that use Crowdsourcing pay their testers per bug, rather than for the amount of time spent testing, and give bugs different values depending on how badly they affect user experience.
This means that testers are rewarded with higher pay-outs for digging deeper to find the more serious bugs. The fact that the testers within a Crowdsourced community are also effectively in competition with one another also compels testers to find the most valuable bugs faster, leading to increased levels of concentration and ingenuity.
By ascribing values to bugs, based on the impact those bugs would have on a client’s software in a live environment, Crowdsourcing is able to ensure that, along with the ants, more worms and beetles get churned up as well.