You are on page 1of 12

Software Testing help manual for Android

UI & screens

Created by:
Email
Modification date
Platform

Jaimin Limbani
Jaiminlimbani@gmail.com
12/19/2014
Android

Options/Events

Dos

Dont s

According to requirement , Fonts size and


style both should be proper.

Larger fonts should not increase numbers of


lines of label/texts or should not create the
issues with device width.
Choosing a different font family, size, or
style should not affect the appearance and
usability of your application.
There should not overlapping issues for
small size devices

App Fonts & Other


Contents

Font family,size and style should be


proper, and clearly readable on all
resolution screens, available in market.
According to design ,all the content
should be managed properly
Screen Orientation

While changing orientation -> Design


should be fit to changed environment
According to requirement , it may be
locked by code also
App should change orientation , if user
rotate device

If requirement is specified as landscape or


portrait then it should not change
orientation
-

Screen Timeout

According to requirement , Screen light


may be dimmed or automatically turn off

If requirement is to keep lights on -> app


should not allow to automatically turn off
the light.

Splash screen

According to requirement , splash screen


should display/run for given time and
than next screen should appear in time.
-

App should not take extra time to present


splash screen.

User tap on back button on splash screen ->


App should not restart or lag.
User tap on Home button on splash screen ->

App should not crash or restart.


App launch

User Sign Up
& Verification

Launch Event

Sign up for app

Log-in Pages

Launch app and Go to HOME -> again


launch app from Home screen -> It
should resume app from where it was
suspended.
According to requirement, applications
may be designed to reset to the initial
condition on relaunch.

Launch an app -> Quickly tap on back button


within 1-2 second -> It should not restart the
app.

According to requirement , All fields


should be present

According to requirement, any field must


not miss from sign up screen.

According to requirement , All mandatory


field should be mentioned with different
sign like *,# etc..
According to requirement, all check box
and radio button should be there
According to requirement , Submit/OK ,
Reset and cancel buttons should be
there.
User should be signed up successfully , if
all the mandatory fields filled with
correct information
According to requirement,all text field
should bound with upper and lower
boundary value .
According to requirement, All the date
pickers , check box and radio button
should be validated.
Email id field should be validated
After successful sign-up -> it should
display message
Reset button should reset all the fields.
Cancel button should dismiss the
registration process

Any unwanted blank/white space in fields


should not create validation error.

According to requirement , User-name


may be designed uniquely i.e. If
Requirement is to combination of
alphabetical and numeric character than
it should be like abc123.
User should be logged in if user-name
and password are entered correctly.
Toast should be appear in android after
successful login.
-

User-name should not left blank

Validation from the server and local mobile


app must not different.
Left all fields and click on Submit/OK button
-> it should not submit the form.
Left any of the mandatory field and tap on
Submit button -> Form should not submit
Quickly tapping on submit button multiple
time, should not keep sending same form to
Server.
-

User-name should not start with or contain


any symbols
User-name field should not accept more
than maximum characters
User-name field should not accept less than

Password Protected
Apps -> Log-in

User types correct password and it allow


user use the app.
User go to home and than go back to App
from open apps in BG -> It should ask for
password.

User types incorrect password and it won't


allow user use the app.
If Password is not correct -> It should display
message or toast.

Forgot Password

User types correct mail id and it matches


in database -> It will send the request for
new password.
If it sends request for new password
successfully -> It should display message
.

User types incorrect mail id or other detail


and it won't send request for new password.

User tap on Log-out button -> should be


redirect to Log-in page

If Connection is lost or Offline -> It should


not ask user for Internet connection for Logout process and redirect to log-in screen.
-

Log-out

If connection is lost before user tap on


log-out -> it should redirect user to Log-in
page.
For password protected app -> when user
move to home screen to some other app,
user should be Logged out of the app.
Navigation

minimum characters
Password field should not left blank
Password should not contain spaces and
period.
Password field should not accept more than
maximum characters.
Password field should not accept less than
minimum characters.
If password or user-name do not match
above criteria than it should display message
for all cases.

Navigation buttons

The Up button should navigate within an


app based on the hierarchical
relationships between screens
System Back button is used to navigate,
in reverse chronological order, through
the history of screens the user has
recently worked with.
Back button should be used to remove
floating views like dialog box and pop
ups.

If email id is wrong -> it should display


message or toast.

Name or icon of the Up button should not be


different than Up screen.
If a screen is the topmost one in an app , it
should not present an Up button.

When the previously viewed screen is also


the hierarchical parent of the current screen,
pressing the Back button should not have
different result as pressing an Up button.

Action Bar

Contextual Action
Bar(CAB)

It should be used to dismisses contextual


