Oops…this looks like an Apple Bug!!

A Big Hello to everyone!! First, let me tell you…yes you. The one reading this. You are doing a great job with the new WFH normal.

I must tell you that this is not a technical blog, just a short journey from this-is-a-weird-issue-to oh! -an-apple-iOS-bug-? -OMG!!

The year 2020 has undoubtedly the most unique WFH days we ever had. Afour Technologies has always been cooperative and hassle-free when it came to allowing WFH for its employees. However, amidst the pandemic-COVID-19 phase across the globe, the nationwide lockdown phase was totally not foreseen and impacted our lives unimaginably. Initial days, it was a rough ride as the actual work-life equilibrium was disturbed with so much negativity and panic due to the rising Corona cases within India.Neutral Face on Apple iOS 14.2

During this time, we had our demanding-and-always-on-radar SDK project which had just kick-started. Working from home, I was devoid of guidance and lost in the whirlpool of uncertainty. And then the Bingo moment happened, the SDK testing project with full ownership was bestowed upon me.

This SDK testing project was something very few people did and were not a runoff-the-mill traditional mobile app testing method. In this case, we were given access to the complete source code of the app. We had to build the app locally at our place and would be streamlined as the Development team (our Client) would push their code daily.

Honestly, I really had a tough time grabbing bugs in his iOS SDK for different milestones, because the iOS Developer seemed so perfect at his work!!

A few months later (during our OnTrack-project-happy-days-peaceful-nights), an interesting encounter changed the equation upside down.

So, here is the long story short—

I was working on iOS SDK testing while one of my team members was assigned with android SDK testing. During the ad-hoc testing at the end of our release, there was a scenario wherein the latitude, longitude values were expected to be in a specific precision for the samples uploaded from the SDK app. The events generated from an SDK app were to be tested under various conditions which worked fine. However, there was one such value that caught my attention.

Let me not delve deep into the technicalities now, all I would say that there was one value of -lat, lon that stood out of the crowd from the rest of the sample values, uploaded. As a QA engineer, I had a doubt as to why that value looks different from others? What was happening in the background that even the developer wasn’t aware of. Initially assuming it to be a minor observation I reported to my Client, took a deep breath, and shot an email with the right details. (because somewhere in the back of my mind, this behavior felt fishy).

“What a catch!! “–came the response from the Client. End of the story?

Naah…hold on.

Initial impression, it seemed like an API request that went wrong and could not fetch those values as accurate as they could have been. But on further investigations, the iOS Developer conclusively reverted (after his detailed homework) saying, “Wow, this is one of the weirdest OS bugs he has come across. “ (I was already a fan of his sarcastic interactions over the emailsFace Savoring Food on Apple iOS 14.2, and almost had the urge of asking.” have you ever stayed in Pune? ” well, hahaha… of course, I didn’t ask him that.Beaming Face with Smiling Eyes on Apple iOS 14.2)

Well, here is the technical side of the story-
Nerd Face on Apple iOS 14.2
e.g., “ll”: {

“lat”: 18.509023,
“lon”: 73.87689400000001

}…

Our Client re-iterated claiming– ” It just happened, that some of those rare cases correspond to longitude in an area where some really sharp-eyed QA engineers live. “Winking Face on Apple iOS 14.2

This value catch (only 1 such value amongst the 200+ values.) made the Developer take a backseat for further analysis. There must be a certain level of precision followed consistently, was my only innocent query for them. For such values, I had shared the UUIDs generated for all the different iPhones I tested for this reproducible scenario. Eventually, as we discussed this issue more with the Dev team, we realized this is the misbehavior of the decimal number API of Apple itself while converting the floating-point double type to a decimal type, which is usually done to round off the coordinates down to 6 decimal places. The Developer obviously had a work-around for this temporarily, as reporting the coordinates with 15 decimal places was just so ridiculous! So, this is how I eventually landed up finding an Apple bug in one of the APIs and the Dev team may report this iOS bug to Apple just for fun. (…such a chill species!)

We not only ended up receiving Client appreciation for this but also, a sense of satisfaction was experienced by me. Thanks to my team members and my seniors who had once jokingly motivated me by saying “arey tu toh apple mein bhi bug nikal legi…” hahaha…and this literally happened!!

Call it luck or my sharp eyes(twinkling), this was indeed a wonderful experience I invited myself to.Smiling Face with Sunglasses on Apple iOS 14.2

Like every other story, this one too has a moral to learn: –

“Software testers never make software; they only make it better !! “
“Software testers are the unsung heroes of the software development life cycle !! ”
“Never underestimate the power of the tiniest bug!! ” (we very well know…how much of an important role just a tiny virus has played in our lives this year).

 



Author: Rutuja Shah
A well experienced passionate Automation Engineer with expertise on iOS and Android applications.

1 Comment

Leave a Reply