Weitere ähnliche Inhalte Ähnlich wie Mobile Application Testing Training Presentation (20) Kürzlich hochgeladen (20) Mobile Application Testing Training Presentation2. • Is a software application designed to run on smartphones,
tablets and mobile devices.
• Application distribution platforms – appstore, googleplay
• Designed and tested on emulators before the field testing
• Ex. calender, contacts, email, weather, games, banking
etc.
Mobile application or mobile app
© 2013 MobiGnosis
4. • Short dev cycle, rapid changes, multiple form factors.
• Native, Web and Hybrid apps.
• Multiple devices and OS.
• Non functional – Security and performance.
• Backward compatibility.
• Popular mobile web browsers.
• Network.
• Graphics, Video, Audio.
• Memory usage.
• Usability .
• What is coming next ?.
Mobile App Challenges
© 2013 MobiGnosis
7. Types of mobile applications
• Native app
• Runs on device OS and firmware
• Android, IOS
• Web app
• Browser app, web capable mobile devices
• HTML, javascript
• Hybrid app
• Combination of Native and Web apps
• Has cross platform compatibility
© 2013 MobiGnosis
8. Multiple devices and OS
Multiple Handsets - i Phone, Android Mobiles,
Blackberry, Nokia, Windows Mobile
Multiple Platforms - Android, IOS, Brew, J2ME,
Windows Mobile and Symbian.
© 2013 MobiGnosis
9. • Opera mini
• Google chrome
• Safari
• IE mobile browser
• Dolphin
• Skyfire
Popular mobile web browsers
© 2013 MobiGnosis
11. • First impression
• Is anything confusing ?
• Does the app feel slow ?
• Where are you testing it ?
• Hardware device, network, OS version
• Does the app crash or freeze ?
• How’s the weather ?
Start testing….
© 2013 MobiGnosis
12. • Locate the icon on device home or app screen.
• Tap the icon to start the app.
• Examine the splash screen as the application loads.
• Once the app loads, stop and look at it carefully.
• Cluttered ? Confusing ? Lost ? Quick and easy ? Location and Privacy
data ?
Mobile apps at a glance
© 2013 MobiGnosis
13. • Installation/uninstallation
• download and delete
• Workflows and feature testing
• Functional – specs and requirements
• Data – different types of data
• Regression
• Performance – quick and responsive
• Localization – handle different langugaes
• Scenarios
• Credible usage stories and workflows
Mobile app testing approach
© 2013 MobiGnosis
14. • Device interactions (web, network, apps)
• Wifi, Cellular Network, apps, accessories
• Documentation review
• With in app
• Marketing material
Mobile app testing approach
© 2013 MobiGnosis
15. • Tap
• Double Tap
• Press
• Press and Drag
• Swipe
• Flick
• Shake
• Rotate
• Pinch
• Spread
Gesture Tour
© 2013 MobiGnosis
16. • Installation
• Application Start/Stop Behavior
• Application Credentials
• Interruptions – Voice calls
• Interruptions – SMS
• Autostart
• No disruption to key device applications (pre installed)
Testcase strategies
© 2013 MobiGnosis
17. Types of mobile app testing
• UI Testing – Color, menu, style
• Performance and stress – under low resources
• Usability testing
• Certification compliance testing
• Submission guidelines compliance testing
• Interruption testing – voice calls, sms, low memory notification
• Monkey testing
• Low network/no network
© 2013 MobiGnosis
18. • Singular Approach – one device, one language, one
carrier
• Proportional Approach – narrow combination
• Shotgun Approach – multiple combination
• Outsourced strategy – remote device services, personal
network
Platform test strategies
© 2013 MobiGnosis
20. Android apps
• Managing the Activity lifecycle
• Start activity
• Pause and resume activity
• Stopping and restarting
• Recreating
• Fragments
• Nested activity
• Layouts
• Understand the android app – code walkthrough
© 2013 MobiGnosis
21. Android application life cycle
Activity
• In Android, each application is a process,called activity.
• Android (aka Dalvik VM) maintains an unique activity stack to
observe the status of process, and manage the memory.
• Life cycle of an activity is managed by Android OS, not by
application itself.
http://developer.android.com/training/basics/activity-
lifecycle/index.html
© 2013 MobiGnosis
22. Status of an activity
• Active - "Active" is the status that an activity is running.
• Paused - "Paused" means an activity is in the background.
• Stopped - The activity has already exit the screen, no other
action is running.
• Dead - The activity has been finished manually, or garbage
collected by system.
© 2013 MobiGnosis
23. Activity API
• ● OnCreate()
• ● OnStart()
• ● OnResume()
• ● OnPause()
• ● OnStop()
• ● OnRestart()
• ● OnDestroy()
© 2013 MobiGnosis
24. Service
• Four components in Android:
• Activity,
• Service,
• BroadcastReceiver,
• ContentProvider
• Except ContentProvider, the others main objects are running in the
main thread.
• The life cycle of Service is most persistent (longest).
https://marakana.com/static/slides/AndroidMainBuildingBlocks.html
#(1)
© 2013 MobiGnosis
25. Automation
Automation is a process, which includes the development of
scripts to run the testcases automatically with out manual
intervention and to log results.
• Rregression testing - automation.
• Repetitive testing and time consuming.
• Reduce time, cost. Increase productivity and test coverage
Why Automation ?
© 2013 MobiGnosis
26. Steps to automate
1. Understanding the application (Technology Used).
2. Choosing a suitable tool for the automation.
3. Identifying functions (like login, register new users).
4. Identification of the Scenarios (Test Cases) for automation.
5. Writing user defined functions for Unit functions and scenarios.
6. Adding verification fuctions (more the merrier).
7. Scenarios should be independent of eachother.
8. Combine all the scenarios and run end-end (test suites).
© 2013 MobiGnosis
27. Automation tools for Android based app
• Selenium - Android driver
• Installing android emulator and configuring
• Configuring webdriver apk in emulator
• Identifying objects
• Parameterization
• Implicit and explicit wait
• Do’s and don’ts with android driver
• Andriod test framework
https://code.google.com/p/selenium/wiki/AndroidDriver
© 2013 MobiGnosis
28. Robotium
• Is an open source test framework
• Robust automatic black-box test cases for Android
applications.
• Functional , system and acceptance test scenarios can be
automated.
• https://code.google.com/p/robotium/
© 2013 MobiGnosis