How Do Mobile Apps Stay on Top of OS Changes?
Automation will continue to grow with the help of machine learning, but manual testing is here for the foreseeable future for certain use cases around the UX.
Join the DZone community and get the full member experience.Join For Free
Thanks to Asaf Saar, Director of Mobile Product Management at Sauce Labs for taking a few minutes to share with me how Sauce Labs enables its clients to have their mobile apps ready when Android or iOS comes out with an update.
A couple of weeks ago, Apple came out with iPhone 8, iPhone 8 Plus, and iOS 11. Sauce Labs was able to announce same-day support for all of these changes with it cloud-based testing platform Real Device Cloud. With updated support for iPhone 8 and iPhone 8 Plus, Sauce Labs now provides 1000+ real devices on its public and private cloud for manual and automated testing of mobile apps.
I talked to Asaf to better understand how they accomplished this.
Q: What are the keys to developing successful mobile applications tests?
A: The keys are to test the use cases most commonly used by your users along with keeping up with the mobile OS enhancements and changes. For example, recent changes were relatively minor for the iPhone but major for the iPad. For example, the iPad now has a dock similar to the MacOS and enables users to create more features on the iPad like drag and drop capabilities, one-touch keyboard, capabilities around notifications to enhance the platform and the applications. It’s crucial that mobile app developers are adapting to these new features and testing to ensure high performance across all devices. On our side, we test the pre-release of the OS early to ensure the platform supports all of the new features and functions.
Q: What are the most significant changes to mobile application testing?
A: The most significant changes are device fragmentation. There are more and more device models and OS versions, which lead to huge test metrics and greater complexities. For example, LG and Samsung take a while to roll out changes. Apple does it all at once. Adoption of iOS is faster compared to Androids.
We must test as quickly as possible since Apple launched 11 and 11.01 support the same day. Some capabilities you can test on simulators, others you have to test on the actual device.
Q: What are the most common hurdles to mobile application testing you have to help clients overcome?
A: One common hurdle is mastering capabilities that are not supported automatically via automation. We work with the Appium team and community, to allow Appium to support the latest features that are new to the mobile operating systems, like the recent iOS enhancements of drag and drop. The moment it’s supported on iOS, the test team needs to enhance the testing scenario to support these new use cases.
Q: What’s the future of mobile app testing?
A: At Sauce Labs, we think the future of mobile testing is very exciting and includes the use of machine learning, more automation and supporting a broader array of form factors due to IoT. Trends around analytics and machine learning will drive more automated testing. Developers and testers also need to be smart about what tests to use for specific changes made in the app.
As DevOps and agile practices are adopted more in the industry, across all scales of organizations, from small to enterprises, test automation scenarios will grow in the next years and analytics and machine learning will help focus mobile app testing on the areas which are more error-prone.
Q: What do developers need to keep in mind with regards to application testing?
A: Think about testing from the beginning. Shift left – introduce testing early in the SDLC. Adopt white box UI testing. Think about how to enable your application to make it easier to automate testing. It’s important to be conscious of testing and enable testing by other people than just yourself. Become familiar with DevOps/CI/CD methodologies since you will be there eventually. Learn about how to automate tests, especially for legacy apps.
Q: What else do we need to consider with regards to mobile application testing?
A: Usability is key. Changes in the UX can be hard to test automatically and it can take a while to automate testing. Manual testing will remain for some use cases around UX. It is important to ensure manual testing is supported.
We provide a remote device on the cloud whereby developers and testers can use a keyboard and mouse to test motion and swipe. It’s important to test new operating systems. As such, we continually enhance our cloud testing options based on the needs of our clients.
Opinions expressed by DZone contributors are their own.