Over a million developers have joined DZone.

The 5 Life Stages of Mobile Quality: Middle-Aged Provider

In the lifetime of a mobile app developer, some of us will never get further than the middle-aged provider, but maybe that's ok.

· Mobile Zone

Visually compose APIs with easy-to-use tooling. Learn how IBM API Connect provides near-universal access to data and services both on-premises and in the cloud, brought to you in partnership with IBM.

Welcome to the latest installment of our blogs about the five life stages of mobile quality, based on our survey of over 600 global developer and QA professionals. Let's discuss the "Middle-Aged Provider" stage where DevTest teams are using a full automated CI process to keep all their team's mobile code commits in sync, and regularly running unattended automation.

Middle-Aged Providers -- which accounted for 16% of our survey results -- have realized the value of an agile software development process. They're doing up to 75% automation testing, and comfortably releasing a new app version once a month.

While Middle-Aged Providers are at an advanced DevTest stage, there's still work to be done to reach the final "Elder Statesman" stage where true "continuous quality" lives. But more about that in the next Life Stage post.

MiddleAgedMiddle-Aged Providers typically automate close to three-quarters of their test cases with automation scripts that are mature enough to not block the CI process, thus allowing Middle-Aged Providers to do unattended automation and release high-quality apps quicker than most of the competition.

While this is great progress, these teams should work toward expanding their CI test suite and include non-functional tests for performance. Such tests will validate that the app's functionality remains intact even when thousands of users are using the app simultaneously. These teams should also include "user condition" tests to mimic their users' environments and assure the app works when network conditions change and background apps are using up valuable resources. All of these tests should integrate into the existing CI test suite without causing bottlenecks.

Check out the full '5 Life Stages of Mobile Quality Maturity' infographic

In addition to integrating more sophisticated testing, Middle-Aged Providers need to move toward a DevOps practice that facilitates a constant code-build-test-deploy-monitor cycle and then automates this entire process. A Middle-Aged Provider is also at the point where the DevOps process can take place in the cloud. A cloud-based testing lab provides 24/7 remote access to devices and platforms and integrates a variety of test automation tools, IDEs, CI servers, and performance and monitoring tools while also removing the headaches of managing an internal lab.

Being a Middle-Aged Provider is definitely a good place to be, but don't get complacent. No matter where you are in the mobile testing life journey, there are steps to take to reach Continuous Quality.

In a report entitled Are You Mature? 5 Life Stages of Mobile Quality?", we describe all the stages of mobile quality, point out challenges and discuss best practices for getting on with life.

The mobile quality maturity survey serves as a complement to Perfecto's Quality Maturity Model -- a service that categorizes mobile quality into five levels to help digital teams get the right training and resources.

The Mobile Zone is brought to you in partnership with Strongloop and IBM.  Visually compose APIs with easy-to-use tooling. Learn how IBM API Connect provides near-universal access to data and services both on-premises and in the cloud.


Published at DZone with permission of Shane O'Neill. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}