Continuous Testing for iOS12 Apps
Learn what to focus on when implementing continuous testing for your iOS12 mobile apps and why continuous testing on mobile is so important.
Join the DZone community and get the full member experience.Join For Free
iOS12 is already in Beta 2 for almost a week, and the industry is 2 months away for this major iOS GA release.
It's a great time to start planning both the testing and development implications this new OS will bring to your project, and look at this from a continuous testing (CT) standpoint.
Continuous Testing & iOS12
CT refers to the ability to test in an automated way each code change at any phase of your development life-cycle, from early design stages, through coding, build-acceptance, regression, and production.
So how does it relate to iOS12?
If there is no solid automation in place today, than identifying issues that are specific to iOS12 Beta in advance will be quite hard to accomplish, regardless of the code changes the team is making to the app. Many changes in performance, UI, and functionality across devices and apps is being introduced in iOS12, and covering them in an Agile process without automation will simply be unrealistic.
Testing iOS native apps today is mainly doable through Apple's XCUITest framework and Appium (that relies on XCUITest underneath), so for any existing iOS11, and iOS10 test code that your teams are currently using, they should start debugging these scripts against an iPhone running the iOS12 beta to identify any issues. Such tests might be running from within the continuous integration ( CI) process per code commit or via a scheduled trigger today, therefore an early debugging and analysis of these processes can ensure a smooth transition to iOS12 once it is out.
What to Focus on From a Testing Perspective in iOS12
iOS12 will introduce a large set of innovation to both the platform itself, new devices, new watchOS (5) version, performance improvements, new look & feel and more. To help teams focus on the most important things as they prepare for the iOS12 GA, I would recommend considering the following:
- Device coverage: iOS12 will be supported across all of the supported iOS11 devices that are in the market today, as well as new devices that will be launched in September like new iPhone X, iPhone 9, and potentially new iPads. Such thing means that from a lab perspective, the device coverage should be broader than today and cover few generations up until iPhone 5S to be able to assess the quality and performance of the apps across these devices. In addition, the adoption time of a new iOS takes between 4-6 months, hence having the proper combinations of iOS12 and iOS11 across the various devices is key for continuous testing and quality assurance. Do not forget about key devices that are still quite popular in the market and are running iOS10.3.3 (iPad 4th gen, iPhone 5C) and iOS9.3.5 (iPad Mini, iPhone 4S) - Validate based on your usage analytics and defect history whether these device families should still be supported or not.
- New UI Enhancements: in iOS12, Apple will make some changes to the UI in various ways. Testing the application across devices from a UI perspective on iOS12, as well as on the previous iOS11/10 is obviously critical. in iOS12 Beta 2 and in its upcoming GA, especially on iPhone X there is a new way of terminating an app that is different from iOS11. Instead of a long press and a swipe up that was the traditional way for killing an app in iOS11, now only a swipe up is required. In addition, notifications, and app usage, as well as battery usage screens, were added and whenever relevant to your app, requires to be tested. In addition, the new "Siri Suggestions" has implications on apps or recently used apps, and needs to be taken into consideration from testing perspective since there is another place in the UI to launch your apps from.
App Usage and UX Related: In a similar way as Google implemented in Android P its
digital well-being capabilities, so did Apple with iOS12. The new OS version will continuously measure and monitor the end-user time spent and battery consumption for his top used applications under a new UI feature called "
Screen Time." This enhancement has few implications:
- There will be a highlighted and growing competition on time used per app, that means app need to perform well, fast, and with great quality.
- Battery consumption will be a "thing" for the end users, hence, app developers should leverage the iOS12 new capabilities and optimize their apps accordingly.
There is time for practitioners (developers and testers) to get a hands-on experience with the iOS12 dev preview and public beta versions, and assess the impact on their supported apps (B2B/B2C), and tune their testing and development roadmap, processes, and lab so when in September the GA is out, they will be in a perfect spot to announce full support of this new platform. This will reduce R&D pressure, will delight their customers, and prevent potential business loss.
Published at DZone with permission of Eran Kinsbruner, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.