iPhone X: 5 Tips to Detect an iOS Bug

DZone 's Guide to

iPhone X: 5 Tips to Detect an iOS Bug

iPhone X brings along with it some cool new features, but also an increased potential more bugs. Read on for tips on how to spot those bugs before they become a problem.

· Mobile Zone ·
Free Resource

To celebrate the tenth anniversary of the introduction of the iPhone, Apple wanted to make a splash in 2017. On top of their traditional release schedule, they set out to offer their customers a new, premium experience with the iPhone X.  Along with iOS 11, they have introduced a raft of cool new tech and features; however, their frenetic release schedule has been accompanied by something we’re less used to from the masters of fit and finish: quality issues.  

With the iPhone X, Apple took a bigger jump in terms of innovation compared to previous iPhone releases.  After receiving criticism for not innovating enough with the iPhone 7 or iPhone 8, Apple wanted to remind us that they aspire to be the leaders in mobile innovation.  The X departs from previous designs with a unique new screen, removal of the physical home button, and the introduction of Face ID.

It’s also fair to say that the new iOS 11 has had more than its fair share of serious performance and functionality issues, ranging from unusual battery drain to unexpected data usage to security problems.  In fact, Apple has been forced to release OS patches 6 times in the barely 6 weeks since its introduction.  Possibly due to these teething pains, adoption rates for the new OS have been unusually low (roughly 30% in the first 6 weeks).

When it comes to iPhone X/iOS 11 combo, as well as the rest of the current iOS ecosystem, DevOps professionals need to take a multipronged approach in order to make sure their code doesn’t get caught up in Apple’s current growing pains.  

But hey, you came here for the hot tips for iPhone X/iOS 11 testing, right?  Well, let’s dig in then…

1. Test Across All Platforms

Even if you already understand the importance of cross-platform testing, the current state of affairs at Apple means you need to take extra care to make sure you have the coverage you need.  Some of the most widely used iPhones can’t run iOS 11, and iOS 9 still has a significant market share, so you need to be testing on these 3 operating systems.

2. Beware Release Numbers

Not only do you need to make sure you have 3 OSes covered, there’s another thing to keep in mind-  there are different patch levels for different phones. The iPhone X comes out of the box with 11.0.1 but updates straight to 11.1, whereas previous phones such as the iPhone 7 and 8 received incremental updates, so many phones are out there with intermediate versions of iOS.  If you want to be certain your app behaves properly under all circumstances, you should have at least one phone running an intermediate version-  say, an iPhone 7 on 11.0.3.  

3. Triple-Check Your Responsive Sesigns

You might call this a case of “you try to do something nice…”  As previously mentioned, the iPhone X screen is one of its big marketing points.  It has a much greater resolution than previous models, a higher PPI, and a different aspect ratio.  It’s a thing of beauty, but it breaks responsive app designs.  Bummer.  Check out the example of the Starbucks and CVS app below:

 Image title

Image title

It’s pretty clear this isn’t rendering as intended on the iPhone X. On top of this, designs need to be tested in both landscape and portrait mode.  We’ve found examples of broken interfaces, inaccessible buttons, missing text, and other weirdness in major apps, including, for example, some menus in Hulu being completely inaccessible.  Developers need to check, double-check, and check again their responsive layouts, graphics, etc. to make sure that things still look and work great on the X.

4. Go With the Flow

The iPhone X has broken with the past and ditched the physical home button, whose function is now replaced with an upward swipe gesture.  This means that actions such as starting the task manager, killing background apps, or simply returning to the home screen requires a new flow; you need to be testing these new flows, and if you’re going to automate (you do automate, right?) you need to adapt your code to cover them.

5. So Long, Touch ID, Say Hello to FaceID!

Jokes aside- Touch ID isn’t going anywhere soon- this introduction is a biggie, and there are some breaking-news-caveats attached too. Check the postscript! FaceID is cool new tech, but it is clear from a quick survey of leading apps that it has caught some developers off guard.  Certain apps aren’t correctly identifying which technology is available and consequently offer incorrect or unavailable choices for authenticating.  We talk about it a lot, but this is clear proof of why you need to be testing early and often. Test on beta versions of OSes and software, and start testing new devices as early as humanly possible.

The Bottom Line

Apple’s introduction of the iPhone X hints at an exciting new phase of mobile tech innovation. It’s cool new features offer fascinating new ways to excite and engage end users, and, by extension, enhance your company’s digital presence.  However, in the rush to capitalize on these new capabilities, it’s important not to neglect quality; otherwise, you might find yourself losing customers rather than winning them over.  This is a critical time to reevaluate your testing and QA processes.  Make sure your apps don’t fail the new-tech test!

The Postscript

In the past 36 hours, Face ID has hit another speed bump.  A Vietnamese security firm claims to have cracked the FaceID security with a composite 3D mask.  While this remains to be verified by more sources, it does correlate with separate reports of FaceID being fooled by non-twin siblings and other similar faces.  Expect lots of talk about this in the coming weeks related to the FaceID debate.

ios, ios 11, iphone x, mobile, mobile app development, mobile testing

Published at DZone with permission of Eran Kinsbruner , DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}