Anda di halaman 1dari 13

Software Testing help manual for iOS

Start Date
Subject

22/12/14
Software Testing help manual for IOS
developers

Platform
Created by:
Email-id

iOS
Jaimin Limbani
jaiminlimbani@gmail.com

Options/
Events

Dos

Dont s
-

Launch Event

Launch app and Go to HOME -> again


launch app from Home screen -> It
should resume app from that point
where it was suspended.
For the first time use , If user don't
allow some functions when app ask
for permission, and next time when
user try to use the same
function(without
changing
the
permission from setting) app
should not crash.
According to requirement,
applications may be designed to reset
to the initial condition on relaunch.
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 may 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 .

Any unwanted blank/white space in fields


should not create validation error.

App launch

User Sign Up
& Verification

Sign up for app

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.

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

Log-in Pages

According to requirement , User-name


may be designed uniquely i.e. If
Requirement is to combination of
alphabetical and numeric character
then it should be like abc123.
User should be logged in if user-name
and password are entered correctly.
Message should be appear after
successful log-in.
User-name field should not accept less
than minimum characters
-

User-name should not left blank

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
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 then it should display
message for all cases.

Password
Protected(Wake
up security)
Apps -> Log-in

User types correct password and it


allow user to use the app.
User go to home by Pressing HOME
button and go return back to the
app from recently opened 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

User types incorrect mail id or other detail


and it won't send request for new
password.
If email id is wrong -> it should display
message or toast.

message .

Log-out

Navigation &
Bars

Status Bar

User tap on Log-out button -> should If Connection is lost or Offline -> It should
be redirect to Log-in page
not ask user for Internet connection for Logout process and redirect to log-in screen.
If connection is lost before user tap on
log-out -> it should redirect user to
Log-in page.
According to requirement, It may be
hide also.
According to requirement, Status bar
style also can be changed.

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.

Navigation
Drawer/Side
panel

Navigation Bar
and Buttons

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.
It should be closed by swiping to the Small screen device , it is not easy to tap on
left anywhere on the screen .
the Navigation Drawer button.
Navigation Drawer should work Assigned title name and icons,in Drawer
smoothly for Expand and collapse should not be different than requirement.
view -> It can be used to reach more
current place in app easily.
Navigation Drawer icon should be If possible then action bar button should
easily tap-able
not 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.
According to requirement, Navigation
bar should be customize background
color.
According
to
requirement,
Background image can be set as
Navigation bar.
According to requirement, Buttons
can set to left or right of the

navigation bar.

Drop-downs,
buttons and
Text fields

Uploads and
Downloads

Text Fields

According to requirement , there may Text fields should not accept invalid inputs.
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.

Radio button
and Check-box

For custom radio button and Check- Custom radio and check-box should not
box -> size should be big enough for take time in response.
tapping.
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.

Drop-down
menu

According to requirement , default For medium and small size character length
value should be selected.
-> any character should not be missed.
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.
-

Picker

Picker should provide time and date


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

Upload Images

It should upload image to server


successfully.
It should display thumb image without
scratching.

It should not upload unwanted extension


files.
According to requirement, image size
should not greater than maximum size.

Download in
app

Sharing

Mail
Attachments

File Export

Export as excel

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.

App should handle the pause , resume


and stopping of resource file
downloading to the 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.

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.

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 Datestamp etc. then 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.

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.

For numeric value, Formatting should not


change.
Excel file data should be formatted Sorting value should not change in exported
properly with header and footer text, files.
date, page numbers etc. values for all
pages.
Maps

Maps

Map should be load completely on Pin size and color should not be different
app screen.
than requirement.
According to requirement, pin should
be drop at exact location
According to requirement, there may
be Zoom in button, Zoom out button
and scroll bar, and all three should

function properly.

Notifications
and
Messages

Notification

Confirming
message &
other messages
and labels

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.

It should not stop working when app is


closed.

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 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.
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

App setting
and
management

App should display acknowledge text


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

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 For web related operation, if app is keep
related operation that is taking more loading for long time then operation should
than expected time should ask user be aborted with proper message.
with proper message and 'Cancel'
option.

App Setting

If app is launched with known setting - According to requirement, Setting may or


> user changed setting in App menu may not change when user restart the app.
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


app.

Memory-File
System

Message
Exchange

