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

March 27, 2025

webAI and MacStadium(link is external) announced a strategic partnership that will revolutionize the deployment of large-scale artificial intelligence models using Apple's cutting-edge silicon technology.

March 27, 2025

Development work on the Linux kernel — the core software that underpins the open source Linux operating system — has a new infrastructure partner in Akamai. The company's cloud computing service and content delivery network (CDN) will support kernel.org, the main distribution system for Linux kernel source code and the primary coordination vehicle for its global developer network.

March 27, 2025

Komodor announced a new approach to full-cycle drift management for Kubernetes, with new capabilities to automate the detection, investigation, and remediation of configuration drift—the gradual divergence of Kubernetes clusters from their intended state—helping organizations enforce consistency across large-scale, multi-cluster environments.

March 26, 2025

Red Hat announced the latest updates to Red Hat AI, its portfolio of products and services designed to help accelerate the development and deployment of AI solutions across the hybrid cloud.

March 26, 2025

CloudCasa by Catalogic announced the availability of the latest version of its CloudCasa software.

March 26, 2025

BrowserStack announced the launch of Private Devices, expanding its enterprise portfolio to address the specialized testing needs of organizations with stringent security requirements.

March 25, 2025

Chainguard announced Chainguard Libraries, a catalog of guarded language libraries for Java built securely from source on SLSA L2 infrastructure.

March 25, 2025

Cloudelligent attained Amazon Web Services (AWS) DevOps Competency status.

March 25, 2025

Platform9 formally launched the Platform9 Partner Program.

March 24, 2025

Cosmonic announced the launch of Cosmonic Control, a control plane for managing distributed applications across any cloud, any Kubernetes, any edge, or on premise and self-hosted deployment.

March 20, 2025

Oracle announced the general availability of Oracle Exadata Database Service on Exascale Infrastructure on Oracle Database@Azure(link sends e-mail).

March 20, 2025

Perforce Software announced its acquisition of Snowtrack.

March 19, 2025

Mirantis and Gcore announced an agreement to facilitate the deployment of artificial intelligence (AI) workloads.

March 19, 2025

Amplitude announced the rollout of Session Replay Everywhere.

March 18, 2025

Oracle announced the availability of Java 24, the latest version of the programming language and development platform. Java 24 (Oracle JDK 24) delivers thousands of improvements to help developers maximize productivity and drive innovation. In addition, enhancements to the platform's performance, stability, and security help organizations accelerate their business growth ...