Qa extreme 2011 eran kinsbruner


Published on

QA Extreme 2011 presentation around Mobile application testing, trends and tools for mobile testing

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Qa extreme 2011 eran kinsbruner

  1. 1. Trends and accentuations around mobile application testing
  2. 2. Agenda- Testing challenges- Existing mobile Operating systems- Mobile applications testing- Porting- Testing tools- Real life examples- Trends and accentuations in the mobile world- Q&A
  3. 3. Testing ChallengesDevice battery consumptionDevice memory constrainsScreen size/resolution, Touch screenForm factors (Slider, Clamshell, Block, etc.)Performance of the deviceFragmentation among device OS’sPrice of defects
  4. 4. Testing Challenges - ContinueSecurity element in device testing (Apple UDID’s,prompts for unsigned apps etc.)Incoming events during testing, Coex testing(Combinations, complex scenario’s, launch camera etc.)Signal strengthBack/Exit buttons behavior among devicesInstallation method (OTA, Serial cable, SDK’s)Device Access point configurationVarious OS versions complianceVarious languages/locales
  5. 5. Mobile devices operating systems – Trends (Gartner, September 2010)
  6. 6. Existing mobile Operating systems• Symbian (Nokia)• iOS (Apple)• Android (Google)• Blackberry OS (RIM)• Windows Phone 7 (Microsoft)• J2ME proprietary OS (SE/Samsung/LG) ?• Palm/WebOS (Palm Pre) ?,7340,L -3519738,00.html)
  7. 7. Symbian OS• Symbian OS was originally developed by Symbian Ltd, which in 2008 was acquired by Nokia.• Symbian OS had almost no UI Layer, Most UI design was made by third parties – S60 by Nokia – UIQ by SonyEricsson – MOAP by NTT DoCoMo• In 2008 with Nokia acquiring Symbian Ltd. the Symbian Foundation was created and the three UIs were contributed to it in order to create a Unified Symbian Platform.
  8. 8. Symbian OS - Continue• Today two streams of Symbian UIs are available. – Symbian^3 is used by Nokia’s High-end smartphones. – S60 is used in Mid-Range smartphones.• It contains associated libraries, user interface, frameworks and reference implementations of common tools.• Symbian runs on ARM processors (x86 unofficial).• Symbian applications are packed in SISX files and requires Symbian Signed certificate to be commercially deployed on a handset.• SEMC recently announced that it is deserting Symbian OS to switch to the more popular OS’s – Android & Windows Phone 7• Nokia recently announced that it is also deserting Symbian and is about to move to Windows Phone 7/8 OS for its future devices.• Note: NTT DocoMo and Fujitsu announced a new Tablet/Smartphone running Windows 7 OS (Tablet) and Symbian (Mobile) on one platform (Details)
  9. 9. Android OS• Android is a mobile operating system developed by Google and is based upon a modified version of the Linux kernel. It was initially developed by Android Inc. (a firm purchased by Google)• Its OS versions are usually incremented alphabetically and named upon famous cookies/cakes • 1.5 cupcake • 1.6 donut • 2.0 éclair • 2.2 Froyo • 2.3 Gingerbread • 3.0 Honeycomb • ? IceCream• What is ADB ?
  10. 10. Android SDK Emulator
  11. 11. Android – Screen resolution method• In Android, Google developed a new way of handling different screen resolutions, in order to save porting time of applications among various of Android phones • Basically Android OS divides its screen size to 4 different sizes and 4 different densities and the platform transparently handles the rendering of the layouts at the actual screen size • Small, Normal, Large and Extra Large • ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)• Detail explanation of how it’s done can be found in a post at TACT/Blogix web page: %D7%9E%D7%A2%D7%A8%D7%9B%D7%AA- %D7%94%D7%94%D7%A4%D7%A2%D7%9C%D7%94- %D7%90%D7%A0%D7%93%D7%A8%D7%95%D7%90%D7%99%D7%93- %D7%93%D7%95%D7%90%D7%92%D7%AA- %D7%9C%D7%94%D7%A6%D7%92%D7%94/• Top rated Android apps for 2011 - rated-android-applications-for-2011-20.html
  12. 12. Blackberry OS• BlackBerry OS is a proprietary mobile operating system, developed by Research In Motion for its BlackBerry line of smart phone handheld devices.• BlackBerry applications are developed in Java with RIM’s SDK• The operating system provides multi-tasking, server-side push service and supports specialized input devices: • trackwheel (7100i, OS 4.1.0) • trackball (9630 Tour, OS 5.0) • trackpad (9780 Bold, OS 6.0) • touchscreen (9800 Torch, OS 6.0).• BlackBerry Various Emulators for testing - Download
  13. 13. Apple iOS• iOS formerly known as iPhone OS is Apple’s proprietary mobile operating system. Developed originally for the iPhone, it has since been shipped on the iPod Touch and iPad as well. • iOS 1.0 – iPhone • iOS 2.0 – iPhone 3G • iOS 3.0 – iPhone 3Gs • iOS 4.0 – iPhone 4• iOS 4.3.3 was released on 5-May, 2011 and is the version used on latest iPhone 4 devices• MAC OS tools: • Xcode, Interface Builder, iPhone Simulator
  14. 14. Apple iOS - Continue• There are few free tools which can allow a developer to develop/test his application for iPhone: • For Windows OS there are: • AirPlay • C:Airplay SDK4.4examplesgameskartz • Titanium (JavaScript developing for iPhone, Android) • Mono Touch Develop Android and iPhone apps with C# on windows - not free ( downloads/download.html ( • For MAC OS iPhone SDK (Xcode) provided by Apple with full development environment (C++ or Objective C languages)• Top 10 iPhone apps by TIME magazine:,29569,2044480,00.html• Xcode Demo’s • •
  15. 15. Apple iOS – Dev. & Testing
  16. 16. Windows Mobile• Windows Mobile is a mobile operating system developed by Microsoft for use in smart phones (non-touch) and PPC (touch) devices.• WM features a suite of basic applications developed using the Microsoft Windows API. It is designed to be somewhat similar to desktop versions of Windows, feature-wise and aesthetically. Additionally, third-party software can be purchased via the Windows Marketplace• The OS is now obsolete and The Last version is "Windows Mobile 6.5.3“ (based on the Windows CE 5.2 kernel) • Sample devices: • HTC HD2 • Sony Ericsson XPERIA X2
  17. 17. Windows Phone 7• Windows Phone 7 is the successor to MicrosoftWindows Mobile platform s (based on Windows CE 6.0 R3 kernel).• Windows phone 7 is built from the ground up and features no backward compatibility to the previous 6.5 version. – Does require certification and signing of app to be publicly deployed• Some of the features are – Live Tiles, – Social networking integration, – multi-touch Support, – internet explorer mobile, – Office 2010 Mobile, – Search & Maps using Bing, – Xbox live gaming – Metro UI L&F(
  18. 18. Windows Phone 7 – Dev. & TestingWindows Phone 7 development tools are distributed free by Microsoft.Important and up to date data is constantly updated at• Windows Phone Developer Tools• Expression Blend is a more user friendly application used to design only the User Interface Experience• There is a newly developed application market for windows phone 7 platform App Hub • Preliminary application market for Israel (Yalla Apps - )• A training kit for Windows Phone 7 new comers can be obtained from us/wp7trainingcourse.aspx Zune Sync music and video for WP7 devices**• Note: The tools above require Windows 7 to be installed
  19. 19. Windows Phone 7 – Dev. & Testing Visual Studio Express 2010
  20. 20. Windows Phone 7 – Expression Blend 4Rapid Prototyping without writing code
  21. 21. Windows Phone 7 – Expression Blend 4Rapid Prototyping without writing code
  22. 22. Windows Phone 7 & SilverLight• Short demo• Silverlight is the application development platform for Windows Phone 7.• Silverlight for Windows Phone supports core Silverlight capabilities in managed .NET code with XAML including: – High quality video and audio using a wide range of codecs, DRM and IIS Smooth Streaming – Deep Zoom for enhanced reading and photo browsing experiences – Vector and Bitmap Graphics and animation• Note: In order to deploy your app on a real phone, the phone must be registered within MSFT (Emulator is the preferred preliminary way of testing)
  23. 23. Windows Phone 7 & SilverLight• Silverlight can also access the unique capabilities of the phone including: – Hardware acceleration for video and graphics – Accelerometer for motion sensing – Multi-touch – Camera and microphone – Location awareness – Push notifications – Native phone functionality• Silverlight can also utilize the XNA Framework for Audio capture and playback, Media Library Access, and even accessing Xbox LIVE.• Currently Windows Phone 7 uses silverlight 3.0, soon silverlight 4.0 with additional features will be released as part of the next MSFT SDK (MANGO)• Tombstone Vs. Dormant (MANGO Release)
  24. 24. Windows Phone 7 Demos
  25. 25. Windows Phone 7 Leading Phones Samsung Focus - HTC Arrive - HTC HD7 - LG Quantum - HTC Surround - Dell Venue Pro -
  26. 26. Mobile Application Testing - Methodologies• The testing methodology mostly depends on the type of application.• There are 3 main mobile applications: 1) Stand alone Taking into account the mobile phone limitations, such applications shall be tested by Functional tests, Usability tests, performance tests. 2) Distributed Testing for both client and server side alone and together is required (e.g- Instant messaging application)
  27. 27. Mobile Application Testing - Methodologies3) Web based In a Web-based application the client is an Internet browser,and the main functionality is built on the server-side. Testing Web basedapplications require the following type of testing: • Functional testing • Compatibility testing • Content testing • Performance testing • Load testing • Security testing • Server-side testing (Web server, application server) • Database testing
  28. 28. Mobile Application Testing – Proposed strategy• Do invest in a device emulator – It’s a well instrumented testing environment, usually more than 1 skin – Cost effective – Bypasses real network – Easy to debug• Take advantage of a real remote device solution (Nokia, Device Anywhere, Perfectomobile) – “Hire” target device/s per hour to perform real device testing as needed• Don’t completely avoid testing on real device on real networkConclusion: Seek a solution which combines remote manual testing on real device, emulated device testing and automation tests wherever possible.
  29. 29. Mobile Application Testing – Porting Concepts 1 of 3 Since there are variety of devices from each OEM, each has different constraints (Memory, screen size, heap size, form factor, camera, touch screen, installation path etc.) – it is a must to plan the application to be as much portable as possible during the design phases. Not taking into account the devices family and the above constrains will require massive porting and long development cycles when starting the deployment Having configurable pre-compiled options which vary between devices would ease the porting and enable to use the same code (Mostly) for all devices, with only per device configuration options
  30. 30. Mobile Application Testing – Porting Concepts 2 of 3 Having more than one “gold” target device during development phase is also an important requirement Using automation solution as mentioned earlier and SDK’s is also an advantage. There are special application which can provide quite easily the list of supported features per device (TasePhone Java application e.g.) Using emulation environments per device is cheap and cost effective during development Taking into account the resources used by the application is important (there are tools who can shrink the entire folder of resources into a small size file which can be used by the application – BoomFs)
  31. 31. Mobile Application Testing – Porting Concepts 3 of 3 When a new or pre-launched phone should be supported by the application developers there are few things which should be taken into account: Phone characteristics (Screen size, OS, memory, form factor, supported features such as camera and others) Can be retrieved for most phones through GSM Arena site How close the phone is to the lead device within a family which is already supported If the phone represents a new family this might have implications on the porting time in opposed to a new member to an existing family Is there a way to upgrade phone OS to overcome firmware defects (Cables, contact with the OEM etc.) It would always be good to have at least 2 devices from this kind to be able to reproduce defects, compare performance and firmwares. How the application works in comparison to other apps on the device (Closing method, events reaction and more)
  32. 32. Mobile Application Testing – Bug Trackers• There are few free/cheap tools (Clients) which can be installed on your mobile device and allow you to submit bugs on the fly as you test your application – JIRA Mobile client for Android Beta (and soon iPhone) device-20100520b.html – FogBugs • Supports iPhone, Android, Blackberry
  33. 33. Mobile Application Testing – Battery Consumption• As mentioned earlier, the battery of the mobile phone is limited and the application developers must take into account the application battery usage, performance and take relevant steps and optimizations in order to assure that the application consumes the minimal battery resources as needed – There are monitoring tools which can be used to check the battery usage (Not always specific per application but this can be narrowed to the specific application vendor needs) For iPhone Battery Life Pro Battery Led
  34. 34. Mobile Application Testing – Battery Consumption - Continue• For Android OS there is e.g. the ‘Power Tutor’ tool –• For windows Mobile –
  35. 35. Mobile Application Testing – Leading automation toolsThere are 2-3 main players in the device test automation worldwith proven results and ROI Perfectomobile N5QodNUXJ6w Remote Access - ey=adwords2 Automation -
  36. 36. Mobile Application Testing – PerfectoMobile
  37. 37. Mobile Application Testing – Leading automation toolsDevice Anywhere -
  38. 38. Mobile Application Testing – Device Anywhere
  39. 39. Mobile Application Testing – Leading automation tools/SDK’s• Experitest - • Provides Emulator and real device automation solution (Record/replay and code generation) • Supports the following OS: • Android • iOS • Blackberry • Windows Mobile • Symbian • Exports code to C#, Java, Python, QTP-VBScript, Perl• Robotium - • robust automatic black-box test cases for Android applications (Run your application as an Android Junit test on Android SDK emulator)
  40. 40. Mobile Application Testing – Experitest
  41. 41. Mobile Application Testing – Experitest
  42. 42. Mobile Application Testing – SDK’s & Emulator’s In order to test application developed for mobile, often the vendors would prefer touse as many devices SDK’s and Emulators to get as close to reality L&F andfunctionality before deploying first on device which has limited debugging capabilitiesin opposed to the SDK’sFew SDK’s which are free to use NetBNeans IDE which has simple integration for most common OEM SDK’s (Motorola, Nokia, SEMC) - Nokia specific Emulation environment - SEMC specific Emulation environment 1) 2) Motorola specific Emulation environment - Sun Java Wirelsss Toolkit (J2ME SDK for application developers) -
  43. 43. Mobile Application Testing – SDK’s & Emulator’sJ2ME Sun Java Wireless SDK - (Emulation/debugging environment) NetBeans SDK – IDE with OEM SDK’s plug in integration for pre-device testing and debugging Mobile Junit by SEMC Jbenchmark ( LG - Type=T#1 Samsung - ormId=1&cntsId=9460
  44. 44. Mobile Application Testing – SDK’s & Emulator’sSymbian Symbian signed pre-certification tools ( Windows Mobile (I assume it will be EOL’d in the near future due to WindowsPhone 7 platform) Test Complete (Allows connection from device to Microsoft ‘ActiveSync’/’Windows Mobile device center Synchronization’ SW). Windows mobile emulators - 1dd7-426f-a913-4f370a65a582&DisplayLang=en
  45. 45. Real Life Experience overviewDriver and Firmware for WLAN/BT/GPS testing on mobile platform runningAndroid/Linux (IOP testing)Android SDK – Use Android SDK to pre-test your application on a variety ofEmulators (Uses the latest open source file system) Google CTS ADB Shell
  46. 46. Mobile Trends and ForecastMobile Devices Begin to Replace Credit Cards2011 looks like the year when, in some countries at least, usingyour phone as a credit card for lower value purchases willbecome a reality. Google recently announced that NFC (NearField Communication) technology will be supported in the nextrelease of Android – 2.3 or “Gingerbread”; HTC Flyer phone announced to support NFC within a yearSocial networking based devices (Recently HTC announced thatthey launched social networking specific devices - ChaCha andSalsa)
  47. 47. Mobile Trends and Forecast - ContinueSmartphones invading the enterprise (Security threats will be big factors indetermining which companies aggressively deploy smartphones)Mobile OS battles will continue (Android will become the leading Smartphoneplatform for at least the next four years, according to the latest data from IDC. Theanalyst firm estimates that Android will account for 45 per cent of the globalSmartphone market by 2015, up from under 40 per cent today (30-Mar-11). RIM andiOS will see more modest growth and a slight fall in overall market share to around 15per centSmartphone and tablet convergence (growing number of Smartphone manufacturerswill feel pressured to introduce tablet computers, and will likely do so this year.Offering one but not the other will become an intensifying threat to their businesses)
  48. 48. Mobile Trends and Forecast - ContinueCloud in Mobile – Apple set to launch cloud-based music serviceahead of Google (In this model, people can upload and store alltheir music to Apple servers, and launch it from any device orshare it with other users (Using an iTunes account)). Apple cuts Amazon & Google by signing the music companies
  49. 49. Applications Store Ranking
  50. 50. Appendix A – Sample certificationsSymbian Signed certification – Mandatory for any S60 V3 application which isintended for commercial launch Java Verified Certification – Sun’s guidelines for Java/Java ME compliantapplications Windows Mobile application signing - & Windows Phone 7 Certification JSR TCK tests – Specific JSR compatibility tests which are mandatory to any JSROEM implementer - (open source test harness) – For acomplete list of JSR’s see Java Device test framework – specific JSR test suite with functional tests (Providedto reduce fragmentation and increase quality - &
  51. 51.