Mobile app users are more demanding than ever before. 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 need 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 experience, testing in a continuous manner is typically in the epicenter of the process.
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 continuous testing while actual development is ongoing.” 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 make 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…
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 the 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).The easiest way to tackle the challenges related to the effectiveness of the development process is to integrate development and testing into the same process. This enables you to automate a 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 an 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 the 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 a fire-fighting mode based on the crashes coming from the market.