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

Eran Kinsbruner
Perfecto by Perforce

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 Chief Evangelist of Test Automation at Perfecto by Perforce
Share this

Industry News

April 03, 2025

StackGen has partnered with Google Cloud Platform (GCP) to bring its platform to the Google Cloud Marketplace.

April 03, 2025

Tricentis announced its spring release of new cloud capabilities for the company’s AI-powered, model-based test automation solution, Tricentis Tosca.

April 03, 2025

Lucid Software has acquired airfocus, an AI-powered product management and roadmapping platform designed to help teams prioritize and build the right products faster.

April 03, 2025

AutonomyAI announced its launch from stealth with $4 million in pre-seed funding.

April 02, 2025

Kong announced the launch of the latest version of Kong AI Gateway, which introduces new features to provide the AI security and governance guardrails needed to make GenAI and Agentic AI production-ready.

April 02, 2025

Traefik Labs announced significant enhancements to its AI Gateway platform along with new developer tools designed to streamline enterprise AI adoption and API development.

April 02, 2025

Zencoder released its next-generation AI coding and unit testing agents, designed to accelerate software development for professional engineers.

April 02, 2025

Windsurf (formerly Codeium) and Netlify announced a new technology partnership that brings seamless, one-click deployment directly into the developer's integrated development environment (IDE.)

April 02, 2025

Opsera raised $20M in Series B funding.

April 02, 2025

The Cloud Native Computing Foundation® (CNCF®), which builds sustainable ecosystems for cloud native software, is making significant updates to its certification offerings.

April 01, 2025

The Cloud Native Computing Foundation® (CNCF®), which builds sustainable ecosystems for cloud native software, announced the Golden Kubestronaut program, a distinguished recognition for professionals who have demonstrated the highest level of expertise in Kubernetes, cloud native technologies, and Linux administration.

April 01, 2025

Red Hat announced new capabilities and enhancements for Red Hat Developer Hub, Red Hat’s enterprise-grade internal developer portal based on the Backstage project.

April 01, 2025

Platform9 announced that Private Cloud Director Community Edition is generally available.

March 31, 2025

Sonatype expanded support for software development in Rust via the Cargo registry to the entire Sonatype product suite.

March 31, 2025

CloudBolt Software announced its acquisition of StormForge, a provider of machine learning-powered Kubernetes resource optimization.