The traditional process of testing software can be lengthy and cumbersome. That’s especially true in mobile — there’s a wide variety of devices and features you need to account for with mobile app testing. Enter functional mobile test automation, which when properly planned and executed, can be a real time saver. It can also spare your app development team some real headaches later by catching errors in the code early in the process.
Mobile test automation uses a series of programmed tests that checks the expected behavior of the features to the actual outcomes. If the outcomes are aligned, you know that you’ve greatly reduced the chances of having any bugs. If there’s a difference, the QA team can identify the problem and the development team can identify fixes — then the automated tests are rerun before the app goes into production.
This automation can be a great complement to traditional approaches of QA, where there is manual testing (by a human) for different user scenarios. And in many cases, it can help reduce the amount of manual testing the QA team needs to perform.
However, mobile test automation does require some upfront time investment. And doing it correctly isn’t a matter of simply deciding to do it — you need people who are skilled in defining and implementing the tests. You also need the right tools to run the tests. And it requires an understanding by your team of how to use it — and what to expect from it — for it to really work for your project.
So before you get started with automated testing for your app, here are five questions you should consider:
How long will it take to develop your app and how long will it live?
The longer a project will take and the more complex it is, the greater the benefit of using automated tests. Like any product, more complexity in an app means more potential bugs that can be introduced — and having an efficient means of testing different scenarios becomes more crucial. Also, if you have an app that’s going to be used for a long time and will need periodic updates, there’s a significant benefit to creating functional tests and automatically retesting for each new release. Being able to easily retest for each new OS update — like the new iOS 10 and Android Nougat — is also a huge benefit of using mobile test automation. However, if you are creating a fairly simple app that will only be used for a short period of time, you might be OK only using a more traditional QA approach.
Is your app in the early stages of development?
While you typically want to plan for mobile test automation at the onset of a project, you don’t want to implement the tests too early in the development process. Especially if the app’s features are subject to change. Making changes to the functionality means you’ll also need to make changes to your automation tests — and that additional effort can offset the efficiency gain of using mobile test automation.
But if your early feature set is solidified — even if you think you may later add new features — that’s the perfect time to start building in test automation. In fact, one of the most useful aspects of automated testing is with regression testing — where you can make sure old features are still working as you add those new features.
Is mobile test automation a good fit for your app’s features?
Not all features of your app are worth being automated. For example: A feature that involves the camera device must be tested on a physical device, since available tools can’t easily simulate this. You would need to perform tests by physically pressing the button to take a photo and seeing if the action results in a captured image. With some features, you risk spending more time automating testing than performing the tests manually. And in the end, you can’t rely on test automation to provide good coverage and reliable results for these types of features.
To help determine whether or not to use test automation, consider the following ratio: the complexity of automating a feature vs. the importance of that functionality vs. the likelihood of a user experiencing bugs. If a feature is complex to automate but it is an important part of the user experience and has an important relationship to other features of the app, then using mobile test automation is the right decision. However, if the feature is complex to automate and users of the app will only use it in a very specific situation, it may not be worth the effort of creating automated tests for the feature.
Does your app have repetitive features?
In many apps, you might have repetitive features that allow you to use the same or similar test automation across those features. For example, if an app asks for a user to register according to age, the subsequent screen may vary based on the choice a user makes. But you can test the registration page entry by repeating the same test through test automation but with the different selections by age resulting in a different screen. For these features, automated testing is fairly simple to apply across multiple user scenarios — while manually testing could be repetitive and time consuming.
Will your app be compatible with multiple platforms and devices?
In many cases, mobile apps are developed to serve a wide variety of device types and screen sizes. If your app is designed for many devices, using mobile test automation is even more important — especially because of how time consuming it can be to manually perform the tests on all of the different devices. However, if your app is a fairly simple app that’s only designed for a single platform, you might find that using automated app testing takes more time than doing traditional QA.
Now that you’ve answered those questions…
Hopefully by answering our questions you now have a basic understanding about when you should use mobile test automation. Of course, every project is unique and how to go about properly testing your app is never a black or white question.
We typically use a combination of both kinds of testing on our projects. Even though we use mobile test automation, we still don’t eliminate manual tests. Automated app tests always follow the same steps and paths, and manual tests offer the advantage of experiencing the app in the same way that a user might. Using a combination of both offers you the best chance of eliminating bugs and ensuring your app delivers on its promise.
Are you ready for iOS 10 and Android Nougat?
Speaking of testing, iOS 10 and Android Nougat have arrived. Is your app ready? If you’re not sure, don’t hesitate to contact us — we’re happy to take a look and let you know if you need an update.