Building Mobile Apps That Don't Fail
August 12, 2014

Eran Kinsbruner
Perfecto

There are many components that need to be considered prior to launching an app to ensure a successful user experience. A Dev/Test team's worst nightmare is to launch an app they spent hours, days, weeks, and months to build, only to receive reports of bugs that ruin the user's experience. The mobile app market is extremely competitive, with Gartner citing the number of app downloads reaching nearly 269 billion by 2017. With so many options, only apps that work will survive. If an app fails to meet the user's expectations due to poor functionality, availability or reliability, abandonment will most likely occur. So, how does a mobile Dev/Test team prevent app failure from the beginning?

With company-wide efforts and resources allotted to building an effective mobile strategy, including launches of new apps and updates to existing ones, it is critical the same high-quality experience spans across all mobile platforms. To avoid user frustration, poor reviews, or worse, abandonment, mobile apps need to perform well across a broad range of mobile devices, operating systems and networks. Pre-production testing is necessary to avoid common pit falls, including UI glitches, cross-platform inconsistencies, poor performance and excessive resource consumption. A positive end-user experience is only possible when testing strategies can effectively navigate these common pit falls.

Perfecto Mobile recently fielded a survey to determine the top challenges faced by testers and end users, and how issues can be effectively addressed to minimize defects in mobile apps before they are launched. The results highlighted in Why Mobile Apps Fail are based on insights from nearly 900 respondents from DevOps, quality assurance teams and the developer community, in a variety of industries including high tech, financial services and telecommunications. The results convey what really causes users to see those errors, and the challenges faced by mobile developers.

Stop Making Your Users Part of Your QA Team

One of the most alarming stats from the survey conveyed how users have become part of the testing team – and that's not good! According to the data, nearly half of all bugs (44 percent) are uncovered by users. All the work to strategize, build and deploy an app is quickly diminished when a user is the one who finds and communicates the problem.

The types of errors that were most frequently reported included:

■ User interface issues (58 percent)

■ Performance (52 percent)

■ Functionality (50 percent)

■ Device compatibility (45 percent)

Dev/Test teams need to focus on a strategy to improve mobile app quality. Using end users as testers cannot be part of the solution.

Developers Face Challenges Too

These errors are telling of what mobile testing challenges Dev/Test teams are facing. The survey identified the top three challenges that these teams face as:

■ Insufficient device coverage (63 percent)

■ Lack of reliable automation (48 percent)

■ Needing more coverage to execute test scenarios than time permits (47 percent)

Overcoming Testing Challenges

To ensure that mobile apps launch successfully, it is clear that more testing is needed. Survey respondents believe that the most critical measures to reduce mobile app defects are more functional testing, more device/OS coverage and more performance testing.

The user experience is different in almost every scenario, each one contributing to an endless possibility of use-case issues. A test plan needs to consider a variety of test scenarios, such as how the app will perform on different operating systems (Android, iOS, etc.), OS versions (Jellybean, KitKat, iOS7, etc.), carrier networks (Verizon, AT&T, Sprint, etc.) and devices (Samsung Galaxy S4, S4, S5 iPhone 5, 5C, 5S), as well as during "interruptions" like receiving a phone call or text message.

Broad market stats about mobile adoption are important to consider when formulating a device coverage strategy, but paying attention to market trends is not enough. The most important question to answer in order to ensure sufficient coverage is "What devices are my target users using?" Analyzing user traffic should help formulate a real-device strategy and give the most comprehensive coverage.

Improving Overall App Quality

The following is a three-phased approach to truly improve overall app quality:

1. Use a cloud-based Device-as-a-Service platform. This will help to assure sufficient device and OS coverage.

2. Implement a tool that supports continuous, unattended testing.

3. Embrace automation to improve efficiency. Automating device testing enables Dev/Test teams to test more with fewer resources and greater consistency. It's also important to select an automation tool that can do the following: develop cross-device, keyword-based automation scripts and run them across real devices in parallel, while connected to live networks; create a scalable and dynamic solution, where one script is execute across multiple platforms and devices; and integrate with the existing tools.

So, why do apps fail? The same reason most projects fail – lack of planning and strategy. Once the mobile strategy is set and the app is being developed, the key is to ensure its ability to perform and meet user expectations. Not accounting for the rapid changes in this tremendously fast-paced, fragmented market or failing to implement the proper automation tools that will ensure quality applications will guarantee user abandonment and app failure.

Eran Kinsbruner is Lead Technical Evangelist at Perfecto

The Latest

November 14, 2018

What to automate? Which parts of the delivery process are good candidates? Which applications will benefit from automation? At first, those sound like silly questions. Automate all your repetitive processes. If you think that you'll do the same thing manually more than once, automate it. Why would you waste your creative potential and knowledge by doing things that are much better done by scripts? Yet, an average company does not adhere to that logic. Why is that? ...

November 13, 2018

I'd love to see more security automation deeply integrated into the development process. Everybody knows since the 1990s that security as an afterthought just doesn't work, yet we keep doing it. The reason, I think, is because it's very hard to automate security ...

November 09, 2018

DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 5, the final installment, covers deployment and production ...

November 08, 2018

DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 4 is all about security ...

November 07, 2018

DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 3 covers the development environment and the infrastructure ...

November 06, 2018

DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 2 covers the coding process ...

November 05, 2018

Everyone talks about automating the software development lifecycle (SDLC) but the first question should be: What should you automate? With this question in mind, DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 1 starts with by-far the most popular recommendation: Testing ...

October 31, 2018

Halloween is a time for all things spooky, but not when it comes to your mobile app experience. A poor experience can not only scare off your customers but keep them away for good ...

October 30, 2018

As organizations have embraced open source, they have become polyglot — using multiple programming languages and technology stacks to accomplish software and hardware related tasks. Enterprises are caught between the benefits provided by a polyglot environment and the complexities and challenges these environments bring. Ultimately, if the situation remains unchecked, polyglot will kill your enterprise ...

October 29, 2018

Factor 5 of the Twelve-Factor App relates more to processes and advises strictly separating the build and run stages. The emphasis is on identifying and separating each stage of app development, and encouraging automation between each so as to accelerate the process ...

Share this