Tips for Testing the iPhone Applications


Working in a Testing and Quality Assurance Company is always a useful learning experience, as you not only test and validate different types of fascinating applications, but also get aware of their technical requirements and designs. Applications need to be tested on every available platform to verify its compatibility and functional issues. However, as I’m emotionally more attached to Steve Jobs Brand, I ended up learning some sort of useful things related to testing iPhone apps. Here I’m listing down 10 tips that can really help you in conducting iPhone app testing. These techniques and practices are based on my practical work experience.


Accurately Test the Memory

It is pivotal to accurately identify and report the available free memory to avoid non-reproducible bugs. In most of the cases, low memory conditions are mostly responsible for the reproducibility of a crashing iPhone app bug. Consequently, where there is ample of memory available, we may not come across a crashing defect. Therefore, it is imperative to determine the free memory available using the tool named as “Instrument”.


Look for the .crash file

A .crash file is generated and stored in your iPhone in case of an application crash. To retrieve this crash file, you can go to stored iPhone Crash Logs and retrieve it from the iTunes as your iPhone is synced with the iTunes.


Test connectivity Issue

 Create connectivity problems if you are testing an app that uses internet connection by turning on the Airplane Mode. You can also make the connection unavailable by employing metallic “shield” on top of the iPhone.


Test with background applications

Safari, iPod and Mail are the applications that run in the iPhone background. The notifications and reminders can affect the behavior of an application. Moreover, most of the people use iPods or iPhones to play music or receive a call. Therefore, an application should be tested under such cases to gracefully handle such situations and should be smoothly multi-functional in these areas.


Assist the Developers

It is a good practice to help the developers in the debugging process to find the root cause of the problem. Testers can help the developers by running the app in the different memory conditions. If the application crashes in the low memory conditions, then try to run the app in the maximum memory conditions, that can be for example >40MB. If the problem remains under OS2.2x, try in a different OS i.e. under 3.x.


 Keep an Eye from the console 

 This will enable the reporting process. System and application level warning will be reported by the iPhone apps.  To view these warning, you can go in the real time by using Apple’s iPhone configuration Tool. This will help you to keep an eye on what’s going on when the app interacted with different environment and background. This will help you to refine and redefine the steps in case of any fiddly problems or memory related issues.


Test under different memory conditions

 Testing under low memory conditions is critical to locate and track additional bugs in the app.  Forcing free memory to go below a level of 2MB will result in siting additional defects.  One way to create this scenario of very low level memory is to open many Safari browsers, before starting the testing process.


Take Screen Shots

Excessive screenshots may irritate the developers but to report UI bug to the developer, this is a very useful technique. You can do this by using the built-in screen capture.


Test data input                                                                                                                   

There is always a real chance of tracking a bug, whenever iPhone app prompts for a text input. A useful technique is to copy a large amount of text and paste it into the relevant field. This technique will give you a surprise the way it trips up some applications.


Manage UDIDs early                                                                                                         

Gathering up UDIDS looks like an easy logistics task but becomes crucial as it approaches to first build. It creates hassle for the development team to import new UDIDs and make new provisioning files. Acquire the UDIDs of all known devices that will be used during the testing process. Also, you need to set cut-off date in case you want to add any of the new devices. With a single click, you can check out Find UDID. iPhone Configuration Tool can be used to collect UDIDs by connecting all your iPhones and iPods touches with the computer