action bars, and removes the highlight
from the selected items.
It should hide the onscreen keyboard.

Tap on Back button from Home screen -> it


should not exit app before asking in a dialog
box
If user redirect from one app to another app
or web and press Back button -> user should
not stuck in new app/Browser, it should be
redirect to first app.

Up button should be contain proper icon


or name of previous screen.
View controller should change the view
properly on the action bar.
If there are various action buttons than
all should be arranged on action bar and
in Action Overflow.
Most important action should display on
action bar(Out side Action Overflow).
The action overflow in the action bar
provides access to your app's less
frequently used actions.
Phones with menu keys should display
the action overflow when the user
presses the key.
Action Bar on at the bottom can use full
width of the screen.

Action that are not most useful , should


display in Action Overflow.
Action Bar on the top should not occupy
space more than 50%.
-

It can be used as temporary Action Bar


for the Sub tasks.

If user has selected multiple contents and


tap on back button , bar should be dismissed
and all content should be unchecked.
-

CABs are most typically used for tasks


that involve acting on selected data or
text.
It should be dismissed by Back button.
It should be removed after event is
triggered.
Navigation
Drawer/Side panel

It should be expand by swiping left to


right from the edge of the screen .
It should be closed by touching any
content outside the drawer.
It should be closed by swiping to the left
anywhere on the screen .
It should be closed by Back button.
Navigation Drawer icon should be easily

It should not closed by again swiping from


left to right.
Once user choose any options from Drawer > If it redirect to any other screen then it
should be closed automatically.
Small screen device , it is not easy to tap on
the Navigation Drawer button.
Assigned title name and icons,in Drawer
should not be different than requirement.
If possible then action bar button should not

tap-able

Drop-downs,
buttons and
Text fields

Radio button and


Check-box

Drop-down menu

Picker

Text Fields

Navigation Drawer should work smoothly


for Expand and collapse view -> It can be
used to reach more current place in app
easily.
-

enabled when User opens Navigation


Drawer.
If the user navigates away from a view with
selected content, Selection should be
removed all the content before navigating
to the new view.
If user tap on any content outside the
drawer to close it -> it should not allow to
tap on that particular content.

For custom radio button and Check-box > size should be big enough for tapping.

Custom radio and check-box should not take


time in response.

Custom check boxes -> Select All box


should change the state to marked
automatically , if all the options below
are selected manually
Custom check boxes -> If all options are
selected and user unchecked an option
from list, Select All box should be turn to
unchecked.

According to requirement , default value


should be selected.
According to requirement , values should
be sorted properly.
For very long Character length ->
maximum number of characters should
be displayed.
According to requirement, Drop-down
box should be bounded by size.

For medium and small size character length > any character should not be missed.
-

Picker should provide time and date etc...


in correct format.
According to requirement, there should
be validation on picker for time , date
etc..

According to requirement , there may be


validation for special characters or
numbers or alphabets etc..on text fields.
According to requirement , size may be
limited for text fields.
According to requirement, there may be
restriction for copy/paste on it.

Text fields should not accept invalid inputs.

Uploads and
Downloads

Upload Images

It should upload image to server


successfully.

It should not upload other extension files


like .pdf, .txt etc.. apart from Image files.

It should display thumb image without


stretching
According to requirement, There may be
option to remove images from thumb.
Uploaded image path should be proper
or valid.
Image change functionality should work
based on requirement.
Image upload progress bar should
display.

According to requirement, image size should


not greater than maximum size.
-

Download in app

App should handle the pause , resume


and stopping of resource file download
to phone.

In case of , Network lost or switching


network while downloading content in app >It should not ask user to download again or
should not create any other error.

Sharing

Mail Attachments

According to requirement , mail id might


be auto attached to Mail id field.
For Mail functionality , App should
redirect user to list of all Mail sender app
or defined Mail sender app.
After sending mail , it should display
message whether it is successful or not.

After sending mail , it should not stay in the


same screen.
All files/texts that user trying to send
through mail , should not go missing on
email app screen.
It should not allow to send file greater than
25 MB, or display proper message for it.

File Export

Export as excel

File extension of the exported file should


be proper.
File name for the exported Excel file
should be as per the standards, like File
contain Time-stamp or Date-stamp etc.
Than name should replace by actual
Date-stamp or Time-stamp
File should have proper column name.

It should not stop exporting if file size is too


large.
Special characters and signs etc.. should not
be missed in exported files.

Excel file data should be formatted


properly with header and footer text,
date, page numbers etc. values for all
pages.
Maps

Maps

Map should be load completely on app


screen.
According to requirement, pin should be
drop at exact location
According to requirement, there may be

