Learnings –Mobile Apps Testing
The World of Mobile Apps
Native         Native: An app build purely         using the components build         using the underlying platform       ...
Hybrid         Hybrid: An app build using         combination of HTML 5 with the          native components.This approach ...
Mobile Web             It’s a web site which run on Mobile             phones.             Many companies go for a mobile ...
Challenges in Testing Mobile apps  Number of Devices & OS versions (Hardware configuration)    Display density    Differen...
Challenges in Testing Mobile apps  Simulating real life scenarios                                   •   Call Interrupts   ...
Challenges in Testing Mobile apps                          •   Accessibility  Usability                          •   Ident...
Challenges in Testing Mobile apps    Automation                              Developmental                                ...
Non Functional Testing
Key Learnings
Ensure coverage on various devices                      Select a set of                      representative devices       ...
Ensure testing of real life scenarios                     Apps can behave erratically                     when            ...
Constant Monitoring of Device Logs                      Uncover potential problems                      before they occur....
Showcase Tools                 IOS – Reflections                 Android- Android Projector                 Extremely usef...
Automation Tools                   Frank                   Calabash                   MonkeyTalk                   Sikuili...
Automation Tools                   Robotium                   Calabash                   MonkeyTalk                   Siku...
Automation Tools                   Android Driver                   iPhone Driver                   Watir
Automation Tools                   MobiTest                   Google Page Speed                   Load Runner             ...
Key Learning’s  Use simulators to get the breadth of devices tested.  Testing on different Display density mobiles  Keep a...
How can we help?    ThoughtWorks is a global custom software solutions consultancy trusted by    many of the world’s leadi...
Learning's from mobile testing
Upcoming SlideShare
Loading in …5
×

Learning's from mobile testing

1,450 views

Published on

This talk aims to summarize the typical challenges one encounters in testing mobile applications. At the ThoughtWorks Pune office we have developed multiple mobile applications across various platforms (mobile web, hybrid apps, native apps, apps for tablets etc.). In this talk we will bring together lessons learnt around mobile testing. This talk was done by Vikrant Chauhan and Dubinsky De Soares

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,450
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
37
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • Hi we are going to share experiences and learning we had while working with Mobile Apps.
  • There are various ways to categorize the mobile apps based on its genre. But we would like to present the categorization of mobile apps based on the development approach taken.
  • Hybrid: An app build using combination of HTML 5 with the native components.This approach helps in making the app platform independent in some way. Frameworks based on itCalatrava, PhoneGape.g. LinkedIn app, Facebook app
  • Mobile Web: It’s a web site which run on Mobile phones. Many companies go for a mobile web instead of building an app as its platform independent.e.g. m.timesofindia.com, m.facebook.com
  • There are various factors that need to be thought before we start with mobile testing350 diff Android based devices +diff osversions+densityThere are numerous phones vendors with different OS’s and their custom implementation (specially Android)Also there are various versions of OS’s availableBrowsers -- Display Density IssuesThe various network connection types supported by the phone e.g. 3G, 4G, WiFi, which affects the user interaction depending on page load. We should strive for optimal load time on every N/WInstallation issues: Not obvious :Provisionong profile like size of app, if anti virus is running
  • There are many things that can happen while using the app like- When a call comes does the app pause and how it resumes after call completion?-  When battery is low does the app pause and how it resumes after call completion?If multiple apps are running together and we go back to our app it should resume. Alert user if no network…
  • Apple HIG Compliance.. [Density,screen sizes]Icons –tappable AreaRecovery from unwanted statesError Handling
  • With automation we always have questions:What to automate ?How much to automate ?Automation is also heavily dependent on the maturity of the tool.Effort v/s ValueNot all apps/projects really follow the standard practice of assigning ids/Accessibility labels to all objects on app making it time consuming to identify and do operations on it.
  • Performance testing: This is a very important aspect of Mobile apps and it has 2 components to it:Server sideClient side. How quick the UI loads, how easy the navigations are?Security Testing: Many apps specially android assign permissions. These can be used by hackers and get access to your phone.There are many more Non Functions things you can test if required like accessibility, efficiency,
  • The approach towards identifying the devices & Strategy to ensure coverage across the devicesSelected devices based on Screen size,density, OS versions, slide-in keyboardWherever device not available use Simulators and Emulators e.g we Emulator for Jellybeans. Simulator for IOS 5Simultors- Real life scenarios
  • People can use the phone in different ways ….Apps can behave erratically when multiple process run in background apps crashHardware incompatibilityMemory Limit
  • One practice that we followed always as to view the logs while testing the app it helped us uncover potential problems and identify exact problems.e.g. JS failing on iOS
  • Mention tool namesPeople can use the phone in different ways ….Apps can behave erratically when multiple process run in background apps crashHardware incmpatibility
  • Learning's from mobile testing

    1. 1. Learnings –Mobile Apps Testing
    2. 2. The World of Mobile Apps
    3. 3. Native Native: An app build purely using the components build using the underlying platform e.g. objective C, Java Native app examples: Calendar, Calculator
    4. 4. Hybrid Hybrid: An app build using combination of HTML 5 with the native components.This approach helps in making the app platform independent in some Way. Frameworks based on it Calatrava, PhoneGap e.g. LinkedIn app, Facebook app
    5. 5. Mobile Web It’s a web site which run on Mobile phones. Many companies go for a mobile web instead of building an app as its platform independent. e.g. m.timesofindia.com, m.facebook.com
    6. 6. Challenges in Testing Mobile apps Number of Devices & OS versions (Hardware configuration) Display density Different Browsers Network connections Installation issues
    7. 7. Challenges in Testing Mobile apps Simulating real life scenarios • Call Interrupts • Low Battery • Alarms • Network Issues
    8. 8. Challenges in Testing Mobile apps • Accessibility Usability • Identity • Navigation • Content
    9. 9. Challenges in Testing Mobile apps Automation Developmental Practices ToolsWhat to Automate??? Effort v/s Value
    10. 10. Non Functional Testing
    11. 11. Key Learnings
    12. 12. Ensure coverage on various devices Select a set of representative devices Test End to End Flow on each device Extensively use Simulators
    13. 13. Ensure testing of real life scenarios Apps can behave erratically when -Multiple process run in the background -Hardware is incompatible -Memory Warnings are thrown
    14. 14. Constant Monitoring of Device Logs Uncover potential problems before they occur. Extremely helpful to understand the API calls the app makes
    15. 15. Showcase Tools IOS – Reflections Android- Android Projector Extremely useful tools to demo your app to clients
    16. 16. Automation Tools Frank Calabash MonkeyTalk Sikuili UIAutomation
    17. 17. Automation Tools Robotium Calabash MonkeyTalk Sikuili Native Driver Android Instrumentation
    18. 18. Automation Tools Android Driver iPhone Driver Watir
    19. 19. Automation Tools MobiTest Google Page Speed Load Runner Jmeter
    20. 20. Key Learning’s Use simulators to get the breadth of devices tested. Testing on different Display density mobiles Keep an eye on smaller details as well Simulating real life scenarios Constant monitoring of device logs while testing Selective automation on Devices/simulators Showcase tools
    21. 21. How can we help? ThoughtWorks is a global custom software solutions consultancy trusted by many of the world’s leading businesses with their most complex and critical systems. We deliver consulting grounded in delivery expertise, build custom applications and help organisations across all market sectors to drive IT efficiency – working to an exceptionally high standard. Contact us Vikrant.g.chauhan@thoughtworks.com dubinsky@thoughtworks.comPrivate and Confidential. © 2012 ThoughtWorks. All rights reserved.

    ×