With iOS11 just around the corner, what do you need to know to prepare? Amir Rozenberg from Perfecto shares with us what he feels are some of the key features testers, should be aware of and how they may affect your tests and testing strategy going forward.
Get Started Testing iOS11 NOW
There are a lot of changes being introduced with iOS11. Are you ready?
Based on Amir’s iOS adoption curve for the previous releases of iOS, he predicts that you should be preparing now for iOS11—which is why you should get started on testing iOS11 applications beyond its new features and capabilities.
The first action step to take (if you haven’t done so already) is to get on the beta versions of iOS11 and start testing.
iOS Legacy Adoption Curve
Looking at the curve of iOS11 adoption, the thing to remember is that you still have iOS9 devices out there in production. Many of your applications will most likely continue to operate in iOS9, so will your lab will need to support iOS9, 10 and 11.
Some of those devices are not going to update their operating system, so when planning your testing, you should plan accordingly for all iOS versions in your test lab.
New in iOS 11
Now let’s talk about some of the changes that iOS11 is introducing.
As you might expect, there will be some UI changes. For example, there is a new control center and notification functionality. It’s going to have new UI capabilities such as drag and drop functions and multitasking.
There’s also a new application that will allow you to store a file called the File System which will give the capability to access those files from within applications like drive Dropbox, and all kinds of other file functionalities that weren’t previously available.
App Store Change
Another change will be the new application review process for the App Store.
With previous iOS apps, owners were able to pop up a request for reviews from the user at any point in time. This is now a big no-no from Apple based on their new guidelines.
I believe those guidelines even say that you can only pop up a review window once in the lifetime of the application and so forth.
It’s definitely something to keep an eye on.
iOS API Changes
The third change, I think is going to be big in iOS11, is the new machine learning, augmented reality and Siri APIs functionality.
I believe what’s happening is that Apple is recognizing the rise of audio as a new interface to streamline activities and applications.
For example, someone will be able to access their bank account using audio commands. Because of this, I think that there are a lot of applications out there that are bringing in the application intelligence AI, virtual-assistant type features.
And with that, there will likely be an increase in voice-driven Chatbots.
It’s highly recommended that your test automation efforts focus on mainstream functionality, newer responsiveness test automation and beyond — including all the related voice variants.
iOS11 Test Automation Changes
As you already know, during the late stages of iOS9, Apple announced that they’re going to deprecate the UI Automation Framework, which stinks because this is essentially the approach you took if you wrote Appium tests to have object identifiers/object locators.
Now in iOS11, you’ll be able to see that it’s completely blocked.
It’s now highly recommended for testers for developers to ensure that while they’re running their quality activities that they’re still running testing on iOS9 on iOS10 as well.
But for iOS11 device testing you also really need to modify your object locators, etc. to utilize what’s called Smart XPath.
This is important because iOS11 will only be able to access native objects via XCUITest identifiers.
It becomes a testing mess because for iOS9 you still have to act as though they are UI Automation.
You’re going to have to have a hybrid point in time where you’ll need to mainly utilize two versions of scripts to create effective test automation.
In iOS10 (depending on what solution you’re using) the open source only supports XCUITest.
The bottom line is that you’ll want to get your scripts, your objects identified to be utilized in XUI tests as soon as possible because the iOS11 general release is almost here.
Another gotcha to watch out for is deprecated Appium functions.
If you weren’t already aware, there is a difference between Appium 1.6 and previous versions where some functions were deprecated.
So there are new replacement methods in Appium you’ll need to adopt if you move to Appium 1.6.
This is a pain but luckily there are some tools that can help you with your Appium test transition.
Perfecto has a set of tools that can scan your scripts as well as your test executions for X-Path object locators that need attention or need to be slightly modified to be ready for XUI tests.
There’s another tool that can help you create a script to use the new object locators. The open source tool allows you to examine that XPath specifically and give you a score and a recommendation as to how to make that XPath is reusable across the different automation system.
iOS Testing Wrap-up
That’s it for my iOS11 testing update. Hope it helps you to navigate the transition quickly and successfully.
iOS Testing Tool Links
- Use Perfecto’s Appium/XCUITest scanners
- Analyze xPath strength as you’re writing your script: https://xpathvalidator.herokuapp.com
- Analyze your script repository for xPath and deprecated functions: https://github.com/Project-Quantum/appiumXCUITestValidation
- Analyze your executions (in Perfecto) for xPath validations: http://xcuitest.perfectomobile.com/appiumCloudRun/index.php
- Test automation for Audio/AI applications: http://developers.perfectomobile.com/pages/viewpage.action?pageId=21431280
- Gartner Hype Cycle for Audio chatbot/AR: https://www.forbes.com/sites/gartnergroup/2017/08/18/future-trends-in-the-gartner-hype-cycle-for-emerging-technologies-2017#12b7f3326bc8