Professional Documents
Culture Documents
Iphone & Android Application Testing: Author: Syeda Fatima Waseem
Iphone & Android Application Testing: Author: Syeda Fatima Waseem
Application
Testing
Author: Syeda Fatima Waseem
What is
Andriod???
AndroidisaLinux-basedoperatingsystemdesigned
primarilyfortouchscreenmobiledevices
FirstAndroid-poweredphonewassoldinOctober2008,andby
theendof2010Androidhadbecometheworld'sleadingsmart
phoneplatform
Ithadaworldwidesmartphonemarketshareof59%atthe
beginningof2012,andasofthirdquarter2012,therewere500
milliondevicesactivatedand1.3millionactivationsperday
What is
iPhone???
iPhoneisalineofsmartphonesdesignedandmarketed
byApple
TheiPhonerunsApple'siOSmobileoperatingsystem,originally
namediPhoneOS
ApplicationsfortheiPhonearewritteninObjective-C
DevelopmentofiPhonebeganin2004andfirstiPhonewasreleasedin
2007
Messaging:
AppleiOS:
Android:
SMS,MMS,eMail
SMS,MMS,eMailandC2DM
Technology Access:
AppleiOS:
3G,3.5G,Wi-Fi,Bluetooth(HSDPA,HSUPA,UTMS)
Android:2G,3G,3.5Gand4G(GSM,EDGE,CDMA,EV-DO,UMTS,Bluetooth,NFC,WiFi,LTEandWiMAX)
Compatible Devices:
AppleiOS:
Android:
iPad,iPodTouch,iPhones
AnyDevices
Web Browser:
AppleiOS:Android:
Safari
ChromesV8JavaScriptengine
Connectivity:
AppleiOS:
Android:
Wi-Fi,Bluetooth
Wi-Fi,BluetoothandNFC
Introduction
Mobiledeviceshavewitnessedaphenomenalgrowthinthepast
few years and there are more mobile phones in the world than
televisionsandPCscombined
Testingisexpensiveandtimeconsumingbutitisneeded
to ensure that your consumers have a positive
Failtodoagoodjoboftestingandyourcustomerwill
leaveforever
Primarygoalofyourtestingeffortsisnottofinderrors
Goalintestingshouldbetounderstandthequalityofyour
offeringsi.e.
Mobileapplicationtestingisaprocessbywhichapplication
softwaredevelopedforhandheldmobiledevicesistested
foritsfunctionality,usabilityandconsistency
Number of devices can be reduced to an extent, but each time you reduce the
number of device types that you test against, you are taking a chance that your
applicationmightnotworkonadevice,lockingoutanumberofpotentialcustomers
To handle the device challenge, you have two options: You can test using real
devices, or you can test using emulated devices
Useofemulatorsandactualdevices
Useoftestautomation
Real Device
Advantage:
Real devices have the advantage of having all of the limitations and
quirkspresentintheactualclienthardware
Disadvantage:
Testingwithrealdevicesisincrediblyexpensive
Emulator
Advantage:
Emulated devices are easier to manage one can switch device types by simply
loadinganewdeviceprofile
EmulatorsrunonmorepowerfulPCs/serversanddesignedwithtestinginmind
Emulateddevicesarecosteffective
Disadvantage:
Emulated devices lack the quirks and faults that only the real device can
provide
Wecannotzoom in oncewehavethemodalwindow,andintheoriginal
zoomed out size we can hardly see anything for testing a specific
feature
They are extremely slow and Problems occur while doing testing
onMobileApplications
Asimulatorisapieceofsoftwarethatduplicatesaspreciselyas
possibletheprocessorto"run"codetoseeifitis
correct
Anemulatorgenerallyisapieceofhardwarewhichduplicatesthe
featuresandfunctionsofarealsystem;itisself-contained,andisable
tobehookedtosomekindofdevelopmentenvironment
Unit Testing
Primarygoalofunittestingistotakethesmallestpieceoftestable
softwareintheapplication,isolateitfromtheremainderofthecode,and
determinewhetheritbehavesexactlyasyouexpect
Eachunitistestedseparatelybeforeintegratingthemintomodulesto
testtheinterfacesbetweenmodules
Integration Testing
Itoccursafterunittesting
Functional Testing
Functionsaretestedbyfeedingtheinputandexaminingtheoutput
Performance Testing
Check the performance and behavior of the application under certain conditions
such as low battery, bad network coverage, low available memory, simultaneous
accesstoapplicationsserverbyseveralusersandotherconditions
TestingisperformeduntiltheApplicationundertestachievestheexpectedlevels
ofperformance
Performance Testing
Systemtests(bootingthephone,orresumingfromstandby)
Userinterfacetests(rotatingthescreen,displayingamenu)
Media(startingavideo)
Phone(callingacontact)
Compatibility Testing
UI of the app is as per the screen size of the device, no text/control should be
cuttingoff
Textshouldbereadable
Suspend/Resume(Call/SMS/Alarm)whenappisrunning
Ifapphastimer/soundthenSuspend/Resumetimer/sound
BehaviorofapponFlip/Sliderclose
Behaviorofappwhenmemoryofthedeviceisalmostfull
Behaviorofwhennetworkisnotavailable
Behaviorofappifappisrunningforlongerperiodoftime
Behaviorofappwhenkeysarepressedrandomly
Load Testing
Objective is to test whether the mobile application qualifies and sustains the
requirednumberofuserswithmaximumloadforminimumtomaximumperiodof
time
Stress Testing
Stresstestingisusedtodeterminethestabilityofagivensystemwhen
loadplacedonthesystemisraisedbeyondnormaloperationalcapacity
oftentobeabreakingpoint,inordertoobservetheresults
Processoffeedinglargesttasksitcanoperatewith,andconstantly
increasingtheloadonthesystemviaautomatedtoolstosimulatereal
timescenariowithvirtualusers
Regression Testing
Regressiontestingseekstouncovernewsoftwarebugsinexistingareasofa
systemafterchangeshavebeenmadetothem
Intentofregressiontestingistoensurethatachange,suchasabugfix,didnot
introducenewfaults
Commonmethodsofregressiontestingincludererunningpreviouslyruntestsand
checkingwhetherprogrambehaviorhaschangedandwhetherpreviouslyfixed
faultshavere-emerged
Determinewhetherachangeinonepartofthesoftwareaffectsotherpartsofthe
software
Other Testing
Insufficient Authentication:
Insufficient Authentication occurs when an application permits an attacker to access
sensitivecontentorfunctionalitywithouthavingtoproperlyauthentication
illegallyobtain,changeorrecoveranotheruserspassword
Insufficient Session Expiration:
InsufficientSessionExpirationiswhenanapplicationpermitsanattackertoreuseold
sessioncredentialsorsessionIDsforauthorization
Insufficient Authentication:
Insufficient Authentication occurs when an application permits an attacker to access
sensitivecontentorfunctionalitywithouthavingtoproperlyauthentication
illegallyobtain,changeorrecoveranotheruserspassword
Insufficient Session Expiration:
InsufficientSessionExpirationiswhenanapplicationpermitsanattackertoreuseold
sessioncredentialsorsessionIDsforauthorization
Pagescrolling
Navigationbetweenscreens
Datatesting
NetworkTesting:(iftheapplicationisNetworkbased)
VerifythebehaviorofapplicationwhenthereisNetworkproblemanduseris
performingoperationsfordatacall
UsershouldgetpropererrormessagelikeNetworkerror.Pleasetryafter
sometime
ApplicationSideEffects:
Installedapplicationshouldnotcauseotherapplicationsofdevicetohamper
Itispreferredtohaveaquickandeasyappwithlessfunctionalitythanaslowand
difficultapplicationwithmanyfeatures
Anappthatiseasy-to-useandintuitive,andsimilartoindustry-acceptedinterfaces
willtendtodowell
Buttonsshouldhavetherightsizeandbesuitabletobigfingers.
Buttonsinthesameplaceofthescreentoavoidconfusion.
Naturalandconsistenticons.
Buttonsthathavethesamefunctionshouldhavethesamecolor
info@swaam.com
+92-42-35782346
www.Twitter.com/SwaamTech
www.FaceBook.com/SwaamTech