With the release of iOS 9 and new devices, mobile app dev/testers should be on high alert. There are going to be implications for new and existing apps in the market -- whether they are B2B or B2C apps.
Let's look at the following categories to help assess the "hit" iOS 9 will have on your existing products and processes.
Environment and Lab
With the iOS 9 release -- officially available for download on Sept. 16 -- comes three new devices to include in each test plan and test coverage considerations. iPhone 6S and iPhone 6S Plus will both be available on Sept. 25, and the iPad Pro with a 12.9 inch screen size, is due in November. Setting up the new devices and connecting them to your test environment or lab is not a trivial task, especially during the first few days after the announcement. With a history of a 33% upgrade increase to new iOS versions during the first week after a launch, users will expect support out-of-the-box for the new platform. Also, dev teams need to take into account that with a new platform and devices, an app needs to undergo more testing in various network environments and conditions (2G, 3G, Wi-Fi, etc.).
Having a Continuous Quality Lab (CQLab) in the cloud will remove this pain and allow your teams to focus on quality stabilization and product capabilities rather then painful lab setup.
Maintaining Test Code
A new platform also means test code maintenance headaches.
Existing test scripts that used to work on your apps with iOS 8 might suddenly break when executed on an iPhone 6 running on iOS 9. This can be related to UI changes, or to the wrong mapping of data references in your test code or even changes to test objects (native or visual).
The important thing would be to run through a full cycle of your test automation, performance and app monitoring to reveal glitches or compatibility issues of the tests running on the new platform. Once the environment is stable again, make sure that if you're running these tests on a nightly basis or per commit through your CI (continuous integration) process that they continue to run seamlessly on the new iOS version and devices, as well as on the older versions.
History shows that the first release of an iOS version is somewhat unstable and followed by minor releases. This can mean the following to your existing mobile projects:
- More minor versions to test on, causing schedule delays
- App regressions related to the platform stability that can result in branching your app between various OS versions.
What Can Be Done By DevTest and DevOps Teams?
Addressing the constant changes that come with market updates can be mitigated through continuous quality processes backed by unattended automation. If your teams are able to run your test code on real devices in a lab in an unattended fashion, then upgrading your mobile OS either manually or through the CQLab in the cloud is a non-issue and reports on regression issues will be received by your dev/test teams very fast. With the continuous quality processes mentioned above, teams can get actionable alerts and start debugging issues the moment a defect is revealed.
New Test Cases and Functionality
Apple is adding new functionalities in its latest release -- including adding 3D Touch capabilities and leveraging the split-view option in iPad apps for parallel apps execution -- that developers can take advantage of to increase user engagement. With these app enhancements, more tests will be developed and more branching of new functionalities per devices will be created.
To do so, you'll need a well-managed test environment and lab that always gets CI jobs launched as needed according to a defined release schedule.
The above key pillars are a good checklist for your product compatibility and readiness for iOS 9, but the hope is that your organization did not wait for the last minute and has been doing preliminary testing for critical bugs on the several iOS 9 beta releases that Apple made available over the past few months.
Happy iOS 9 adoption to all!