For numeric value, Formatting should not


change.
Sorting value should not change in exported
files.

Pin size and color should not be different


than requirement.
-

Zoom in button, Zoom out button and


scroll bar, and all three should function
properly.
Notifications
and
Messages

Notification

According to requirement, it may work in


BG also when user is playing game or
watching videos etc...
It should work in multiple time zone also.
It should be tap-able or open new
activity.
If there are more number of message or
texts sent then it should display latest
message(s) on the notification.
If app is open and notification comes -> it
should display in app screen.

Acknowledging

Confirming
message & other
messages and
labels

App should not display same notification


again and again.
If app is open and notification appear on the
app screen then it should not appear again
as notification.
-

App should display acknowledge text to


let the user know that the action they
just invoked has been completed.
According to requirement , It can be
present with Undo option also.

App should ask the user to verify that


they truly want to proceed with an action
they just invoked.
It should display with warning or
message.

Some action should not taken without


warning or messages like Delete,Exit etc.

App setting
and
management

It should not stop working when app is


closed.

There should be no grammatical or spelling


mistakes in Splash / Title / Logo / Loading
Screen,About screen,Help/Instructions
Screen,Main Menu and all its subsidiary
menus and other labels...etc
Button name should not mismatch with
event of the button.

Manage Lengthy
Operations

According to requirement , any web


related operation that is taking more
than expected time should ask user with
proper message and 'Cancel' option.

For web related operation, if app is keep


loading for long time then operation should
be aborted with proper message.

App Setting

If app is launched with known setting ->


user changed setting in App menu like
volume,orientation or language etc... ->
when user Exit or Minimize app , it
should restore previous setting.
It should save all the setting on Exit of

According to requirement, Setting may or


may not change when user restart the app.

app.
Memory-File
System
management

App should handle any type of memory


exception properly.
It should display warning when app is
trying to store data in file-system and
memory space is not sufficient for it.

While app is writing data to file system ->


app closed, it should not crash and any data
should not lost.
-

Message
Exchange

Send or receive
messages in app

Message should be in proper format


while sending or after receiving it.
On message receive, it should notify user
or it should launch app with sound.

After sending message -> It should not take


more time than expected time.
Any content should not be missing when it
reaches to receiver side.

Language

Languages

According to requirement , App should


have all required languages.
If language in application set as autodetected -> App should set language
according to phone's language
When user change language manually in
app -> App should change it quickly , with
no time delay.

It should not change last selected language


again if user Exit app and again opens it.
When user change language -> It should not
restart app in Android.

Correct data must get saved in database


upon successful page submit.
Data should be stored in either single or
multiple column based on design.
Table should have primary key column.

Null value should not submit in column


which doesn't allow it.
Data must not committed to database
before the operation completed.
Null values should not be allowed for
Primary key column.
Input data must not truncated while saving.

Database

Database

Add/Update operation log should be


added.
Valid database name should be assigned
to it.
All the table constraint like primary key,
foreign key etc.. are implemented
correctly.
Radio button and drop-down list options
are saved correctly in database.
Data should be rolled back in case of
failed transactions.
Security

Security

All credentials should be transferred


after encryption.
Log-out functionality should function
properly.

Error messages should not reveal any


sensitive information.
Page crash should not reveal application or
server info.

File upload functionality should use file


type restrictions.
Password and other sensitive fields
should be masked while typing.
App password should be combination of
the alphabets, number and special
characters

Sensitive fields like passwords and credit


card information should not have auto
complete enabled.
-

Upgrade

Upgrade an app

While upgrading an app, data and setting


of old app should be preserved.
App should upgrade path from all
previous version.
According to requirement , push
notification may display on notification
bar.

After upgrading an app, any type of data


should not be missed.
After upgrading an app, user setting should
not removed/reset.
After upgrading an app,Credential should
not be removed.

Touch
screens

Single Tap on
screen

It should trigger the default functionality.

Tap on a object and swipe finger out of it , it


should not trigger any functionality.
Tap on a object and finger swiped from one
object to another object, it should not
trigger the functionality of second object.

Long Press/tap

Swipe or Drag

Multiple Tap on
Icons/Buttons

Android smart phones, pressing and


holding an item will bring up a context
menu in the middle of the screen.
Enter the selection mode to select
different items/texts.

It should not trigger the default functionality


like Single tap.

Scrolls overflowing content, or navigates


between views in the same hierarchy.
Swipes can be quick and should affect
even after the finger is picked up.
Swipe left typically used for the user to
jump back and forth between the list and
the detail view in Android.
Swipe left and right -> can be used to
change the tabs.

It should not open context menu in the


middle of the screen.
Swiping left/right should not be difficult to
open the other options.(swiping time)
-

