Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

  • Be the first to comment

  • Be the first to like this


  1. 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. 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. 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. 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.
  5. 5. IT Services Business Solutions Outsourcing All content/information present here is the exclusive property ofTata Consultancy Services Limited (TCS).The content/information contained here is correct at the time of publishing. No material from here may be copied, modified, reproduced, republished, uploaded, transmitted, posted or distributedinanyformwithoutpriorwrittenpermissionfromTCS.Unauthorizeduseofthecontent/informationappearingheremayviolatecopyright, trademarkandotherapplicablelaws,andcouldresultincriminalorcivilpenalties. Copyright©2012TataConsultancyServicesLimited About Tata Consultancy Services (TCS) Tata Consultancy Services is an IT services, consulting and business solutions organization that delivers real results to global business, ensuring a level of certainty no other firm can match. TCS offers a consulting-led, integrated portfolio of IT and IT-enabled infrastructure, engineering and TM assurance services. This is delivered through its unique Global Network Delivery Model , recognized as the benchmark of excellence in software development. A part of the Tata Group, India’s largest industrial conglomerate, TCS has a global footprint and is listed on the National Stock Exchange and Bombay Stock Exchange in India. . For more information, visit us at Contact For more information about TCS' Banking & Financial Services, email us at