Mais conteúdo relacionado
Semelhante a Mobile Application Testing (20)
Mobile Application Testing
- 2. MOBILE APPLICATION TESTING
• is a process by which a developed application of a mobile
device is tested for its functionality , consistency and
usability.
• Application distribution platforms-app store, google play
• Designed and tested on emulators before the field testing
• Ex calendar , contacts, email, games …..
© Sun Technologies Inc. 2
- 3. © Sun Technologies Inc. 3
Mobile App Challenges
Mobile application testing is a quite different which
involves many things like,
• Wide varieties of mobile devices
• Different mobile operating system
• Different mobile network operators
• Input method
• Memory usage
• Usability
- 4. © Sun Technologies Inc. 4
Mobile Platforms
• Android
• iOS
• Symbian(Nokia)
• J2ME
• RIM(Blackberry)
• BREW
• Windows Mobile
• Bada(Samsung)
- 5. © Sun Technologies Inc. 5
Types of mobile devices
• Candy bar phones
• Touch Screen phones
• Slider phones
• Clamshell devices(flip phones)
• Phones with QWERTY keyboard
- 6. © Sun Technologies Inc. 6
Types of mobile application
Native apps
•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 comptability
- 7. © Sun Technologies Inc. 7
Mobile App Testing Approach
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 languages
Scenarios
•Credible usage stories and workflows
Device interactions(web , network , apps)
•Wi-Fi, Cellular Network ,apps
- 8. © Sun Technologies Inc. 8
• Installation
• Application Start/stop Behavior
• Application Credentials
• Interruptions-Voice calls
• Interruptions-SMS
• Auto start
• No disruption to key device applications
Testcase Strategies
- 9. © Sun Technologies Inc. 9
• UI testing-color ,menu , style
• Performance and stress-under low resources
• compatibility testing
• Interruption testing-voice calls,sms,low memory
notification
• Adhoc testing
• Low network/no network Usability testing
• Security testing
Types Of Mobile App Testing
- 10. © Sun Technologies Inc. 10
• Automation is a process ,which includes the development of
scripts to run the test cases automatically with out manual
intervention and to log results.
Why Automation?
• Manual Testing of all workflow ,all negative scenarios is
time and cost consuming
• It does not require human intervention.
• It increases speed of test execution and test coverage.
Automation
- 11. © Sun Technologies Inc. 11
Aagfyhjc
sccAAuto
Growing
mobile apps
Agile
development
cycle
Mobile
Landscape
Complexities
Globalization:
Apps
releasing in
multiple
languages
Need of Automation in Mobile Testing
Automation
Is the key
- 13. © Sun Technologies Inc. 13
RIGHT TOOL
Preference
to free/paid
tool
Which app
to automate:
Android/iOS
or both?
Time Crunch
Flexibility of
tester with
the scripting
languages
Community
support
First
party/Third
Party
Choose The Right Tool
- 14. © Sun Technologies Inc. 14
Monkey
Runner
Android app only Basic UI testing Time Crunch
Low
effort/investment
UI
Automator
Android app only
Intensive UI
testing.
Don’t want to use
third party tool.
Have time to
build a stable
automation
solution.
Monkey
Talk
Android & iOS
app
app doesn’t
supports web
view.
Image
comparison
requirement.
Can install agents
in your app / can
invest money per
month
Appium
Android & iOS
app
Intensive UI
testing
Don’t have code /
Don’t want to
install any agent.
Stable
automation
solution (free) for
suite of apps
Use case scenario
- 15. © Sun Technologies Inc. 14
Key Features
Components of this tool
• Provides an API for writing programs to control an
Android device/emulator.
• Can be used for both functional and UI testing.
• Entirely based on coordinates based automation.
• MonkeyRunner
• MonkeyDevice
• MonkeyImage
Monkey Runner
- 16. Monkey Runner
© Sun Technologies Inc. 16
Strengths
Easy to set-up.
Test multiple devices at a
time.
Appropriate for regression
testing of a basic app.
Random testing.
Limitations
Only supports Android.
Different script for different
device.
Even slight change in UI
breaks the script.
- 17. UI Automator
Key Features
© Sun Technologies Inc. 17
• It is a java library containing API’s to create customized
functional UI tests.
• Integrated with Google’s own Android development IDE
• Entirely based on object based automation.
Components of this tool
• Uiautomatorviewer
• API framework
- 18. © Sun Technologies Inc. 18
Strengths
One of the best tools for
testing android apps.
Comes bundled with
Android Studio IDE.
Appropriate for UI testing
of any android app.
Limitations
Only supports Android
(versions > 4.3).
Lack of support for Web
view.
Lack methods for some
gestures like long press on
an element.
UI Automator
- 19. Monkey Talk
© Sun Technologies Inc. 19
• MonkeyTalk IDE
• MonkeyTalk Agent
• It is an integrated environment for recording, customizing
and managing test suites.
• Open source, eclipse based IDE.
• Used for automation of both iOS & Android apps.
• Limited features are available in the free version of this
tool. Paid version is costly.
Components of this tool
Key Features
- 20. Monkey Talk
© Sun Technologies Inc. 20
Strengths
Supports both iOS and Android
apps.
Test multiple devices at a time.
Open source
Image comparison is supported
Limitations
The essential features are available
in the paid version.
Doesn’t support web view.
Agent needs to be installed in the
app which needs to be tested.
Limited Xpath support.
- 21. APPIUM
© Sun Technologies Inc. 21
• It is a HTTP server that takes HTTP commands from the
test script and executes the command on the device.
• Based on WebDriver JSON protocol.
• Used for automation of both iOS & Android apps.
• Totally derived from selenium code + mobile gesture
handling
Key Features
Components of this tool
• Appium Server
• Appium Client libraries
• Appium Inspector
- 22. APPIUM
© Sun Technologies Inc. 22
Strengths
Supports both iOS and Android apps.
One of the most versatile tools for testing
any native, hybrid and mobile web apps.
Doesn’t require code access or
recompiling the app.
Test multiple android devices at a time.
Limitations
No support for parallel test for iOS apps.
No support for Android version < 4.1
(selendroid can be used)
No Image comparison.
No option to switch off network
connection.
- 23. The Process: Recipe of Success
© Sun Technologies Inc. 23
Know your
mobile app.
Identify the
right
automation
tool.
Write test
script to
cover all the
testing
workflows
in the app.
Run the
script for
the test
pass.
Next
Release:
Update the
script.
Repeat until
the app
lives on the
app store.
- 24. Test cases which are not suitable for automation are as
follows:
• Test cases that are newly designed and not executed manually at
least once
• Test cases for which the requirements are changing frequently
• Test cases which are executed on adhoc basis
24© Sun Technologies Inc.