Tap with two finger on screen at two


different location -> it should trigger the
functionality of firstly tapped
icon/button.
-

Tap and hold on a object and tap on another


icon/button with another finger -> it should
not trigger the event of second icon/button.

Tap with two finger on screen at two


different location -> it should trigger the
functionality of firstly tapped icon/button

and should not open both one after another.

Network

Other Hard
wares

Double Tap

For nested views, scales up the smallest


target-able view, or returns it to its
original scale.

Pinch Zoom In/Out

Two or more finger to zoom In/Out


contents

It should not work as Swipe

Networking

Only in Wi-Fi network it should work


fine.
Should work in only 3G connection

Switching between network should not


cause app crash.
If Sim-Card is removed, app should not stop
working.

Should work in only 2G connection


In Airplane mode (or all connections
disabled)
It should work fine using the network
through a USB connection to a PC
It should work fine in case of user moves
to Out of network.
Should Work fine in device with no SIM
card.
It should work fine if user walk out of WiFi range so the connection automatically
switches to 3G/2G (for example, in a
large building like a hospital or airport, or
outdoor
It should display message ,if connection
is lost.
The Application will work until time out
and then give an error message to the
user indicating there was an error with
the connection

If your application can potentially store


or retrieve items on the device's SD card,
then it is important to test the
application!s behavior when there is an
SD card present or not.
If SD card is required for app , Message
should be displayed if SD card is not
available

Remove the SD card in mid operation should


not affect the app.

SD card interaction

Sensors

Gyroscope or Accelerometer Sensors:


While changing the position, angle and
alignment of the device , it should move
or navigate in app.
Proximity sensors: For phone call or auto
screen lock , it should turn off display at
right time and when object removed
from over the sensors, it should turn on
the screen automatically.
GPS sensors: In MAP related app, it
should detect exact location and app
should display it in time.
Ambient Light Sensor: According to
requirement, It should be enabled and
disabled the sensors e.g. For some games
, full brightness is mandatory
Compass sensor: In MAP related app, It
should point toward right direction in
right time in user's app.

Battery Usage

Interruptions
and Crashes.

Phone calls or
Other Interruption

GPS sensors: According to requirement, If


user is out of some specific area,then app
should display default location as current
location.
-

Use of JPEG images can slow down


battery draining instead of PNG images.
JPEG compresses images better and is
faster to render, and is therefore more
energy efficient.
Background service should be disabled
when device lose connectivity.
Developers should set frequency of
background updates to reduce the effect
of those updates on battery life, refresh
rate should be maximum whenever the
device is connected to a wall charger and
if the device is discharging, reducing your
update rate helps prolong the battery
life.
Background updates rate can be set
according to battery level changes.

GPS and blue-tooth should be turn to


disabled when there is no more use of it.

If user receive or dial call while using


application -> App should be paused and
resume after end the call.

App should not be hanged after receiving or


dialing a call.

Time-Out

Text messages, Voice-mail notifications,


Calendar events, Social media
notifications (Facebook, Twitter, etc),
Alarm clocks and Low battery notification
-> App should work fine after such
interruption

App should not be hanged or data loss after


interruption of Text messages, Voice-mail
notifications, Calendar events, Social media
notifications (Facebook, Twitter, etc), Alarm
clocks and Low battery notification.

App Crash

Programmer should Handle the a poor


network connection,it can force an app
crash as well.
For some low memory devices -> app can
crash easily compare to high end devices.

When a programmer references an object or


variable that doesn't exist, technically called
a null-pointer error.
Programing Errors in the coding that triggers
invalid and unauthorized instructions can
cause app crash.

Time-out

According to requirement, App log-in/out


function can be set to specific timeout for
security purpose.
While uploading or downloading data ,if
it takes more time due to interruption or
lost network, it should be timeout.

If app is idle then it should not be long time


for secure app like banking app.
If server is responding very slow or due to
any other interruption there is any issue
then it should not be keep loading, it should
be timed out

According to requirement, app can be


designed so that user redirect to some
specific screen after specific time interval
in ideal condition.
Cloud
Sharing

Cloud Sharing

According to requirement , app may used


store/share data to clouds like Drop-box,
Box.net, SugerSync etc.
While uploading or Downloading data to
cloud, it should display progress
After redirect to cloud app, Log in/out
functionality should work properly.
While Downloading data from cloud it
should ask to store data on desired
location.
If in the same file/Folder user wants to
copy data, and a file with same
name/data is already exist there it
should inform user about it.

While uploading or Downloading data


user should not allow to do any other action.
After redirect to cloud from the app While
logging in/Out , app should not crash.
-

You might also like