Mobile has dramatically transformed the way consumers live and work. As mobile technology has become more sophisticated, the expectations that consumers have for their experiences have risen greatly. In this new high-stakes world, producing a mobile application that delights customers is more important than ever. But when it comes to determining what constitutes a great app, it’s difficult to separate fact from fiction. Let’s take a moment to debunk five of the most common mobile testing myths.
1. Looks are more important than features.
First impressions matter. That’s why visual testing and user acceptance testing are important — but they’re not everything. You shouldn’t just focus your tests on the visual and design aspects of your application. Features need to be thoroughly tested as well – especially the workflows that are most important to the overall user experience. If you don’t deliver what users expect, and what the business requires, the look of your UI won’t make much difference. The eye-pleasing app you were working on will still be uninstalled – and good luck with winning consumers back when that happens.
2. It’s okay to run your tests on a single device.
There are ample reasons to run your tests on a variety of devices from day one. While in the process of developing your app, if you only run tests on a single Android smartphone tethered to your development machine, you will probably be missing important bugs that will only be surfaced on other devices. In the true spirit of agile, it’s important to identify bugs and fix them early, versus waiting until late in the development process to find issues. Form factor and platform are not the only variables you will have to keep in mind: it’s also important to test across multiple OS versions and device manufacturers to ensure the greatest device coverage.
3. Having an in-house testing infrastructure and managing devices is easy.
Maintaining an in-house infrastructure that is current and reliable is complicated and managing a fleet of devices is not easy. You may end up spending a lot of developer time and money to create something that does not meet your needs, and waste precious resources that could be better used elsewhere. Device management takes a lot of time and money because devices need to constantly be maintained and updated with the latest OS and application releases. If you are thinking of Android or iOS emulators/simulators, these also need to be maintained and upgraded, and simulators require Mac hardware. Cloud solutions for both real device and iOS and Android emulators/simulators are better options because the cloud vendor is responsible for updating the devices to the latest operating systems, and providing a highly scalable and available solution.
4. Exploratory testing is all you need
Exploratory testing is an important component of your overall testing strategy because it can often identify important bugs quickly, but it’s not sufficient on its own. To be effective, exploratory testing requires testers be familiar with the application, typical behaviors of the target user, and a variety of test methods. However, relying completely on exploratory testing exposes you to the risk that a key feature may not be tested because of an oversight or mistake. Therefore, exploratory testing should always be matched with a set of pre-defined scripted tests that ensure the most important application feature sets and workflows are functioning as expected.
5. Code coverage is the ultimate measure of quality
While code coverage is a good metric to track, it’s more important to track and ensure that the key features of your application and the most common workflows have tests associated with them. Often a combination of automated tests, exploratory testing, and beta testing will yield better and faster results than just focusing on code coverage. Your percentage of code coverage will not matter if a key feature is missed!