Once you have a developer building an iPhone app for you, it is important to test all aspects of it. How does this process work?
Have the Right Device
Ideally, you want to have your own devices available that you can test on. You could depend on beta testers or iPhone simulators, but this is not the same as testing your own app on your own device. One of the benefits of developing for iPhones, is that testing is much simpler than it is on Android. All you need to get started is the latest model of the iPhone (since each new model tends to eclipse previous models in sales) – which is what the majority of users will (soon) have.
Things are a little trickier these days with the iPhone 5, since it has a different form factor that previous iPhones. This means that, to avoid complications, you would want to test on an iPhone 5, and an older iPhone just to see what your app would look like on both devices.
Another benefit of developing for iOS devices is that most iOS users tend to update their phones fairly quickly, when a new operating system is released, so it’s not as important to test your app on older versions of the operating system as it is on other mobile platforms. When a new version of the operating system is announced, Apple usually gives developers a few months notice to test their apps on the new operating system, before it’s released to the general public, so that there are no surprises in store for you.
Bottom line: If you’re a small developer (as most people are), then focus on the biggest market – pick the current model iPhone and the latest operating system and make sure you’re testing for that.
Getting the Test Version onto your iPhone
So how do you test a mobile app on your device? The first thing you need to do is find your device ID (also called UDID – Unique Device Identifier). This number will need to be emailed to your developer. He will then create a special beta test version for you using this UDID. Because the UDID will be a part of the file, other devices will not be able to run this version of the app, unless their UDIDs are also provided (Apple lets you submit UDIDs for up to 100 devices).
There are two ways to find your UDID – one (3rd party app) easier than the other (iTunes).
- Via iTunes: Plug your phone into your computer, launch iTunes, find your UDID and copy and paste it in an email to your developer.
- Via 3rd party app: From your iPhone, visit the app store and search for UDID – you should see several apps in the results. Pick a free one. It will then let you email your developer directly from the app, with your UDID pasted in.
Once your developer has your device ID, he can then email you a test version. How do you install it to your phone from the emailed file? Again, there are two ways – and again a 3rd party company has come along to provide a non iTunes way (easier) way:
- Download the IPA file that your developer sends you and drag it into the left sidebar of iTunes. It will then be installed, the next time you sync your phone with iTunes.
- Use a 3rd party service like testflightapp. Your developer will then upload the file to their site. Their site will then email you instructions on how to install the version directly onto your phone. The beauty of this approach is that you can install the file directly from your iPhone email without having to sync your device with your computer. This approach is highly recommended!
Testing Your App
Nothing beats the feeling of testing a live version of your app on your own device. There is something exhilarating about seeing your concept go from conception to mockups to actually running on your phone! So what are you looking for at this stage?
- Does the app provide all the functionality that was promised in this version?
- Can the usability be improved? For example, are there ways to reduce the number of steps to perform a function. Is it easy for users to figure out how to perform a task?
- Are there any bugs (crashing, freezing or unexpected behaviors) in this version?
- Does your app handle all the use cases? What happens if a user enters an unexpected value into a field? Does your app display the right error message?
Depending on the complexity of your app, you may also want to get other users involved to test out your app. This is important since while you understand your app well and how to use it, others may not understand the concept as well as you do. When getting others involved, ask the following questions:
- Do they understand the concept of the app and what its purpose is?
- Provide them with some test tasks to accomplish in the app, and see if they are able to do so.
For smaller apps, you and invite friends to help you beta test, by emailing them with copies of your app (using the same methods listed above).
For more rigorous testing, you can sign up for a 3rd party service that match developers with testers, such as thebetafamily or centercode.
So while your developer is working on more advanced features, you should be testing the current feature set to make sure everything’s working the way it should be. The earlier a bug is found or change is made, the more time and money it will save you down the road, so be diligent in this area.
If there are any other tips you’ve used during the testing phase, or any other 3rd party resources you can recommend, do let me know in the comments below.