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.

Mobile App Testing


Published on

Mobile is booming, and that's a good thing! But with multiple operating systems and tens of thousands of devices on the market, how can you ensure your app delights your users everywhere, every time, at every turn?

Published in: Mobile
  • Login to see the comments

Mobile App Testing

  1. 1. Mobile Application Testing Presented By: Sally Mohamed
  2. 2. Agenda  What’s In Your Mind?  Mobile Platform  What is Mobile App?  Type Of Mobile Application, Which Should You Choose?  Mobile Application Testing  Why Mobile Apps Testing is Different from Desktop and Web?  Types of Mobile Testing?  What are the challenges in mobile app testing ?  Testing Objective  General Techniques  Mobile Testing - Types  Components Of Mobile Testing  Mobile Testing Tools  Workshop
  3. 3. Gone are the days when the telephone used to be an appliance that sat in a corner and had to ring to get our attention or a computer was a machine only few people used – they are now an extension of our being- a window to the world and virtual servants that do as they are told. Computers were a rage and changed how we humans thought, behaved, learnt and existed. Mobile technology and smart devices are the trend now and will change the future of the world as we know it. We all can vouch for it, can’t we? Now, it will be amateurish if I list what we use these mobile devices for. You all know it – May be better than we
  4. 4. What’s In Your Mind?
  5. 5. Current version 6.0 Closed Source Apple Safari web browser Sync Patch updates Current version 6.0 Closed Source Apple Safari web browser Sync Patch updates iOS Windows Phone Symbian Blackberry OSAndroid Closed Source Current version 6.0 Closed Source Apple Multi-tasking Safari web browser Sync Patch updates Current Version 4.1 Open Source Open Handset Alliance Multi-tasking Chrome/ Webkit Browser Sync Patch / OTA Current Version 7.5 Closed Source Microsoft Multi-tasking Internet Explorer Synch Patch updates Symbian^4 Closed Source Nokia Multi-tasking Webkit Browser Sync Patch / OTA Current version 7.0 Closed Source RIM Multi-tasking Webkit Browser Sync Patch / OTA Mobile Platforms
  6. 6. What is Mobile App ? Mobile applications are a rapidly developing segment of the global mobile market. They consists of software that runs on a mobile device and performs certain tasks before the user of the Mobile Phone. They can be downloaded physically through USB / WIFI from a desktop or can be downloaded by a web server over internet.  IQ Video Players Audio Player Streaming Players Graphical Viewers Presentation Viewers  City Guide Currency Converter Translators Weather Itinerary TravelMultimedia MOBILE Application  Email Clients IM Clients Browser apps Social Network Apps  Calendars Calculators Diary Banking / Finance Directory Services CommunicationProductivity Utilities Address Book manager File Manager Call Manager
  7. 7. Native Applications Nativeapplications aredeveloped fora specific platform and installed on the device Hybrid Applications Hybrid application (hybrid app) is are combinations of native app and web app. They run on devices or offline and are written using web technologies like HTML5 and CSS. Web Based Applications Web based applications are accessible through device browser or third party browsers installed on thedevice, like chrome, Firefox by connecting to a mobile network or wireless network like WIFI. Depending on the requirements. Some apps are a better fit with web technologies than others. Knowing the pros and cons of each approach will help you make the right decision about which path is appropriate for your situation. Types Of Mobile Application
  8. 8.  live on the device and are accessed through icons on the device home screen.  installed through an application store (such as Google Play or Apple’s App Store). IPhone: Objective C Symbian: C/C++ Windows Mobile: .NET CF Android : Java for Application and C/C++ for Low Level  They are developed specifically for one platform, and can take full advantage of all the device features — they can use the camera, the GPS, the accelerometer, the compass, the list of contacts, and so on.  They can also incorporate gestures (either standard operating-system gestures or new, app- defined gestures).  Native apps can use the device’s notification system and can work offline. Native App:
  9. 9. Mobile Web Apps:  Web apps are not real applications; they are really websites that, in many ways, look and feel like native applications, but are not implemented as such.  They are run by a browser and typically written in HTML5.  Users first access them as they would access any web page: they navigate to a special URL and then have the option of “installing” them on their home screen by creating a bookmark to that page.  Web apps became really popular when HTML5 came around and people realized that they can obtain native-like functionality in the browser.  Today, as more and more sites use HTML5, the distinction between web apps and regular web pages has become blurry.
  10. 10. Mobile web cons In 2011 Financial Times withdrew its native app from Apple’s App Store to circumvent subscription fees and maintain closer connection with their subscribers. Instead, it came out with an iPhone web app ( Horizontal swiping on Financial Times' web app Its web app is, in many ways, hard to distinguish from a native app. For instance, there are no visible browser buttons or bars, although it runs in Safari (when accessed from an iPhone). Users can swipe horizontally to move on to new sections of the app. And, due to browser caching, it’s even possible to read the newspaper offline. These are all features that are available in HTML5. Also available are the GPS, the tap-to- call feature, and, there is talk about a camera API, although I haven’t seen any web app (or web page) that takes advantage of it so far. There are, however, native features that remain inaccessible (at least from now) in the browser: the notifications, running in the background, accelerometer information (other than detecting landscape or portrait orientations), complex gestures. Of course, one can argue that many apps (native or otherwise) do not take advantage of those extra features anyhow. But if you really need those native features, you’ll have to create a native app or, at least, a hybrid app.
  11. 11. Hybrid apps:  Hybrid apps are part native apps, part web apps. (Because of that, many people incorrectly call them “web apps”).  Like native apps, they live in an app store and can take advantage of the many device features available.  Like web apps, they rely on HTML being rendered in a browser, with the caveat that the browser is embedded within the app.  Often, companies build hybrid apps as wrappers for an existing web page; in that way, they hope to get a presence in the app store, without spending significant effort for developing a different app.  Hybrid apps are also popular because they allow cross-platform development and thus significantly reduce development costs: that is, the same HTML code components can be reused on different mobile operating systems.
  12. 12.  Tools such as PhoneGap and Sencha Touch allow people to design and code across platforms, using the power of HTML.  Walgreens provides two very similar hybrid apps– one for Android and the other for iPhone. Both apps have multiple sections and many native features such as access to notifications and a Refill by scan feature that uses the phone camera to refill prescriptions:  However, the Shop section in both the Android and iPhone apps uses a browser view that renders the corresponding page of the Walgreens mobile website. Here are three pages displaying the same content in the Android app, iPhone app, and mobile website Let’s See Example:
  13. 13. Walgreens AndroidWalgreens mobile websiteWalgreens Android Example
  14. 14.  As you can see, all these pages are the same, except for the top header, which is platform specific. The Back button on iOS is translated into a caret on Android; the logo is present on the web page, but not in the app. (The designers have correctly assumed that on the web people need the logo to orient themselves, since they are likely to land on a deep page without navigating through the homepage. In contrast, in their apps all navigation has to go through the homepage).  However, the Back button in the Android app ignores the fact that, unlike iPhones, Android devices come with a physical or virtual Back button. The tab bar at the bottom of the page works well in the iOS design, but is clunky and clearly non-native on Android.
  15. 15. Each of these types of apps has their advantages and disadvantages, as I’ve tried to point out. Let’s summarize them here. Device features: Although web apps can take advantage of some features, native apps (and the native components of the hybrid apps) have access to the full paraphernalia of device-specific features, including GPS, camera, gestures, and notifications. Offline functioning: A native app is best if your app must work when there is no connectivity. In-browser caching is available in HTML5, but it’s still more limited than what you can get when you go native. Discoverability: Web apps win the prize on discoverability. Content is a lot more discoverable on the web than in an app: When people have a question or an information need, they go to a search engine, type in their query, and choose a page from the search results. They do not go to the app store, search for an app, download it, and then try to find their answer within the app. most users don’t like installing and maintaining apps (and also wasting space on their device), and will install an app only if they expect to use it often. Native, Web App, or Hybrid: Which Should You Choose?
  16. 16. Platform independence. While different browsers may support different versions of HTML5, if platform independence is important, you definitely have a better chance of achieving it with web apps and hybrid apps than with native apps. As discussed before, at least parts of the code can be reused when creating hybrid or web apps Content restrictions, approval process, and fees. Dealing with a third party that imposes rules on your content and design can be taxing both in terms of time and money. Native and hybrid apps must pass approval processes and content restrictions imposed by app stores, whereas the web is free for all. Not surprisingly, the first web apps came from publications such as Playboy, who wanted to escape Apple’s prudish content censure. And buying a subscription within an iOS app means that 30% of that subscription cost goes to Apple, a big dent in the publishers’ budget.
  17. 17. Development cost. It’s arguably cheaper to develop hybrid and web apps, as these require skills that build up on previous experience with the web.. But, on the other hand, HTML5 is fairly new, and good knowledge of it, as well as a good understanding of developing for the mobile web and hybrid apps are also fairly advanced skills. User Interface. Last but not least, if one of your priorities is providing a user experience that is consistent with the operating system and with the majority of the other apps available on that platform, then native apps are the way to go. That doesn’t mean that you cannot provide a good user experience with a web app or a hybrid app–it just means that the graphics and the visuals will not be exactly the same as those with which users may be already accustomed. (To summarize, native apps, hybrid apps, or web apps are all ways to cater to the needs of the mobile user. There is no unique best solution: each of these has their strengths and weaknesses. The choice of one versus the other depends on each company’s unique needs.
  18. 18. Speed: Native apps win the speed competition. In 2012 Mark Zuckerberg declared that Facebook’s biggest mistake had been betting on the mobile web and not going native. Up to that point, the Facebook app had been a hybrid app with an HTML core; in 2012 it was replaced with a truly native app. Installation. Installing a native or hybrid app is a hassle for users: They need to be really motivated to justify the effort. “Installing” a web app involves creating a bookmark on the home screen; this process, while arguably simpler than downloading a new app from an app store, is less familiar to users, as people don’t use bookmarks that much on mobile. Maintenance: Maintaining a native app can be complicated not only for users, but also for developers (especially if they have to deal with multiple versions of the same information on different platforms): Changes have to be packaged in a new version and placed in the app store. On the other hand, maintaining a web app or a hybrid app is as simple as maintaining a web page, and it can be done as often or as frequently as needed.
  19. 19. Device Access
  20. 20. App Requirements / Features
  21. 21. Gestures
  22. 22. Comparison between different App •CSS (GPS, gyroscope, accelerometer, maintenance, and full application works on any platform. •Business-focused apps full device access. Native Hybrid Mobile Web Skills/tools needed for cross- platform apps •Objective-C •Java •C •C++ •C# • •HTML 5 •CSS3 •Javascript •Mobiledevelopmentframework (like PhoneGap) •HTML •Javascript Distribution App Store/Market App Store/Market Internet Development Speed Slow Moderate Fast Ongoing application maintenance Difficult Moderate Low Device access Full access: (Camera, microphone, GPS, gyroscope, accelerometer,file upload, etc..................…) Mostly: (Camera, microphone, GPS, gyroscope, accelerometer, file upload, etc.................. …) Partial access: file upload.) Offline access Yes Yes To an extent Advantages Lets you create apps with rich user interfaces and/or heavy graphics. Combines the development speed of mobile web apps with the device access and app store distribution of native apps. Offers fast development, simple portability. One mobile web app Disadvantages •Development Time •Development Cost •Ongoing Maintenance •No portability (apps cannot be used on other platforms) •Can’t handle heavy graphics. •Requires familiarity with a mobile framework •Can’t handle heavy graphics. •Can’t access camera or microphone. Best used for •Games •Consumer-focused apps that require a highly graphic interface •Consumer-focused apps with a moderately graphical interface. •Business-focused apps that need •General non-game apps.
  23. 23. Mobile Application Testing Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality, usability and consistency Factory Testing Hardware or Device Testing Certificate Testing Mobile Testing Application Testing Software Testing Content Testing 19
  24. 24. Why Mobile Apps Testing is Different from Desktop and Web? 1. Supported platforms and devices mean you have more combinations to test. Desktop apps were usually targeted for specific platforms and it was relatively easy to access those platforms. Web based applications made it a bit more challenging by adding another dimension: browsers. Mobile applications take complexity of supported platforms to the next level by adding devices. Ensuring that mobile apps are working on all type of devices (smartphone, tablets, and phablets) supplied by major brands (various models from Samsung, Sony, Nokia, HTC, Apple, etc...................) and on all the platforms (iOS, Android, Windows, BlackBerry, etc...................) is challenging. On top of that, new devices are hitting market so often that it becomes impossible to cover all the major devices. In the mobile world, it is important to create something on the lines of graded browser support used by Yahoo to ensure that major platforms are covered. 2. Adaptability and limited space mean screen size is changing constantly. Pretty much all the major players are changing screen sizes of their phones, tablets, and phablets to figure out what works or in response to the competition. How applications adapts themselves for various screen sizes, layout, and configuration is a challenging task. Apart from adaptability to different screen sizes, mobile applications have to deal with the limited screen size. Limited screen size means that user can not be given 30 different options on a single screen – usability, similar experience, on-screen help, inability to use search or other applications easily, etc................... – poses different challenges and as a tester we need to think beyond what is developed and always think of who will use it and in what circumstances.
  25. 25. 3. Complex user interaction means more than one way to do everything. User interaction in desktop and browser based applications was pretty much limited to mouse and keyboard. Mobile applications on the other hand are trying to make user interaction as fluid as possible. We had touch screen and with new phones from Samsung, you can just wave your hand to give commands. Siri is becoming more and more advanced and gives us a glimpse of future that voice commands may become part of every application in future. Devices are smart enough to understand complex gestures, eye movement, direction, tilt, movement, acceleration, GPS coordinates, surroundings, sound, and so on. As a tester, we need to ensure that application works as expected when user interacts with the app in different ways. 4. Application type – HTML5, Native or Hybrid – means applications are merging. In the desktop and browser world, applications were straightforward. They were either desktop or web applications. However, with the adoption and support of HTML5, the applications are merging. On all the mobile devices, it is not difficult to find HTML5 applications, native applications and hybrid applications. Testing for hybrid applications would be different from testing native applications and it is important to understand that difference.
  26. 26. 5. Dependency on emulators and simulators means true representation is lacking. For the desktop and browsers, developers always had access to the platform or browsers they were targeting with their applications. Also, virtualization has become more or less commonplace and can be trusted for desktop and browsers. Mobile devices on the other hand relies on emulator and simulators. However, they are still not true representation of the devices. It is also not possible to replicate advanced user interaction on these simulators. As a tester, we have to be aware of the capabilities and limitations of these emulators and simulators and figure out what can be tested (reliability) on them and what cannot. 6. Security and privacy concerns mean a greater emphasis on misuse of data. Though most mobile applications live in their own sandbox but many platform features are accessible to them. For example, applications such as phone book, pictures, and videos are accessible to many other applications. These are all personal user data, and any defect around the (unintentional) misuse of this data can jeopardize trust of the application. In mobile world, it is important to ensure that applications are secure from the intruders, and it is equally important to ensure that applications are not intruding or accessing data unintentionally.
  27. 27. 7. Dependency on networks and carriers means more variations in testing. In desktop and web world, most users were either on LAN or Wireless. These network were not predictable, but compared to mobile networks, they were very predictable. Many connected mobile applications rely on the network – how application responds to 3G, 4G, weak signals, no signals, powerful signals, switching from cellular to wireless and vice-versa or when user is moving at different speeds, etc................... – can affect how the application will behave. It is often not possible to come up with or simulate real life situations for mobile applications. Apart from the variation in signal strength and type, mobile apps can respond differently to different carriers. As a tester, it is important to understand if there are any difference or not and whether application works for all the major carriers or not. 8. Rapid installations, removals, and updates mean staying on top of the latest apps. Mobile apps are installed, removed, or updated more frequently than desktop applications. Also, underlying OS and platform is updated more frequently as well. As an app developer and tester in the mobile world, you have to be on top of what changes are coming in the next revision of OS / Platform and how it might affect the application. Usually for most of the applications, user data is stored on the servers and not on the devices. It makes installation a bit tricky. What if the user has multiple devices? What if multiple devices have different version of applications? Things like backward compatibility, simultaneous support for multiple versions, data preservation, restoring state and data, the ability to install / upgrade multiple times are all part of important checks for mobile application testing.
  28. 28. 9. Session management and interruptions mean ensuring that the app behaves properly. Handling interruptions are the way of life for mobile applications. Apps and users are constantly interrupted by calls, SMS, push notifications, and so on. How applications handle these interruptions and how they maintain their state are important, but it is also important to see how many interruptions the application is generating and what triggers those interruptions. As a tester, it is important to ensure that application behaves properly when it is interrupted and it is also important to ensure that the application does not interrupt unnecessarily and works according to the boundary defined by the platform or the users. 10. Mobile-specific non-functional testing means there are many more dimensions to testing. Mobile applications add many more dimensions to the non-functional testing. Old school performance of the application is the obvious one, but there are many other factors as well which should be considered. How much data your application is consuming? How much it would cost the user (data usage) to use this application? How much battery is consumed by applications? Does it behave differently in high battery and low battery conditions? How much space is it occupying? How much trail is it leaving? How is it clearing the trails / logs, etc................... are important non-functional factors which should be considered as part of mobile testing strategy.
  29. 29. Types of Mobile Testing 1-Hardware testing (Mobile testing) : mostly is related to testing the mobile hardware i.e. The device including the internal processors, internal hardware, screen sizes, resolution, space or memory, camera, radio, Bluetooth, WIFI etc................... 2-Mobile application testing : related to testing the software (applications in mobile) part of the mobile and their functionality Is tested. i.e. Mobile applications include call handling, messaging..etc......................
  30. 30. Mobile Testing-How It Is different? DEVICE DIVERSITY HARDWARECHALLENGES • • • • Multiple Platforms Multiple Browsers Rendering differences Mobile devices have different application runtimes. • Limitations in processing speed Limitations of Memory size of mobile Differences in Communication Protocols of devices WAP/ HTTP. • • NETWORK CHALLENGES • • • • Multiple type of Networks(GSM / GPRS / Wi-Fi / Wi-Max etc.................. ) Unpredictable time taken for data transfer Different speed of connectivity across geographies Multiple Network Operators with customized Network features
  31. 31. What are the challenges in mobile app testing ?  Wide varieties of mobile devices (Devices Vary in Screen Size, Memory, Processing Power, Hardware Features etc...................)  Different mobile operating system  Different mobile network operators  Input method (QWERTY, touch, normal)  Hardware compatibility……. And so on.  Device Fragmentation is a Big Challenge  Apple iPhone is Least Fragmented among All Mobile Platforms  Testing on All Target Handset/Devices Almost Handsets is Large  Testing on All Target Operator Networks Almost Impractical if Number of Target Operators is Large Network Operator may Impose Certain Constraints
  32. 32.  Device Vendor (Not Necessarily Manufacturer) may Customize a Device • Changes may be Done in Both User Interface and Functionality • Many a Times Changes are Not Well-Documented • Device is Not the Same as Released by Manufacturer  Testing on All Versions of Operating System • In Many Situations, it May Not be Possible to Upgrade the Device to New OS Version  Same Device Models may have Multiple OS Configurations based on Target Market Requirements • Localization(translation, Avoid abbreviation) An example is that your mobile app could require double-byte characters (for East Asian languages) or have to support bi-directional display (for Middle Eastern languages). • Hundreds of Devices with Many Variants of Each Device  Testing in All Web Browsers • Browsers Significantly Vary Across Devices • May Support HTML, xHTML, WML, AJAX
  33. 33.  Web Content Transcoders • Web Content may be Transformed to Meet User-Agent Constraints • Transcoder may Not Respect User Experience Factors in some Situations  Inconsistencies in Specification Implementations • Each Vendor is Responsible for Java ME Specifications Implementations • Implementations may Not be Consistent across Devices and Vendors  Performance Measurement • Extremely Difficult to Benchmark Performance due to Highly Fragmented Market  Detection of Display Issues • Human Involvement is Must Generally it is Not Possible to Purchase All Target Handsets due to Financial Constraints
  34. 34. Mobile Application Testing Complexities • The world of mobile applications has evolved to the point where it is now one of the basic levels of communication services, becoming essential to the everyday needs of the common mobile user. As the number of users grows exponentially, it is of utmost importance to ensure that mobile application requirements are met and that systems meet their purpose. • What makes mobile applications unique? Why is it not possible for standard test cases and running procedures to be employed to meet requirements? • Complexity is the key to understanding the challenges we face when we want to develop, or in my case to test, mobile applications. We have so many operational systems, and different manufacturers and models, so what should we test? How many devices should we cover? Twenty or one hundred? What are the trends and tools available in the market to solve these questions? “ COMPLEXITY IS THE KEY TO UNDERSTANDING THE CHALLENGES WE FACE WHEN WE WANT TO DEVELOP, OR ITEST, MOBILE APPLICATIONS”
  35. 35. Testing objectives • What are we testing – mobile website or mobile application • For whom – user profile (geography, technical skills, expectations etc...................) • Devices – which models and/or emulators will be used for testing • How – defining approaches (Friends & Family testing, scenario-based etc...................)
  36. 36. General Techniques  Decide Target Handsets as Early as Possible in Development Lifecycle (Better in Requirements Analysis Phase)  Document Incompatibilities in Devices e.g. Differences in • Installation Processes • Audio/Video Capabilities • Memory, Processing Power, Screen Size etc...................  Document Device Software (Firmware) Limitations • ‘Bugs in Firmware’ are Not Unusual  Document Device Web Browser Constraints • Supported Version of HTML • AJAX Supported or Not
  37. 37. Classify Devices  Classify Devices • Category—1: All Devices that Support XHTML • Category—2: All Devices that Support AJAX • Category—3: All Devices that Support Java ME  Pick Representative Device(s) from each Category for Testing Purposes  Prepare Test Cases based on Data Gathered about Target Handsets  Start Testing on Real Devices as Early as Possible  There is No Good Alternative to a Real Device for Testing (Why?)
  38. 38. Mobile Testing - Types Test to ensure the stability of the applicationso that it can be taken for further levels of testing. Analyzing the logs and measure/monitor the performance of mobile devices in a real world environment across different network infrastructures. Testing of a product in the actual context in which it will be used. Field tests performed validate handset network success in a real world live network environment Documented features are implemented in the application and work as expected. Test the text, logos and all UI level validation Validate Usability aspects such as Trackball, Touch etc..................    Sanity Testing  Mobile Testing Validate Application behaves as expected and stable during the course of Interruptions Incoming Calls, SMS Notifications, Low Battery, Network related testing such as Low network, Zero Network etc..................  22 § Tailor devices to the unique Language § Translate user interfaces and provide documentation and support in local language, § Perform all types of testing in the respective
  39. 39. Components of Mobile Testing Emulators / Simulators Mobile Devices Mobile Application Testing Network connectivity Testing tools and Accelerators
  40. 40. Mobile Testing – Emulator/Simulator • Device emulator / Simulator is a desktop application that emulates • mobile device hardware and operating systems, allowing us to test and debug our applications and see how they are working. • No cost involved – Various OS versions, screen sizes, Device models are available for free download • Provided by the OEM, Simulators represents 90% of real life however, certain types of testing are not possible (like interruption, network connectivity • Easily installable on a normal system – Android, Black Berry, Symbian, Windows • Mobile require Windows desktop while, iOS require MAC • Ideal for functional testing needs • Some level of development knowledge required to benefit on the features Provided Emulator / Simulator – The Difference Emulators mimic the software and hardware environments found on actual devices Simulators, on the other hand, only mimic the software environment ) Android Emulator iOS Simulator
  41. 41. iOS Simulators Introduction: • iPhone and iPad are popular devices from Apple. Its has its own proprietary operating system, iOS. Its well known for its design and performance. • Many applications of native, web and hybrid type are available which can be download from Apple iStore • Applications for iPhone can be installed both over air and using iTunes application Prerequisites: MAC Environment Getting Started: • Deploy Native app into iPhone Simulator using Code. • Code - an integrated development environmentthat manages your application projects and lets to edit, compile, run, and debug code • Once the native app is deployed, the app icon appears on simulator, thus aids to access the app directly from simulator • Testing in UIAutomation can be done by both developer and tester, it requires knowledge of iPhone development. • UIAutomation is the automation technique for iPhone. It uses JavaScript as test script to perform automation. This can be done both in device and simulator • iPhone Simulator does not emulate an iPhone processor, disk drive, memory constraints
  42. 42. Android Emulators OVERVIEW • Android emulator comes as part of the android SDK commonly known as AVD – Android Virtual Device. • It lets the user to prototype, develop, and test Android applications without using a physical device. Android Emulators • The AVD’s are OS version specific and provides the user the flexibility to customize OS version, resolution, skin, sd card size and various other hardware properties to be emulated. • There are many command line utilities and tools which comes as part of the sdk which makes it easy to debug and interact with emulator Prerequisites for Android Emulator • JRE – Java Runtime Environment • Android SDK Installing an application • If the application is available in Google Playstore it can be directly downloaded and installed on to the device. • If the application is available in ‘.apk’ format ,it can be installed
  43. 43. Blackberry Emulators OVERVIEW • BlackBerry Simulators is different from the other emulators as this is Device model specific (rather than OS version) • Easy to use interface for installing and testing apps Blackberry Emulators • Model specific blackberry emulators are available from RIM as standalone window applications and also along with BB JDK. • The BlackBerry MDS Simulator and the BlackBerry Email Simulator simulates internet and email services respectively. Prerequisites for Blackberry Simulator • JRE – Java Runtime Environment • Blackberry simulator package • Blackberry email and MDS Simulator Installing an application on Blackberry emulator • If the application is in .cod format, it can be directly loaded in to the emulator from the menu options in emulator. • If the simulator is being used with an IDE or Blackberry JDE it directly loads the application into the simulator and runs it. • The blackberry device manager can also be used to for installing the applications on emulator and device
  44. 44. Windows Phone - Emulators Description Windows Phone 7 is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform. The windows phone 7 emulator comes with SDK and Windows Developer Tool Kit. Pre-requisites for the emulator • Windows Vista and higher Desktop OS • Microsoft Silverlight along with silver light toolkit for windows phone • Visual Studio 2010 • Windows mobile 7 sdk Installing applications in emulator • Open the “Application Deployment” tool which is the part of “Windows Phone Developers Tool” • Provide the path to the .xap file of the application in the tool • The emulator opens showing the application that has been installed
  45. 45. Emulators / Simulators – Limitations Limitations • No support for placing or receiving actual phone calls. You can simulate phone calls (placed and received) through the emulator console, however. • No support for USB connections • No support for camera/video capture (input). • No support for determining connected state • No support for Bluetooth • No support for actual GPS • No support for Accelerometer feature used in Gaming applications
  46. 46. Mobile Testing Tools Mobile Testing Tools Remote Based Desktop Based Industry Based Open Source • • • • • Squish FoneMonkey JamoSolutions Eggplant SeeTest Device Anywhere • • Robotium SeleniumPerfecto Mobile Cognizant Mobility Lab
  47. 47. Tool Selection Criteria • Platforms support •Supported Versions of platforms •Types of automation supported. •Device variants within a platforms ( form factors) Scope based decisions Cost Benefit Analysis •Working on both simulator /device •Integration to test management •Ease of use and scripting support Feature based decisionsTimelines for the project • Stability •Dependency on Mac/desktops •Cloud based/stand alone Infrastructure decisions Regression Test Count & Complexity 32
  48. 48. Some Mobile Testing Tools 33
  49. 49. Mobile Test Tools in Market -Comparison & Blackberry 'Sensetalk' complex any other test supported by QTP breaking Tools/ Parameters Test Quest Countdown Device Anywhere Pro Jamo Solutions Perfecto Mobile Robotium Eggplant Support of devices/platform s Android, Blackberry, Symbian & Windows mobile All major mobile Platforms Android, Windows Mobile, Blackberry & IOS All major mobile Platforms Android Android, IOS Licensing Cost Cost Cost Cost OpenSource cost Ease Of Usage Easy to use Easy to use Easy to use Easy to use Needs programming Easy to use Scripting No Scripting Scripting Possible Uses VB script No programming language for scripts,. Script is simple and can be easily understood Uses java Uses Test Data Parameterization Possible Possible but complex Possible Possible Possible but complex Possible but Remote Connectivity Possible Possible Possible Not Possible Not Possible Possible Integration with test management In-built test management tool test manager Quality Center Quality Center and management tool Possible Not Possible Not Possible Jail Breaking / Routing Needs Jail breaking DA hosts Jail broken devices No Jail breaking Perfecto Mobile hosts Jail broken devices Needs Jail breaking Needs Jail
  50. 50. Workshop
  51. 51. Q&A
  52. 52. Contact Us Website: E-Mail :