Quality

Quality is something we care about deeply. No shortcuts or hacks. And as such we have an extension checklist for Apps to ensure correctness and functionality.

We check these things so you don't have to.

Pre-release checklist

Internet Connectivity

Test all the data downloading sections of the app by trying them on the appropriate connection type. Consider graceful degradation and failure as well as success conditions.

Connection N/A NO YES
Wifi
Edge
GPRS
No Network
Break in Network - use Charles
Server unreachable - timeout
Resumed connect - streaming only

Locale

Change device’s settings then load the app. Check that dates appear correctly, especially dates from external feeds or services.

Locale N/A NO YES
12 and 24 hour clocks
Regions:
Languages:
Timezones
Daylight Savings Time

Devices

Run the application through navigations using different devices with different iOS versions and display formats.

Device N/A NO YES
iPhone / iPod touch running iOS 5.0
iPhone / iPod touch running iOS 5.1.1
iPhone / iPod touch running iOS 6.0
iPhone / iPod touch running iOS 6.1.3
iPhone / iPod touch running iOS 7.0
Retina iPhone display
Non-retina iPhone display
iPad 1 running iOS 5.0
iPad 1 running iOS 5.0
iPhone / iPod touch running iOS 5.1.1
iPad running iOS 6.0
iPad running iOS 6.1.3
iPad running iOS 7.0
Retina iPad display
Non-retina iPad display
iPad mini display

Location

Location N/A NO YES
True GPS
Wifi location
Cell tower location
Unable to find location
No results returned (e.g. too far from any searchable points of interest)
Location services turned off
Location services disabled for this app

Logging

Logging N/A NO YES
Logging events to live server
Logging errors (interact with other tests?)

User Interface

Test each major view in the app.

Title N/A NO YES
Double height status bar (eg in call)
Orientation change
Upside-down orientation
Orientation lock
VoiceOver turned on
Usable by a new user with Screen Curtain turned on
Works with Accessibility Zoom turned on

Installation

Installation N/A NO YES
Fresh install
Upgrade from previous live version
Upgrade from older live version
Rollback

Third Party Services

All third party services should use production API key and the new app version should be registered in the respective dashboards

Title N/A NO YES
Production analytics/tracking API key
New app version tracking data available tracking in dashboard
Production crash reporting API key
Upload dSYM to crash reporting tool
New app version available in crash reporting dashboard
Push notification service API key
New app version added to push service dashboard
Production App ID for social services (Twitter, Facebook, Instagram, etc)

Misc

Misc N/A NO YES
Bluetooth
Motion
Tested in Ad Hoc mode
Version number upgraded
Bundle identifier correct for release