When it comes to users rating or reviewing your mobile app in app markets, they typically aren’t too shy about problems. The threshold to get in and write some bad feedback about not well-behaving/not-working app is pretty much nonexistent – and quite many users do that. Mobile apps are becoming so crucial part of people’s lives that they will share their love or hate about these. And feedback, even written on motional state, will get in front of hundreds of millions of users. But are those ratings the top thing to focus? Not really, but something else actually matters the most…
The mobile app quality has become crucial for all different players in the mobile ecosystem. From indies to middle-size app/game studios and large corporations pushing apps for consumers in various sub-verticals (banks, retail, insurance, travel, and a dozen of others) understand what gaining five-star feedback for their app means.
We’ve been discussing the new Agile process that can help organizations producing better mobile apps for 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 usage up and forward, plus provides a great user experience, testing in a continuous manner is typically in the epicenter of the process.
First, some facts: Things that get done manually are never agile. Testing the mobile app manually an exception. Humans are error-prone and each and every manual session with your mobile device is different (regardless of what you think or say). The only test script can do that repetitive process the same way, again and again. In addition, manual testing can be the no. 1 factor to slow down your development and the root cause to delay the release of your app.
The solution for faster iterations and instant error reporting resulting as a better app quality comes through Agile testing, test automation and efficient use of continuous integration. And not to burden devs too much, they should always focus on developing new features, doing enhancements and – of course – fixing those bugs. The way to identify those bugs varies and in this blog, we’ll take a look the Agile testing way in mobile context.
How do you define the success of an app?
Sure, app ratings matter and have a direct impact on installations: the better ratings, the better position in search. That’s the fact we all know when looking for different sort of apps in Google Play and App Store. But the rating isn’t all about search and downloads, but more importantly, it’s about the revenue and how quickly your app can generate that.
“App ratings do count for downloads, and downloads count for revenue generation, and revenue generation counts for your success.”
This equation is missing one important attribute: time. The sooner you get your app in front of users – and as a robust and fully working – the sooner you’ll start generating revenue. Any app’s time-to-market counts not only against competition but also when the revenue starts rolling in. Simply, time-to-market can be improved with integrated development and testing flows.
There are lots of variations in end-user platforms (ie. devices) that your apps should support an ever-increasing complexity in apps that need to be tested on those end-user devices in every release. In Enterprise apps world, bring your own device policies (BYOD) create the same need for organizations’ internal apps. In large organizations, there are easily 30-50 different devices from tablets to smartphones to be supported and tested with every release. At Enterprises, daily volumes are naturally lower, but value per mobile user is much higher than with consumer-facing apps & games.
Continuous Integration, Development, Testing, Quality and Deployment – A comprehensive approach to app quality
The use of automation is already in an epicenter of how developers build their software. Typically companies rely on continuous integration tools (like Jenkins) that bring clarity for both, development and testing. In a nutshell, continuous integration provides a workflow to help managing code and its regressions and then enabling efficient testing of those builds. With this sort of Agile approach, continuous testing can also happen every time code changes in the repository.
In this example, companies can entirely focus its efforts on building new features, versions, enhancements, and take care of bug fixing, while testing happens automatically and entirely in a managed manner. For example, building a new version of the app can take a place every day and then that application gets tested – before the next iterations take place. It provides a very efficient way to improve the overall app quality, find out and rub out the bugs instantly and not drag those with the app, build by build.
So what gets delivered during these “Professional Services”? We strongly believe that effective mobile testing derives from a well-structured and systematic approach, use of some (preferably cross-platform) test automation framework, and the use of real mobile devices, combined all that with seamless integration to an agile development process. This type of process gives great visibility on what is actually the quality of app development. This approach also adds some time as you will get instant reports (with logs, screenshots, recorded video of sessions, and results in general) how well the app performs across a variety of those real mobile devices.
After the app (APK or IPA) gets built, it can be automatically sent for its first test – the smoke test – to see how well it compatibles with those devices. Also, each regression can be tested (regression testing) with the existing test cases/scripts for certain specific function. For example, if the app relies on back-end services, this connection can be after each build-in regression testing with automated scripts. In addition, many other aspects can be also automated: localization (testing different languages), different types of performance tests (load, spike, stress and others), connectivity and hermetic testing (isolation of app from the network, other services etc.).
This might sound complex but the beauty is that we’ll take care of all those nuances, fine-grained details and larger entities for you. That’s why Bitbar Professional services provide outstanding value to its customers – and enables you to focus on your core competencies.