Thursday, August 23, 2012

Tips for iOS app upgrade testing

Testing app updates is very important before release candidates are submitted to the app store. Most functionality and features will probably work and serious issues or bugs are less likely to occur. However, some configuration changes could be made to the files that are used by the current iTunes app version that could be stored on user devices since the app was originally installed. When the user attempts to apply an app upgrade, some updates may fail due to the fact that there may still be the old (cached) files in the app bundle that don’t get reset. The code may work in such a way that updates to those files will not run until the next time the app is cold-started (user has to apply fresh install as the database is not ‘emptied’ and reset on an upgrade). 

Talk to your developers and find out whether any configuration changes have been made and whether app upgrade testing is necessary. For sanity reasons attempt to convince your team to run upgrade tests anyway. It may so happen that things have been changed in a rush and your team either forgot to tell you about it or did not think that a change was significant enough to be addressed in testing.

Here are a couple of tips on how to run upgrade testing

It’s recommended to use iTunes to help overwrite an older version of the app with the new one. (Please refer to the following ‘Testing iOS App Updates’ developer notes for more details - http://developer.apple.com/library/ios/#technotes/tn2285/_index.html#//apple_ref/doc/uid/DTS40011323

  1. Ask your developers to build a distribution (adhoc) version of the app that is currently released to the iTunes store (configuration based on the Release configuration) and has the same bundle identifier as the new app.
Tip: The bundle identifier is an ID for your application used by the system as a domain for which it can store settings and reference your application uniquely. (see this blog for more details How to Submit Your App to Apple: From No Account to App Store, Part 1)
  1. Remove all the app versions from your iDevice
  2. Remove all app versions from the Apps folder in iTunes. Sync with your iDevice.
  3. Drag the older version of the app and sync/install to your iDevice
  4. Launch the app on your iDevice.
  5. Run smoke test of the old build - review that content loads and looks correct.
  6. Drag a release candidate app to iTunes and sync/install onto the same device. iTunes should confirm replacing the older version of the app. (DO NOT delete old build, iTunes will install over it simulating the upgrade from app store).
  7. Launch the new app on device
  8. Verify that the new version of the app is running successfully.
You may run additional install/upgrade tests in case the app has been upgraded multiple times in the app store:
1. Install and verify the new app release candidate
2. Run upgrade test from earlier version 1 to the release candidate
3. Run upgrade test from earlier version 2 to the release candidate
3. Run upgrade test from earlier version 1 to 2 and then from 2 to the release candidate 

Hope this is helpful.

No comments:

Post a Comment