Deconstructing Continuous Quality Process for Mobile App Development

Continuous Quality in Agile Process

Dear Testdroiders,

Mobile app users and gamers are more demanding than ever before. According to McKinsey and their analysts, the application related revenues have reached $25 billion already in 2013 and are on the way to reach more than $70 billion by 2017. In this study, the APIs were the focus of those revenue estimations but there are lots of other things that impact in those future revenues as well. But without the right approach it can be challenging for app developers to deliver new releases, better UX and features. Ever wondered why certain successful app developers update their apps DAILY – and why their users just love it?

We’ve been discussing about the new Agile process that can help organizations producing better mobile apps, games and web products for mobile users and the infrastructural/architectural aspects that needs to be considered in the development process. To build efficiently and create those features that drive your app/game usage forward and provides a great user experiences, testing in continuous manner is typically in the epicenter of the process.

Screen Shot 2015-02-19 at 1.44.14 PM

Continuous Quality – together with continuous integration and delivery – goes hand in hand with testing. The basic definition of continuous quality and delivery would be simply something like this: “Delivering the better apps faster and do all of the testing while actual development is on going.” To achieve this and to enable as authentic environment for mobile app testing, the use of real mobile devices with real-world user conditions must be seen as a requirement. This provides developers only authentic results during all phases of the application development life cycle and when the process drives developers to fix any issues right after spotting those, the application quality improves significantly, and the process gets smoother for all counterparts.

Non-Agile Testing: Continuous Quality and Testing as Seen Before

First of all, no app or game developer releases just one version of their product, but the apps evolve constantly and new builds/releases are done daily, monthly or quarterly to provide better quality, new features, bug-fixes and many other things that makes those apps/games more attractive for end-users. In this context, many app developers have tested their products just before the release – you know, once they have the final build in their hands. This is not a great approach to be successful – and will not expose the issues efficiently nor does it improve developers chances to fix those issues quickly and with improved quality. Something better comes through continuous quality thinking…

 

testing_method_v02

While it has been a typical approach to test apps only close to the release/publish, the new approach includes continuous testing more or less during the entire app development lifecycle. The significant value-add that continuous testing brings into development process with more effective and result-driven development speeds up the entire process and makes it possible to release earlier. The time-to-market will be shorter when testing doesn’t hold it back but is seamlessly integrated with development and provides invaluable results during the whole development lifecycle. These improvements can be measured in three terms of value, as we discussed in one of our recent blogs.

However, as the testing and overall focus on quality in the new approach increases tremendously, this won’t cost more than the old approach. In fact, test automation harnessed into this development process will make the overall testing cost significantly lower than any type of old-fashion manual-testing-at-the-end approach. In test automation, it’s important to understand that machines and devices work for us 24/7 and all data, logs, screenshots, and any test results can be achieved instantly – even when developers are not working.

Agile Testing: Continuous Quality as Part of the Development Process

Fortunately, things have changed recently for better. Not only by pressure from markets, but also organizations have realized and learned the benefits that agile way of doing things are delivering. Many mobile app developers have started to integrate the quality thinking in those agile processes throughout the entire app development lifecycle. This kind of shift brings testing and test automation closer to the design phase – where eventually all big decisions regarding the app are done (e.g. design, UX, features and capabilities).

testing_method_v05The easiest way to tackle the challenges related to effectiveness of the development process is to integrate development and testing into the same process. This enables you to automate huge number of tests and all different types of tests, using real mobile devices (the same the end-users use) and even check code regression after every build. This approach enables you to get instant feedback about the progress and reveal defects instantly. From developers point of view, the instant feedback on defects increases the productivity dramatically, since you still have the code you recently touched fresh in your mind. Old saying but who remembers what you had for lunch 2 weeks ago vs. what did you have today?

Good and effective method brought in with test automation is to run tests constantly, against every build you do. This keep quality as a focus as running tests for each feature, regression or new functionality is iterative process – and once you fix the old problems it is easy to move to the next level. Just like building a house.

Who Can Benefit from Continuous Quality Approach?

The continuous quality and testing process can offer various benefits to everyone in your organization. Developers will find it easy to integrate with, get instant feedback about their code changes and can work on deep-details as logs combined with appropriate screenshots of defect tell them everything essential. No need to further document defects nor add humans to confuse things – logs can simply explain where the problem is.

Managers will – for sure – love it as the managing the overall process and all details of it are easier, results can be gained from out-of-office-hours and managing this type of entity is much easier. And furthermore, the Management will see impact both on top-line and bottom-line as increased productivity, effectiveness, cost savings and much better quality. If your app/game is poised for 5 stars, this approach with all those benefits is your gateway to achieve it.

The QA guys? This is their baby child and they will take care of those tests, scripts, frameworks and all things that happen between the app build and app regression.

Being proactive, and using true Agile development process with continuous testing approach on real mobile devices, will lead to higher return on investment as well as happier developers: Every developer wants to work on the new features rather than fix existing features in fire-fighting mode based on the crashes coming from the market.

Are you doing continuous testing already? Share your thoughts on comment section below.

  • App Fairy

    This has been such an absorbing article, and I particularly agree to the point on why successful app developers should constantly update their apps. Users definitely love it when there’s always something fresh and interesting going on.

  • John

    Thank you for this great article.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close