How to prioritize your testing focus for best results with limited resources
The speed of mobile app development is accelerating as companies compete to hit the market first with new ideas and innovations. While the shift to continuous delivery means that new features and bug fixes roll out faster than ever before, it has also precipitated a rise in the number of defects found in live software. There’s a real risk that mobile apps are being shipped too early or without adequate test coverage.
Around 75% of mobile apps ship with between 1 and 10 defects in them, and 20% average between 11 and 50 defects, according to a survey by Evans Data. There’s an expectation that bug fixes will follow in patches, with a third of developers pushing them out weekly, and 80% releasing patches at least monthly. The problem with this, is that customers are finding the defects first before the developer. A survey by Perfecto Mobile found that 44% of defects are found by a customer.
Consider that app abandonment rates are at 25%, according to Localytics, and you can see the potential risk. A full quarter of users open an app once and never return to it again. Encountering a defect could be enough to turn them off your mobile app for good. So, what can you do about it?
How to prioritize
Limited time and resources are common problems, but you can always maximize what you do have for the best possible coverage. In order to do that, you must prioritize. Start by discussing what the end user is looking for. What is the app intended to do? What are the core features? Everyone must understand what the business value is. It’s well worth spending some time making sure that everyone really understands the software, and strategizing together about where you should concentrate your time.
You’ll want to focus your efforts on the features that will be most important to end users. You can start out with traditional manual scripted test cases, but then use them to form the basis of automation when you identify repeatable processes that are relatively stable, and unlikely to change. This will help you manage a growing workload without having to add team members.
Finding defects faster
The earlier you find a serious defect, the easier it will be to fix it. You’ll also lessen its impact and potentially save time and money. The best way of rooting out major bugs quickly is to conduct exploratory test sessions, rather than scripted testing. You are leveraging your tester’s skillsets, covering the most important areas of the app, and boosting morale and job satisfaction all at the same time.
In order to realize those benefits, you need to draw up solid charters defining the areas that exploratory tests should focus on. It’s also vital that you employ tools capable of extracting all the pertinent data about each session, so you can analyze, tweak, and improve performance.
One of the best things about exploratory testing, is that it can be run in parallel with your automated test suite. There’s no need to specify the time it will take, either. Testers can engage in exploratory testing for as long as they have, and it will still bear fruit. The challenging nature of the context-driven approach can be inspiring for testers, and it makes much more sense to give them the mandate to investigate issues wherever they see them arise, rather than confining them to a well-worn path.
Finding your focus
When you consider software and hardware fragmentation, it’s natural to focus your testing efforts on the most popular target devices and platforms. It’s logical to prioritize, and that same logic applies to your overall testing approach. Instead of compartmentalizing everything, and retracing your steps all the time, you can open up the field and apply a holistic approach that will unearth major defects quickly and efficiently.
Maximizing your test coverage like this is not going to lead to zero-defect software, but it will improve the quality of your mobile apps and drastically reduce the chances of shipping with a serious bug. To ensure that you’re moving in the right direction, make use of the metrics in your test management platform and cast an analytical eye over the results regularly.