Top 10 Mobile App Development Frameworks in 2022.pdf
Mobile-Applications-Testing
1. Mobile Applications Testing
A point of view
Introduction
Challengesintesting(timeandcost)
The mobile applications market has witnessed high growth in the past few years. These applications are convenient
contextualandprovideentertainment/funtoendusers.
Mobile devices are challenging the personal computer (PC) as the application platform of choice. For the first time in
2011, sale of mobile devices was more than the cumulative sales of laptops and desktops. Further, 185 million
smartphones and tablets were shipped in the last quarter of 2011 as compared to 93.7 million PCs. Every player in the
marketiseagertotapthisexponentialgrowthbycreatingapplicationsthatenableeverythingonmobiledevicesright
fromfundtransfertolocationbasedservicestomultiplayergamingandmore.
The success of these applications depends on their working seamlessly and securely. Unlike the PC environment, the
mobileenvironmentconsistsofvarieddeviceswithdiversehardware,softwareandnetworkconfigurations.Asthisisa
great challenge to development of applications, ensuring high quality and successful deployment needs a unique
testingstrategy.
The banking and financial services domain is highly sensitive to sharing of information on insecure channels exposed
totheopenworld.Themobileplatformhasevolvedasanimportantchannel;hencetestingofapplicationsthatextend
servicesonthisplatformisakeyareaoffocusfororganizations.
In the PC world, testers have essentially only one central processing unit platform (x86 compatible microprocessors)
onwhichtheyarerequiredtotestapplications.
However,mobileapplicationtestingissubjecttocertainuniquechallenges:
¡ Existence of different mobile operating systems (OS) and original equipment manufacturer OEM-specific tweaking
of OS. Compared to the desktop OS, frequent OS upgrades on mobile devices results in recertification of the OS
applicationswiththenewversionofOS.
¡ Mobileappshaveshortreleasecyclesandareupgradedfrequentlywhichrequiresadditionaltesting.
¡ Availabilityofdiversehardwarewhichchangesquickly
Š Availability of devices with diverse resolutions that help render images and placement of user interface (UI)
componentswhichposeusabilitychallenges.
2. 2
Š Limitationsinprocessingcapabilitiesandmemorysizeimpactingperformanceofapplications
Š Limitationonmemorysize,batterylifeandsecurity
Š Existenceofvariedcomponentse.g.Wifi,Bluetooth,FM,camera,GPSandaccelerometer.
¡ Presenceofmultiplesignalprocessorshandlingvoice,audio,videoandimagesassociatedwithapplications.
¡ Presenceofmultipleinputscenarios,suchastouchscreen,keypad,andvoicecommands.
The application also needs to be tested on networks operated by different mobile service providers offering
services on various levels of bandwidth (2G, 3G, 3.5G, LTE) on which the device may run. They also use different
methodstotunnelthetraffic,changinghowapplicationswillreceiveandtransmitdata.
With the above challenges for enterprise mobile application testing, not many tools are available which reduce
time-to-marketandcostofapplicationdevelopment.
Many automation tools are platform specific/use jail broken devices and/or code instrumentation. Open source
automation tools come without any infrastructure. Some proprietary tools are very costly, leading to higher cost of
testing.
Fortestingofmobileapplications,eitheroneoracombinationoftheapproacheshighlightedinthediagramcanbe
considered.
Testingofmobileapplications
Figure 1: Approaches to mobile applications testing
3. 3
SelectionofTargetdevicesformobileapplicationtesting(weighteddeviceplatformmethod)
Pointstoconsiderwhiledefiningmobiletestingstrategy
Theselectionofdevicesformobileapplicationtestingdependsonvariouscombinations:
¡ Numberofoperatingsystemstargeted
¡ Targeteddeviceplatform(resolutionsandotherparameters)
Performing tests over diverse hardware and software combinations will increase the time required for testing. To
optimizeeffortsontestingandminimizeinvestmentsonphysicaldevices,eitheredgeorcommonalitystrategyand
ormixofbothshouldbeadopted.
For e.g. in a scenario of developing end consumer mobile applications for an enterprise, a strategy is adopted to
performtestingonheterogeneousOSandarangeofphysicaldeviceswithvariedresolutions.
Edgestrategy:Testthosedevicesattheextremes.Forexample,maximumscreensizeandminimumscreensize.
Commonalitystrategy:Testthosedevicesthataremostpopularandwidelyused.
Combination of both: To cover a wider array of smartphones, a more holistic approach would be to combine the
twostrategies.
Amixofcommonalityandedgeisrecommendedtoachievebetterresults.
Incaseofnon-availabilityofcertainphysicaldevices,devicesaremadeavailablevirtually,whichallowsthetesterto
perform tests remotely. Vendors providing services also extend physical devices with the operator network for
testing.
While the above information explains the challenges associated with mobile application testing, the question
regardingtheappropriatetestingstrategytobeadoptedpersists.
Thefollowingpointsshouldbeconsideredwhiledefiningamobileapplicationtestingstrategy:
¡ Thoroughlyunderstandthefunctionalrequirementsoftheapplicationanduserprofile.
¡ Understandtheend-to-endmobiledevicesinscope,enterpriselandscapeandidentifybottlenecks
¡ Undertakefieldbasedtestinginamulti-tiermobileapplication.
¡ Identifytherighttestingtool.Thoughonehastomakeseveralcompromiseswhileselectingtherightfit,itismost
likelythatacombinationofvarioustoolsandtechniqueswillbeselectedtoachievethedesiredquality.
4. 4
¡ UseWeightedDevice-Platform methodtoidentifyhardware/platform combinationfortest.Thismethodisuseful
especiallywhentime-to-marketiscritical.
¡ Checkthefunctionalflowinallpossibleplatformsonce.
¡ Testonactualdevicesthoughthetestcanbeperformedonemulators.
¡ Measureperformanceinrealisticconditionsofnetworkbandwidthandconcurrency.
¡ Considerexhaustivetestscenarios forsecurityvulnerabilitiesatmultiplelayersincludingbackend,ondeviceand
overtheair.
Enterprise mobility is vast and its adoption in various areas in and out of enterprises for the convenience of
employees and consumers is growing. But what if an application fails to install or function properly on a mobile
device even if it has rich user interface and is loaded with value-added features for end users? In an enterprise,
everything boils down to return on investment, hence thorough testing of mobile application before being
launchediscrucial.
Even though the time-to-market for enterprise applications is very low, testing is a very important aspect to ensure
increasedadoptionandachievebusinesssuccess.
In the banking and financial services domain, services are extended on the mobile platform and applications like
mobile banking, mobile wallet, credit rating and many more have to be tested not only for functionality and
performancebutalsoforsecurityaspectsastheyareusedtoaccesssomehighlyconfidentialinformation.
To summarize, testing of mobile applications involves considering the diverse hardware environment, presence of
variedmobileOSandmobileapplicationenvironmentsandneedsofendusers.
Conclusion
Author’s profile
Shailesh Wankhade, is with TCS Mobility Solutions and has over 7 years of experience in Mobile Application
design, development, implementation, management activities of various business application systems. He has
handled application on Android/J2ME/Windows/iOS/BB/SMS mobility platforms and VAS application in varied
domains like Government e-commerce applications, BFSI, FMCG, Telecom, ISV etc. He also has hands on
experience in project management, architecture, and development of enterprise mobile applications based on
iOS/Android operating system for the tablets and other mobile devices.