beta
Hello developer. Login with your existing account. New to Vodafone Developer? Register your account.

+ Login or create an account

Android QA Checklist

Note (12th Sept 2011): Compliance with the checklist does not guarantee your submission will be accepted as it will also need to pass a filtering process as part of the QA check.

Vodafone’s QA criteria for native Android Apps
Version 1.0 – September 2010

Introduction

This document provides guidelines for elements and features that we check for when testing your applications. Before submitting your app, we recommend that you ensure these criteria have been met, to reduce the time it takes to approve your app and increase chances of passing first time round.

Criteria

CriteriaChecked
Upload requirements
The application title and description must not be offensive.
The description must fit the application functionality.

You must declare whether your application contains any of the following:

  • Sexual in nature
  • Gambling-related
  • Obscene language
  • Promoting drinking, drug-taking, or smoking
  • Depicts or promotes violence
  • Relates to topical social, religious, or political issues
  • Advertising

Applications containing such content, which is not declared, will be rejected.

The application should not exceed 300MB in size.


CriteriaChecked
Application execution and functionality
The application should be free from viruses and other malicious code.
The application must install successfully and launch correctly.
Only services or APIs in line with the described functionality of the application should be requested.
The application must close itself without causing any unexpected effects, such as freezing the phone.

The application’s icon:

  1. must not be pixelated
  2. if the icon contains text, it should be legible
  3. must not be the default icon.

Any hidden/background services that are not clear from the apps core function or description should be clearly explained. For example, a clock application should not ask for a Bluetooth connection unless the use case is clearly explained.

Interactive elements like buttons and links should not mislead users about their functionality or purpose

e.g. pressing a help menu button must not initiate camera usage

The application’s performance in general usage should not impact negatively on a user experience.
The application should use loading indicators for actions that take between 2 and 10 seconds. Actions taking longer than 10 seconds without displaying an indicator will result in the application being rejected.

CriteriaChecked
Navigation
Navigation should work correctly with the input methods offered by the device.

An application for a touch device should use touch interaction to navigate all functions/screens of the application, e.g. tapping buttons, navigating lists etc.

All interactive elements such as buttons must respond to touch interaction on first use. It must not be difficult to touch an interactive element, such as a button, link, image, etc.


CriteriaChecked
Resolution

Portrait mode: The application should take advantage of the screen resolution of the handset in portrait mode on all available screens within the application

Large amounts of blank space as a result of incorrect scaling for the device resolution will lead to the application being rejected.

Landscape mode (if supported): The pplication should take advantage of the screen resolution of the handset in landscape mode for all available screens within the application.

Large amounts of blank space as a result of incorrect scaling for the device resolution will lead to the application being rejected.

Applications should respond to ‘on the fly’ changes in phone orientation e.g. if the user rotates the phone.


CriteriaChecked
Homescreen(s) view

If the application supports a widget then it must added correctly to the homescreen(s) and fulfil the following rules:

  • The widget should be displayed correctly and be of high quality;
  • Interactive widgets placed on the homescreen(s) should work as per their intended functionality, e.g. music player should play music.
  • Widget-only applications (that don't have a launchable application) should notify the user that the application works only on the homscreen(s) view, e.g. in the application description or in a dialog after opening the icon.
  • Each configuration the widget uses will be tested
The widget should not generate errors if it is removed from the homescreen.

CriteriaChecked
API behaviour

Location detection GPS:

  • If the GPS mechanism is used in the application then it should be launched and run correctly without causing any freezing or failures.
  • Any application using the Location API should follow the Vodafone Content Standards Guidelines, it should contain proper information about why it uses GPS along with some basic information of the author such as their name, email or website.
  • For location detection, the app should correctly locate the device. If no location is found (or permitted by the user) then the application should react gracefully (e.g not freeze or crash) and inform the user accordingly.

Audio/Video, Camera

  • If the application uses the audio/video or camera multimedia APIs, then they should be launched correctly. The whole API functionality should be available and should not cause any errors or freezing.
  • Any recording options must record audio/video from the proper hardware inputs of the platform.
  • Correct Audio/video file formats or media resources being streamed over the network must be played properly.

File system interaction

  • The app should correctly display file and folder listings with properties like file name, path, size, creation date and last modification date.
  • It should correctly handle functionality like creating, deleting or managing files or directories and getting/setting file permissions, file type and last modified time.

Messaging

  • The app should correctly cope with functionality like creating, sending or monitoring incoming messages and recording or processing email, sms or mms messages.
  • When sending fails an error message should be displayed.
  • If a payment mechanism is applied then the account should be decreased by the declared amount of money.

Address book

  • The application should successfully obtain information from the address book. Adding a new contact to the device or deleting one, editing an existing one, finding a contact from a specific index or having access to specific contact properties should be properly handled.

Network account info

  • The application should be able to provide read-only information about the user account associated with the phone.

Wallpaper interaction

  • The applications functionality like setting device wallpaper, browsing all available images or resizing images to fit the screen should be successfully implemented.

Bluetooth

  • Actions like turning the Bluetooth adapter on/off, scanning for devices, connecting with devices and managing data transfer between devices must run correctly.

Dialer interface

  • The dialer should be displayed correctly, it should contain the digits 0 to 9, hash, star, delete, handle call and end call button.
  • After dialing and confirming the number, a call should be initiated to the proper number.
  • If there is no connection then an error should be displayed.

Battery

  • The application should properly collect battery statistics. Presented values should be comparable to the native battery indicator (an embedded Android’s function)

Calendar, clock

  • Calendar and clock data must be properly collected. If the application is able to set new data for the clock and calendar, these functions must be successfully implemented.

Backup

  • While the application is being restored from backup it should successfully replace any existing data with the contents of the backup.

Running processes

  • The application must correctly retrieve information about running processes, available applications and memory usage, successfully erase installed applications and kill ongoing tasks on the device.

Notification manager

  • When calling a new notification, old notifications must be successfully updated or dismissed according to the new information

Settings manager

  • The application must properly collect device properties and statistics.
  • If it changes retrieved data, then settings should be successfully set and correctly updated.

DRM API

  • The DRM API (licensing API) must not be used in the application.

CriteriaChecked
Content standards

The application’s content must adhere fully with

  1. Developer Terms and Conditions
  2. Content guidelines
  3. The requirements in this document

CriteriaChecked
Offline mode
If there is no network connection then the application must not crash or freeze. The lack of internet connection should be handled correctly i.e. the appropriate message should be displayed.
The application must be able to respond to changes in network connectivity on the fly.

CriteriaChecked
Data connection
While the application is closed, it should not generate any traffic, unless specifically stated or if it is still active in a homescreen widget.