Top Tips for Stylish iOS App Testing at YNAP

Nehir Yelkovan
YNAP Tech
Published in
5 min readAug 28, 2018

Holding a mobile device is like having the whole word in your hands — it is a hub that gives us access to everything we need. No longer is it just about sending a text or making a call, today even purchasing things via mobile is fast becoming the norm, and high-value luxury goods are no exception to the rule.

I worked as a mobile tester from 2012–2017. In that time mobile traffic and sales went from insignificant to most retailers’ single most important channel. This is entirely linked to the fact that devices evolved massively, becoming more powerful which has allowed for more complicated mobile experiences to be developed.

That made my job more difficult (and more interesting), so here are my top tips from my years as a mobile tester that will ensure any mobile app you build is both slick and reliable.

1. Build a strong testing infrastructure

The most basic tip of all, but arguably the most important, is to ensure that you have built a strong testing infrastructure. You will never be able to understand if things are working correctly or not if you do not have a complete view of your mobile metrics.

In my time testing, we deployed a tool called Fabric — a modular mobile platform which combines with Answers (the analytics engine powering the platform) and Crashlytics (a crash reporting solution).

Fabric Answers would show us our daily active users, how many people used our apps in real-time, the device they were using and more. We could even see how quickly our users took to upgrade to the latest build, giving us a really useful overview of browsing behaviour.

Combined with other analytics tools like Flurry and Omniture, we could build an even deeper understanding of our user’s journey and spot where we could make improvements.

2. Simulate & Monitor, Monitor & Simulate, Repeat

Testing is all about running through the largest possible number of scenarios and solving any problems that come up in the process.

There are some crashes that I can reproduce in the office, demonstrating to my team why the issue may have occurred and carrying out tests to make sure it doesn’t happen again.

However, every device is used differently and therefore it is totally impossible to simulate every single possible scenario that would cause a crash. If you tried to do that, you would never release an app so it is about finding the balance simulating scenarios and monitoring for new ones that cause a crash.

Using a platform like Crashlytics will allow you to check the real-time performance of your app and the impact this has on user experience. Setting it up to receive direct notifications if a crash or issue occurs allows you as a tester to monitor and respond immediately.

Setting rules about how to prioritise work is also key. For example, if it’s a major crash, fix it and release a new update for the app as soon as possible. If it’s a minor one, develop a plan to fix it at a later date.

Testing for things beyond crashes and failures is also key. Analysing app session length to see if a change in behavior occurs — for example an increase in the length of sessions — allows us to investigate and optimize our apps accordingly. Testing can be proactive!

3. Real-World Testing

Working in a Technology-focused office, it can be easy to forget that you probably have an absolute best-in-class internet connection.

But testing apps in that kind of environment will rarely show the real problems users may face when, more commonly, they’ll be using the app through a less reliable or intermittent internet connection.

For example, certain product images or videos may not show up or take too long to download, there could be issues with the purchase path where a certain page doesn’t pick up on the last item a user browses, or the app could crash altogether when the internet connection is bad.

So how can you go about testing your app in real world situations? It is simple, exit your workplace and enter the real world. I have taken train journeys, long walks amidst towering buildings or even asked my husband to drive twice through a tunnel to test an app. A key thing to look out for are when connections switch between Wi-Fi, 3G & 4G, which often causes apps to struggle.

But of course, as being on the ground isn’t always convenient — especially in rainy London, balancing real-world testing with simulated connectivity settings will allow you do a broad range of testing. Having a well-stocked testing lab with devices and simulators is key to doing this right.

4. Not All Screens Are Equal

With so many different devices being released each year, screens have been evolving quickly, frequently getting bigger, with higher resolutions, amazing features like multi-touch and interesting quirks like the iPhone X’s notch.

However, while new devices with new screens and new functionalities are constantly being released, older devices are being used for longer — especially tablet devices — and building apps that provide a consistent, high quality user experience across all devices is important increasingly hard but also vital to maintain engagement and loyalty.

When testing, make sure that all form fields, selecting lists, buttons and links in the app are handled correctly via touch interactions. The app also needs to handle multiple interactions at a time, such as multi touch, pinch to zoom and so on, and most importantly, the resolution needs to perfectly match each device it’s on to give the user the best possible view.

5. Be Kind To The Battery

Charging a phone is inconvenient as it locks a mobile device to a single location which totally defeats the point of the device. So, if your app is eating up all of a user’s battery life, they will most likely stop using it.

When testing, keep an eye on how your app performs when:

· The device is on charge?

· The battery is low?

· The low power mode is enabled which restricts the phone’s settings, like Wi-Fi connection, Bluetooth, or 3G/4G data

If you are struggling to maintain battery life, a good first port of call is to check if any third-party SDKs are consuming large amounts of power.

Finally, Remember Why You Are Testing Your App

This blog covers a few of the most important considerations when testing apps (and there are many, many more factors not mentioned here such as push notifications, app updates, device orientations, device settings, locations and so on!).

However, most importantly, when testing an app for hours and sometimes days it can be easy to forget why you are testing in the first place. Keeping a mission in mind is crucial to making it all make sense. At YNAP, it has always been to create an amazing luxury retail experience, and keeping this objective in focus always helped me to do my job both quickly and well.

--

--

Nehir Yelkovan
YNAP Tech

Hello, I’m a delivery manager at YNAP and like attending to tech conferences and meetup groups. I’ve been running the Lean Coffee sessions in West London.