6 Bugs a Crowdsourced Testing Campaign Can Help You Catch
According to some estimates, as many as 25 percent of technology projects fail, with an additional 20 to 25 percent never showing a return. Even when projects are labeled “successful,” 50 percent require massive reworking to succeed.
For software projects, the challenges don’t stop with being successful. In fact, according to experts, there are as many as 750 bugs per 1,000 function points (roughly 50,000 lines of code) when software is released. Of those 750 bugs, at least one is sure to be a show-stopper.
Once software is released, and the maintenance cycle begins, these problems become even worse, with an average of six bugs per function point. Even worse, your chances of catching bugs during the maintenance period is lower – a mere 83 percent – and there’s a seven percent chance of introducing a new bug when trying to fix an old one.
How do you get ahead of these challenges as a solo developer or small team? One recent trend that developers are using to beat the odds is crowdsourced software testing.
According to estimates, 25% of technology projects fail and 750 bugs are found per 50,000 lines of code when software is released.
What is crowdsourced testing?
Crowdsourced software testing is an evolution of the old-style beta testing that many companies still engage in. While companies have relied on beta testing for decades, the results often leave much to be desired. Joel Spolsky, from Joel on Software, has long made the case that beta testing is a waste of time
By contrast, crowdsourced testing involves a structured process with paid testers, teams of specialists who review, duplicate and document reported issues, as well as a project manager who keeps things on track and makes sure the client’s needs are met.
How crowdsourced testing works
When a company or app developer decides to use crowdsourced testing, they are assigned a project manager who will handle all communication between the testers and the client company, schedule testing times and ensuring the entire process goes smoothly.
For companies working with a tight deadline, the project manager can usually coordinate tests within an hour or two of receiving the go-ahead. Conversely, if a project is experiencing delays, the project manager can reschedule testing for when it’s needed.
Once testing begins, client companies can monitor the process and see exactly what the testers are discovering. In addition, the platform will bring any critical bugs to the attention of the client as soon as they’re discovered. Once testing is completed, the client is also given a detailed report of all discovered bugs and issues.
This new method of testing is already helping developers catch and address a number of different kinds of software bugs that would normally be much harder to address. While not an exhaustive list, crowdsourced testing is helping companies solve the following development bugs.
Despite the fact that the mobile world is dominated by two main operating systems (OS) – Apple’s iOS and Google’s Android – fragmentation within those OSs can stretch a development team’s resources to the breaking point when trying to find and eliminate bugs.
To illustrate the point, in August 2015 OpenSignal found there were some 24,093 distinct Android devices on the market, an increase from the 18,796 devices the year before. Add to that the number of different vendors, such as Samsung, Motorola, Sony, LG, Huawei, Google and others, fragmentation becomes a real problem.
In fact, while only 7 percent of Android users were running Nougat – the latest version of the Android OS – as of May 2017, some 90 percent of iPhone users were running the latest version of iOS. Even in iOS, however, there are still issues pertaining to what device the customer is running, whether it is an iPhone or iPad, what screen size it has and the relative performance of the device in question.
For development teams, large and small, testing for each of the myriad of hardware, software and OS configurations can be a near-impossible task. With crowdsourced testing on the other hand, companies can tap into a much larger network of testers capable of testing a much wider variety of parameters than would normally be possible in-house.
In 2015, there were 24,093 distinct Android devices on the market, an increase from the 18,796 devices in 2014.
The WannaCry ransomware made headlines in early 2017 when it infected computers in some 150 countries and brought some industries to a halt. Although the attack’s impact was mitigated by amateurish mistakes by the perpetrators and the discovery of a “killswitch” by a 22-year-old security researcher, the ultimate cost of the ransomware is still expected to reach well into the billions of dollars.
Ultimately, WannaCry took advantage of a security issue in older versions of Microsoft Windows. Although Microsoft had released a security patch to address the problem, many companies had not installed it, leaving them vulnerable to the virus.
While, in this particular instance, the bug was already well-known with a patch already written and waiting to be applied, the damage would have been far worse if the bug was a zero-day exploit – a previously unknown or undisclosed vulnerability. In the time it would have taken to identify how WannaCry was infecting computers, code a patch and distribute it, the virus could have done untold damage.
As much of a nightmare scenario as that might be, it is exactly the kind of security scenario that crowdsourced testing can help companies avoid. By having such a wide and varied source of testing at their disposal, companies can significantly reduce the risk of major, zero-day exploits creeping into their software.
No matter how well a piece of software is designed or code written, errors are a fact of life. Whether the errors are bugs in the software or user mistakes, errors that are not handled properly can mean the difference between the program handling it gracefully or crashing and losing valuable information.
Unfortunately, programmers and software developers often have a very specific workflow in mind when creating software. As the architects of the software, they know exactly how they want it to work, how it should work and how it will work best. As a result, it’s not uncommon for them not to account for edge-case scenarios, or someone who has no idea how the program should or should not operate.
Having a diverse team of testers is an invaluable resource in identifying edge-case scenarios and fool-proofing software against exactly the kind of users that software developers often don’t account for and help developers make sure that potential errors are handled safely and gracefully.
Gone are the days when a single company could dominate the tech landscape with an OS, office suite, development tool or other category-leading program. Thanks to the rise of open source software and ever-more competitive tech startups, even the largest corporations are seeing the benefits of software that plays well with others – even competitors.
For developers, however, this is another area where testing can stretch available resources to the limit. Since in-house developers can rarely account for every possible way the end-user may want to import, export or share data, crowdsourced testing can uncover interoperability issues that might otherwise be missed.
Run-time and performance issues
Because of the myriad of different software and hardware configurations we mentioned earlier, there’s often a real difference between performance in a testing environment and in real-world scenarios.
Crowdsourced testing can help identify those scenarios and improve an application’s performance in the real world where it will need to reside alongside other applications, share resources and continue operating under less-than-ideal circumstances.
The physicist Werner Heisenberg was the first to describe the observer effect of quantum mechanics, wherein the process or act of observing something inevitably changes its state. A Heisenbug is aptly named for Werner Heisenberg, as it describes a software bug that either disappears or seems to change when the programmer attempts to duplicate, study or fix it.
For a computer programmer, there is no bug more difficult than one that cannot be reliably reproduced. By having a large team of testers working on the issue, the odds of being able to determine the specific steps necessary to trigger a bug are greatly increased.
While crowdsourced testing may be a newcomer to the software development scene, it is already proving to be an invaluable resource for development teams, large and small.
Thanks to these benefits, one recent report shows as many as 47 percent of respondents are relying on crowdsourced testing for their development. In the coming years, this number will undoubtedly increase as more and more companies recognise the benefits crowdsourced testing provides
Nice read, I just passed this onto a colleague who was doing a little research on that. And he just bought me lunch since I found it for him smile Thus let me rephrase that: Thank you for lunch! Jillian Lauren Pedaias
As soon as I noticed this website I went on reddit to share some of the love with them. Janka Maurizio Cristie
Good post. I absolutely love this website. Continue the good work! Caroljean Rudie Cecilia
I quite like reading a post that will make people think. Also, thanks for allowing for me to comment. Heda Colver Goodyear
I was able to find good information from your content. Caroline Edvard Gasser
Really nice layout and excellent articles Idalia Flynn Martineau
This is my first time go to see at here and i am really happy to read all at single place. Jelene Benedick Berfield
I am always searching online for posts that can facilitate me. Thank you! Zelda Harmon Naples
Thanks for sharing such a pleasant idea, post is good, thats why i have read it entirely Leandra Udall Donna
Magnificent website. Plenty of helpful info here. I am sending it to a few friends ans also sharing in delicious. And obviously, thank you for your effort! Gussie Rowen Bertram
Thank you so much for your article. I am running a start-up and really need valuable advice like this. Please give more articles on this issues. Thank you! Rosamund Justen Zilvia
Simply wanna comment on few general things, The website design and style is perfect, the written content is very great : D. Danna Randolph Gerger Mariejeanne Dex Furtek
This is really interesting, You are a very skilled blogger. Marcie Reider Lurlene
Everything is very open with a clear clarification of the issues. It was truly informative. Your website is extremely helpful. Thanks for sharing. Joey Jeffy Rumilly
Way cool! Some very valid points! I appreciate you writing this write-up and the rest of the site is extremely good. Kellie Augustine Roanna Charlotta Abraham Nagel
Having read this I thought it was rather enlightening. I appreciate you taking the time and effort to put this article together. I once again find myself personally spending way too much time both reading and posting comments. But so what, it was still worthwhile! Bamby Feliks Johnstone
I blog quite often and I truly appreciate your content. The article has really peaked my interest. I am going to bookmark your website and keep checking for new details about once a week. I opted in for your Feed too. Dalenna Neil Cayser
Say, you got a nice blog post. Really thank you! Great. Jana Omero Schaefer
Awesome! Its truly awesome piece of writing, I have got much clear idea about from this post.
I’m truly enjoying the design and layout of your blog.
It’s a very easy on the eyes which makes it much more pleasant for me to come here and visit more often. Superb work!