Mobile Development: The Challenges of Mobile Testing
The mobile apps market has been growing rapidly for the past few years; different industries want to take advantage of this technology: Retail, Education, Media, Finance, Social, Health care, and Travel; and with this, the complexity of each mobile application is increasing too.
For Testing and Quality Assurance professionals, all these changes in mobiles apps introduced a whole new set of challenges to deal with.
Having a large number of different mobile devices and technologies has become a challenge for the Testing Teams: different OS versions, screen resolutions, screen sizes, button placements, and also don’t forget the differences in features like GPS, front/back cameras, video, and accelerometers for motion and orientation-sensing.
For this reason, is not possible to test mobiles apps in all the devices that support them as it would involve too much time and resources. Companies that develop and test mobiles apps can’t invest to buy each mobile device available in the market but there are some alternatives that can be used to identify which devices to test on:
- Define the scope: Both the Testing Team and the Client should limit the number environments and devices that will support to the mobile apps, identifying the features that a device should have.
- Get a representative set of devices: A good idea can be to get the most popular devices currently in the marketplace. Also, getting a device with the newest and oldest version of certain platform can help. By doing this, Testing Teams can cover a representative sample of the active users who are candidates to use the final product.
- Simulator and Emulators: Almost all vendors offer a set of emulators and simulators of the different mobiles devices or platforms. They are useful in terms of usability and design, but they should be only used to get a general idea of how mobiles apps will look under a certain environment, and then validate it on a physical device.
Network and connectivity
One of the important aspects for every mobile app is the way they work under different network conditions. It’s necessary to test a mobile app under the most popular and available connectivity’s modes: 3G, Wi-Fi and 4G, LTE. And some factors to consider are:
- Poor network or no-network scenarios should be tested to verify how mobile apps work across varieties of network signals, if they crashed or hang up. Ways to verify this is by turning off the network options on the devices or taking them into closed places and use them, e.g. elevators.
- Some mobile apps allow you to work in offline mode. In this case, it is necessary to verify how it works while users are using the app and what happens once the device is connected to a network: if the data of the user gets lost, the app is restarted, or if the app is trying to sync with an external server.
Mobile Test Tools
The rapid evolution of mobile technology causes the need for a faster, wider, shorter and more effective Testing process. Automated testing is a very helpful approach to run a set of test cases into different platforms, operating systems and devices, reducing the manual testing process.
There are a lot of tools available for Automated Testing, but before choosing one, it’s necessary to do an analysis to figure out which can be the best for a certain mobile app. The coverage (platforms, browsers, OS), technical support, ROI and business logic are factor to have in mind to select a tool.
Here are three helpful tools to improve the Automated Test process:
- MonkeyTalk: allows the creation of interactive tests for iOS, Android, Web/HTML5 and Hybrid apps.
- Hopper: this tool from Microsoft allows the simulation inputs in Windows Mobile devices.
- SOASTA Touch Test: allows the capture and playback of touch actions on iPhones, iPads, iPods and Android mobile devices.
The growth of the mobile applications market is increasing the complexity and rigorousness of the test process. The variety of devices, OS, connectivity modes and other features increase the number of test cases that should be execute to verify if an app is working. However, the alternatives for Test Teams are increasing too, allowing the simulation of actions in a specific device and the record of it to be reproduced in a different device will definitley increase the overall quality of your mobile application.
Have any questions or thoughts? Don't forget to leave your comments!
About the Author
Abel Gonzalez is a Software Engineer with more than 2 years of experience in Quality Assurance. He works as a Software Engineer at iTexico specialized in Mobile and Web Testing.