App should handle any type of While app is writing data to file system ->
memory exception properly.
app closed, it should not crash and any data
should not lost.
It should display warning when app is
trying to store data in file-system and
memory space is not sufficient for it.

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.

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.

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.
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.

Null value should not submit in column


which doesn't allow it.

Language

Database

Database

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.
-

Data should be rolled back in case of


failed transactions
Security

Security

Upgrade

Upgrade an app

Upload to
iTunes

Adding app to
the iTunes

All credentials should be transferred


after encryption.
Log-out functionality should function
properly.
File upload functionality should use
file type restrictions.

Error messages should not reveal any


sensitive information
Page crash should not reveal application or
server info
Sensitive fields like passwords and credit
card information should not have auto
complete enabled
Password and other sensitive fields
should be masked while typing.
App password should be combination
of the alphabets, number and special
characters
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.

App name must be unique and should


not match with another app on the
store.
SKU number should be unique among Default Language,App Name, SKU and
your apps, it should include include Bundle ID should not entered incorrectly.
letters, numbers, hyphens, periods,
and underscores.
Supported URL should be valid.
Description should be added properly
with no spelling or grammatical
mistake.
Large App Icon (1024 x 1024 JPG, TIFF,
or PNG ) - this image is for displaying
in iTunes and on the App Store. It
should match the icon in your app.
Price and release date should be
entered properly .
Version Name and Copyright info of
app should be entered properly.
Valid e-mail address, and contact
phone numbers and a name should be

entered for app reviews information.

Touch
screens

Single Tap on
screen

Long Press/tap

It should trigger
functionality.
-

the

default 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.

Pressing and holding an item will bring It should not trigger


up a Pop menu in the middle of the functionality like Single tap.
screen.
Enter the selection mode to select
different texts/items.

the

default

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.

It should not open context menu in the


middle of the screen.

Swipe left and right -> can be used to


change the tabs.

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.

For nested views, scales up the


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

Double Tap

Pinch Zoom
In/Out

Two or more finger to zoom In/Out


contents

Networking

Only in Wi-Fi network it should work Switching between network should not
fine.
cause app crash.
Should work in only 3G connection
Without Sim-card , app should not stop
working.

Swipe or Drag

Multiple Tap on
Icons/Buttons

Network

Swiping left/right should not be difficult to


open the other options.(Time interval need
to manage properly)

It should not work as Swipe

Other Hard
wares

Sensors

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
Wi-Fi 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

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

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 GPS and blue-tooth should be turn to
battery draining instead of PNG disabled when there is no more use of it.
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.

App should not be hanged after receiving or


dialing a call.

Phone calls or
Other
Interruption

If user receive or dial call while using


application -> App should be paused
and resume after end the call.
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 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.

Interruptions
and Crashes.

UI & screens

App Fonts &


Other Contents

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.

According to requirement , Fonts size Larger fonts should not increase numbers of
and style both should be proper.
lines of label/texts or should not create the
issues with device width.
Font family,size and style should be Choosing a different font family, size, or
proper, and clearly readable on all style should not affect the appearance and
resolution screens, available in usability of your application.
market.
According to design ,all the content There should not overlapping issues for
should be managed properly
small size devices

UI

Orientation

While changing orientation -> Design If requirement is specified as landscape or


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

Screen Timeout

According to requirement , Screen If requirement is to keep lights on -> app


light may be dimmed or automatically should not allow to automatically turn off
turn off
the light.

Splash screen

According to requirement , splash App should not take extra time to present
screen should display/run for given splash screen.
time and then next screen should
appear in time.
User tap on Home button on splash screen > App should not crash or restart.

Time-Out

Cloud
Sharing

With change in orientation ->


Extended status bar should be re-sized
according to requirement.
If there is any animation then it
should run smoothly.
All images should be fit both type of
device (Retina and Non Retina
displays).
If there is any web view it should fit
to screen horizontally.

If app is idle then it should not be long time


for secure app like banking app.

Time-out

According to requirement, App login/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.
According to requirement, app can be
designed so that user redirect to some
specific screen after specific time
interval in ideal condition.

According to requirement , app may


used store/share data to clouds like
Drop-box, Box.net, SugerSync etc.

Cloud Sharing

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

While uploading or Downloading data While uploading or Downloading data


to cloud, it should display progress
user should not allow to do any other
action.
After redirect to cloud app, Log in/out After redirect to cloud from the app
functionality should work properly.
While logging in/Out , app should not crash.
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.

Anda mungkin juga menyukai