Mobile Application Testing by
Javed Ansari
1
Mobile Application Testing
By Javed Ansari
Mobile Application Testing by
Javed Ansari
2
What is Mobile Application Testing?
Why Mobile Application Testing?
Key Challenges in Enterprise Mobility Testing
Mobile Testing Methodologies/Approach
oLegacy Mobile Testing Approach
oBehavior Driven Testing (BDT) Approach
oCrowd Sourcing for Mobile Application Testing
Available ways for testing Mobile Applications
Types of Mobile Application Testing
Mobile Testing Using Emulators
UI Testing for Mobile Applications
Mobile Application UI Testing
Interruption Testing for Mobile Applications
Gesture Testing for Mobile Applications Continued..
Agenda
Mobile Application Testing by
Javed Ansari
3
Security Testing for Mobile Applications
Performance Testing for Mobile Applications
Popular Mobile Application Testing Tools
Remote Based Mobile Application Testing Tools Comparison
Desktop Based Mobile Application Testing Tools Comparison
Analyze and Choose what is best for you!
Conclusion
Thank you and Questions?
Agenda Continued..
Mobile Application Testing by
Javed Ansari
4
Mobile Application Testing is a process though which testing can be performed to verify the
functionality, Usability and Stability of the developed mobile applications.
What is Mobile Application Testing?
Mobile Application Testing by
Javed Ansari
5
Why Mobile Application Testing?
The face of IT is changing very fast in today’s world. Unlike a decade back when we had bulky desktops
with limited connectivity and that too were mostly getting used by IT dependent companies and end
users had only started to learn about the computers, now the users are becoming smart and have
adapted the new technologies in their daily life and believe me this trend is not going to stop until we
will bring whole universe at our figure tips.
When we talk about Mobile Applications, Testing becomes an important factor for a successful Mobile
Application Development due to the following factors.
Frequent Releases for Mobile Apps
Involvement of Various Devices
Involvement of Various OS
Technology
Convergence
Exponential
growth in Cloud
and Mobile
Computing
Complex and
Fragmented
Technologies
Global
Acceptance of
Mobility
Mobile Application Testing by
Javed Ansari
6
Key Challenges for Enterprise Mobility Testing
Various Device Hardwares
Various Operating Systems
Various Browsers
Various Networks
Mobile Application Testing by
Javed Ansari
7
Legacy Mobile Testing Approach
Test Environment Setup
Test Data Setup Test Setup Emulators Setup Tools Setup
Identifying Testing Tools
Device Emulators OS Emulators Actual Devices
Identifying Testing Parameters
Device Hardware Operating System Browsers Device Settings
Identifying Test Scenarios
Application
Functions
Device
Interactions
Usability Performance
Network
Impacts
Interruptions
Mobile Application Testing by
Javed Ansari
8
Behavior Driven Testing (BDT) Approach
Focus on requirements
Identifies different flows
application behavior.
Useful for automating
multichannel applications
Compatible with open
source tools
Behavior-driven testing is an iterative, incremental and agile
methodology.
Behavior-driven testing combines the general techniques and principles of
TDD and BDD
Mobile Application Testing by
Javed Ansari
9
Behavior Driven Testing (BDT) Approach Continued..
Advantages of BDT
• Usable domain language for team as well as BA.
• Never have to rewrite specs as behavior does not change
• Good fit for an application having big data sets and rarely changing test cases.
• Good usability and re-usability of test scripts and good test flow coverage.
• Data and code are separately managed and maintained.
• Easy to reproduce a failed scenario or case at developer-end.
BDT Supported Tools
• > Cucumber
• > Phone Monkey
• > Calabash
Mobile Application Testing by
Javed Ansari
10
Crowd Sourcing for Mobile Application Testing
Mobile Application Testing by
Javed Ansari
11
Advantages of Crowd sourced Mobile Testing
Higher Quality: The core testing team may not have all the resources to test the
software in different environments and in different situations as it may not be possible to
have all the resources to create different environments in which the software should be
tested.
Cost Control: It is cost effective, as the product company pays only for the valid bugs
reported. Usually time to test the software is comparably lesser, so it leads to better
productivity and thus is cheaper than hiring engineers, designers, and specialists.
Fast Market: 2-3 day test cycles instead of 2--‐3 weeks
High Complexity: The quality of mobile application testing is achieved by using different
devices, languages and locations. The pool of testers is diverse with variations in languages
as well as locales. This helps testing applications which are based on localization.
Mobile Application Testing by
Javed Ansari
12
Available ways for Mobile Application Testing
• An emulator is hardware or software or both that duplicates (or emulates) the
functions of one computer system (the guest) in another computer system (the host)
Using Emulators
•Having an account with a vendor that lets you access remote real devices at any time is very
handy.
Remote Real Devices in Cloud
• Emulators and remote, real-device solutions that support script & playback
functionality are time-savers that can allow you to execute more test cases with a
higher degree of consistency. Clearly, a solution that integrates real and emulated
devices is ideal.
Automate Wherever Possible
•If devices are not launched yet, a prototype of that device model is given by the device
manufacturer.
On Actual Device
Mobile Application Testing by
Javed Ansari
13
Types of Mobile Application Testing
Mobile
Testing
Sanity
Testing
Functional
Testing
User
Interface
Testing
Interruption
Testing
Security
Testing
Performance/
Stress testing
Field Testing
Mobile Application Testing by
Javed Ansari
14
Mobile Testing Using Emulators
When developing code for mobile devices, it’s always good to test it out on the targeted device(s).
However, it’s not always convenient or cost-effective to have access to the real thing. That’s where
mobile device emulators and simulators come into play.
Emulator
Mimics your
software and a
part hardware
Interruption ,
Network
Connectivity
testing and
Memory Leak
issues are not
possible.
Multiple
Device/Screen
Resolution
Support
Cross Platform
Testing is
possible
Mobile Application Testing by
Javed Ansari
15
UI Testing for Mobile Applications
Due to diversity in mobile hardware and platforms, testing programs need to incorporate GUI and
compatibility tests in addition to the standard functionality tests.
•Multiple OS versions and devices
•Different Screen Orientations
•Different Screen Setup
•Rendering of images and positioning of elements
User Experience
Usability
Positive
Interaction
Appealing
Design
Mobile Application Testing by
Javed Ansari
16
Mobile Application UI Testing – Scope and Coverage
Browser
Compatibility
Testing
Layout
Testing
Content
Testing
Look and Feel
Testing
Navigation
Testing
Instruction
Testing
Mobile Application Testing by
Javed Ansari
17
Test Factors
Layout Continues, Relative
Navigation Logical
Position of Icons Logical, Clearly Laid out, Functional
Different Display Format Suitable
Readability Look, Display Duration
Language Grammar, Spelling
Text display Alignment, Overlap, Text Wrapping
Touch Screen Gestures, Input
Motion Sensor Pan, Overturning
Error Messages, Warning Comprehensible
Screen Setup Logical, Duration
Action Chains Logical, Comprehensible
Progress Bar Timing
Performance Load Duration, Multitasking
Mobile Applications UI Testing Criteria
Mobile Application Testing by
Javed Ansari
18
Interruption Testing for Mobile Applications
Interruption testing is process to replicate abrupt(Unexpected) interrupt to the mobile application.
This can be achieved in various ways and techniques depending on the application under test.
Interrupt testing assures that the device native functionalities are intact and well functional even if the
application is running. Interrupt testing also assures the application robustness with the device native
features.
•Sources of Interruption
•Interruption thru Services
•Various Interruption testing Scenarios
•Achievements of Interruption Testing
Mobile Application Testing by
Javed Ansari
19
Different Sources of Interruption
Mobile Application Testing by
Javed Ansari
20
Various Scenarios for Interruption Testing
Call Establish/Accept/Reject Interruption
Camera Activated
Low Memory
Charger Effect
Battery Removal
Social Media Notifications
Alarm Clocks
Home Button/Application Minimize
Bluetooth
Calendar Events
Mobile Application Testing by
Javed Ansari
21
Achievements for Interruption Testing
Interruption testing cannot be done on Simulators & cloud, partial
support on emulators
Testing the application for interrupt handling is a very important
aspect of mobile testing as these interrupts are a very common
phenomenon that may occur anytime during the application run.
The interrupts must be handled properly so that they do not cause
interruption in the application functionality. The application must be
in a suspended state during the interruption but must resume
continuing its normal function after the interruption is over. The
hardware interrupts are on the highest priority and the software
interrupts can be prioritized accordingly.
Mobile Application Testing by
Javed Ansari
22
Gesture Testing
A Gesture is a pen movement or combination of movements that match the patterns
defined by a recognizer, and is assigned special behavior within an application in order to
implement the behavior assigned to the gesture. Gestures provide a powerful mechanism
for making your application truly gesture centric.
In addition to interpreting Strokes as written characters, a recognizer can return results
that specify the user has entered a Gesture. A gesture can be a hand/face movement, Ink
stroke or pen movement that matches the set of glyphs defined by a recognizer. These
glyphs are assigned special behavioral meaning in the application. When a Gesture object
is recognized it triggers an event that you can handle in your application.
Mobile Application Testing by
Javed Ansari
23
Gesture Sensing Technologies
 Gesture interaction validation primarily dealt with application response with various
inputs like tap, touch, squeeze ,pinch.
The thought is to see a certain swipe/pinch/zoom etc. movement will work against
various UI changes. When someone makes this gesture what exactly happens in an app
across platforms.
Mobile Application Testing by
Javed Ansari
24
Security Testing for Mobile Applications
The enterprise mobile applications extend corporate networks beyond the perimeter devices and thus
potentially expose these organizations to new types of security threats.
•Location-Independent (mobile)
•Consumerization
•Different attackers
•Identify different penetration tests
•Focus on functionality and design rather than security
Vulnerability
Analysis
Threat
Modeling
Intelligence
Gathering
Mobile Application Testing by
Javed Ansari
25
Environmental Analysis
 Focus on the company behind the app and their business case and the relating stakeholders
 Analyze internal processes and structures
Architectural Analysis
 App (network interfaces, used data, communication with other
 Resources, session management, jailbreak/rooting detection, …)
 Runtime environment (MDM, jailbreak/rooting, OS version)
 Backend services (application server, databases, firewall, …)
Security Testing - Intelligence Gathering
Mobile Application Testing by
Javed Ansari
26
Identifying threats for the app - specific or
prepared threats (e. g. OWASP Top 10)
Should be done already in the development
Risk rating e. g. with OWASP Risk Rating
Developing countermeasures e. g. with best
practices or developers guides
Differences to conventional process
Most software testing processes do not include
Threat Modeling
Threat Modeling makes the complete process
more traceable and efficient for all participants
Security Testing - Thread Modeling
Mobile Application Testing by
Javed Ansari
27
Identifying vulnerabilities in the app by previously created test cases
using the following methods.
Security Testing - Vulnerability Analysis
Mobile Application Testing by
Javed Ansari
28
Leading enterprises in various industries depend on mobile
applications to support their core business activities. Ex. Mobile
banking
Failure to provide optimal user experience in the wake of
increased user volume may lead to service failures, unhappy
customers and loss in company’s business and reputation
Without performance testing, it may not be possible to anticipate
real world scenario and the infrastructure required to support peak
loads
Performance Testing for Mobile Applications
Mobile Application Testing by
Javed Ansari
29
Performance Testing Types and Challenges
Limited Bandwidth
Network Latency
Packet loss
Power Consumption
Performance
Testing
Load
Testing
Endurance
Testing
Volume
Testing
Scalability
Testing
Spike
Testing
Stress
Testing
Mobile Application Testing by
Javed Ansari
30
Mobile Application Performance Testing Tools
Report Analyzer
Test Case
Controller
Scenario
Generator
JMeter Master
Application
Under Test
JMeter
Slave
 It consists of a Master system (the JMeter GUI)
which controls remote slave systems running
JMeter-server instances which concurrently
imposes load on a target server, network or
object under test by emulating traffic to and
from client software.
Test both Browser based and Native
Mobile applications using most advanced
Network behavior and Service
Virtualization.
Mobile Application Testing by
Javed Ansari
31
Popular Mobile Application Testing Tools
Remote
Based
Paid
Perfecto Mobile
Device Anywhere
Desktop
Based
Paid
EggPlant
SeeTest
JamoSolutions
Squish
FoneMonkey
Open
Source
Robotium
Sikuli
MonkeyTalk
Robot
Framework
Mobile Application Testing by
Javed Ansari
32
Remote Based Mobile Application Testing Tools Comparison
Functionality/Tools Perfecto Mobile Keynote Device Anywhere
Product Installation Method Web Based Downloadable Software
App Clean UP Possible Not Possible
Cloud(Global) Public
Private
Device Reservation Support
Public
Private
Supported OS iOS,
Android
BlackBerry
Windows Phone as well as Emulators support
iOS
Android
BlackBerry
Windows Phone as well as Emulators support
Automation 1. Visual Objects (OCR)
2. Real (Native) objects
3. Web Objects/HTML5 (DOM)
4. Script Portability
5. Sharing test sessions live (Video/screenshots)
6. Integrations (HP)
7. Integrations (IBM)
1. Visual Objects (OCR)
2. Web Objects/HTML5 (DOM)
3. Sharing test sessions live (Video/screenshots)
4. Integrations (HP)
5. Integrations (IBM)
ALM Integrations 1. Testing (Manual/Automation)
2. Performance testing
3. Monitoring
1. Testing (Manual/Automation)
2. Performance testing
3. Monitoring
Mobile Monitoring & Performance 1. Real device support
2. Rich reporting suite
3. Integration with ALM Tools
4. Saas Delivery model
5. Performance and network testing
1. Real device support
2. Rich reporting suite
3. Integration with ALM Tools
4. Saas Delivery model
5. Performance and network testing
3
rd
Party API connectivity Perfecto has open API support (Restful API support) No API Support
Mobile Application Testing by
Javed Ansari
33
Desktop Based Mobile Application Testing Tools Comparison
Functionality/Tools Squish GUI Testing M-eux Test Egg Plant Robotium Sikuli MonkeyTalk
Company FrogLogic Jamo Solutions Test Plant Google Code Projects GitHub Project Gorilla Logic
Testing Areas Covered Cross Browser Testing
GUI Testing
Web testing
Mobile Testing
GUI Testing
Mobile Testing
GUI Testing,
Image Based Testing
Web Testing
Performance Analysis
Mobile Testing
GUI Testing and
Mobile Testing
GUI Testing and
Image Based Testing
Mobile Testing
Supported Languages Python
JavaScript
Ruby
Perl
Tcl
Squish specific script
APIs for a lot of
convenience
Visual Studio,
Eclipse
M-eux specific Script.
Visual Design Eclipse Python language level 2.7
(supported by Jython)
Ruby language level 1.9 and
2.0 (supported by JRuby)
Java Programming
MonkeyTalk
Supported OS iOS Cocoa Touch
Android
Web/HTML5/AJAX/Fl
ex
Android,
BalcBerry,
iOS and
Windows
Android,
BalcBerry,
iOS and
Windows
Android Android and
iOS
Android and
iOS
License Paid Paid Paid Free Free Free
Mobile Application Testing by
Javed Ansari
34
Analyze and Choose what is best for you!
Cost
Benefit
Analysis
•Purpose of the Application
•Nature of Business
•Current and forecast
comparisons
Scope
Based
Decisions
•Device Variant Support
•Native Application or
Web Based Application
•OS Variant Support
Features
Based
Decisions
•Work on
Emulator/Device
•Integration to Test
Management Tools
•Areas to be Automated
Regression
Testing
Scope and
Complexity
of the
System
•Identifying the Core
Functionality
•Identifying the frequently
used functionality
•Indentifying the Business
impacting functionalities
Infrastructure
Decisions
• Could Based/ Standalone
• Network Infrastructure
• Mobile Features to be
used
Timelines of
the Project
•Purpose of the Application
•Special Period Business
App
•Enterprise App
Mobile Application Testing by
Javed Ansari
35
The significant challenges and risks involved in mobile application development may
reduce the quality of the mobile applications. These risks and challenges can be mitigated
by adopting the various testing type and techniques outlined in this presentation.
The importance of testing for mobile applications can not be over sighted before making
them ready for production. An application with defects can hurt the business and the
company reputation.
Conclusion
Mobile Application Testing by
Javed Ansari
36

More Related Content

PPTX
Mobile Application Testing
PPTX
Mobile Application Testing Training Presentation
PPTX
Mobile App Testing Strategy
PPT
Mobile Application Testing Strategy
PDF
Mobile App Testing Strategy by RapidValue Solutions
PPTX
Mobile Application Testing
PPTX
Mobile application testing
Mobile Application Testing
Mobile Application Testing Training Presentation
Mobile App Testing Strategy
Mobile Application Testing Strategy
Mobile App Testing Strategy by RapidValue Solutions
Mobile Application Testing
Mobile application testing

What's hot (20)

PPTX
Mobile testing practices
PPTX
Mobile Application Testing
PPTX
Mobile application testing
PPTX
Mobile Application Testing
PPTX
Mobile application testing tutorial
PPTX
Basic Guide For Mobile Application Testing
PDF
Mobile application testing
PPTX
Mobile Testing Service Desk_Own.ppt
PDF
Performance testing of mobile apps
PDF
Mobile Performance Testing Approaches and Challenges
PDF
Appium: Automation for Mobile Apps
PPTX
Performance Testing And Its Type | Benefits Of Performance Testing
PDF
Chapter 2 - Mobile Application Test Types
PPSX
Manual testing
PDF
Browser_Stack_Intro
PPTX
QA. Load Testing
PPT
iOS Application Testing
PPTX
Presentation on mobile app testing
PDF
Manual Testing Interview Questions | Edureka
PDF
Mobile Testing with Appium
Mobile testing practices
Mobile Application Testing
Mobile application testing
Mobile Application Testing
Mobile application testing tutorial
Basic Guide For Mobile Application Testing
Mobile application testing
Mobile Testing Service Desk_Own.ppt
Performance testing of mobile apps
Mobile Performance Testing Approaches and Challenges
Appium: Automation for Mobile Apps
Performance Testing And Its Type | Benefits Of Performance Testing
Chapter 2 - Mobile Application Test Types
Manual testing
Browser_Stack_Intro
QA. Load Testing
iOS Application Testing
Presentation on mobile app testing
Manual Testing Interview Questions | Edureka
Mobile Testing with Appium
Ad

Viewers also liked (11)

PPTX
Mobile app testing
PPTX
Evaluación de usabilidad de aplicaciones para dispositivos móviles dotados de...
PDF
tipos de pruebas.
PPTX
Mobile performance testing
PPTX
Mobile Device Client Application Performance Testing
PPT
Mobile app testing services
PPTX
Mobile App Testing Best Practices
PDF
Mobile App Testing
PDF
Mobile Application Security Testing, Testing for Mobility App | www.idexcel.com
PPTX
Mobile App Testing
PPTX
Desarrollo de Software Guiado por Pruebas
Mobile app testing
Evaluación de usabilidad de aplicaciones para dispositivos móviles dotados de...
tipos de pruebas.
Mobile performance testing
Mobile Device Client Application Performance Testing
Mobile app testing services
Mobile App Testing Best Practices
Mobile App Testing
Mobile Application Security Testing, Testing for Mobility App | www.idexcel.com
Mobile App Testing
Desarrollo de Software Guiado por Pruebas
Ad

Similar to Mobile Application Testing by Javed Ansari (20)

PPT
Mobile testing
PDF
Mobile application-testing for shanethatech
PPTX
mobileapplicationtesting.pptx
PDF
App Testing SEO Expert Bangladesh LTD
PDF
The Ultimate Breakdown of Mobile App Testing_ Types and Approaches.pdf
PDF
Mobile-Applications-Testing
PPTX
A Mobile Application Testing Guide for Optimizing Apps.pptx
DOCX
App Development Testing, App Testing Tools and Technologies 2023
PPTX
MobileApplicationTestingTypeofMobileapps.pptx
PPTX
HienVo_Mobile Testing_v.1.2
PDF
Chapter 3 - Common Test Types and Test Process for Mobile Applications
PDF
The Essentials of Mobile App Testing and Monitoring
PDF
12 considerations for mobile testing (march 2017)
PPT
Android & iPhone App Testing
PDF
How Mobile App Testing Strengthens the Software Development Lifecycle.pdf
DOCX
Mobile testing
DOCX
Mobile app testing
PDF
Mobile Testing_ An Introduction to the Different Types and Approaches.pdf
PDF
Mobile application testing
PDF
An Introduction To Mobile Software Testing
Mobile testing
Mobile application-testing for shanethatech
mobileapplicationtesting.pptx
App Testing SEO Expert Bangladesh LTD
The Ultimate Breakdown of Mobile App Testing_ Types and Approaches.pdf
Mobile-Applications-Testing
A Mobile Application Testing Guide for Optimizing Apps.pptx
App Development Testing, App Testing Tools and Technologies 2023
MobileApplicationTestingTypeofMobileapps.pptx
HienVo_Mobile Testing_v.1.2
Chapter 3 - Common Test Types and Test Process for Mobile Applications
The Essentials of Mobile App Testing and Monitoring
12 considerations for mobile testing (march 2017)
Android & iPhone App Testing
How Mobile App Testing Strengthens the Software Development Lifecycle.pdf
Mobile testing
Mobile app testing
Mobile Testing_ An Introduction to the Different Types and Approaches.pdf
Mobile application testing
An Introduction To Mobile Software Testing

Recently uploaded (20)

PDF
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
PPTX
MuleSoft-Compete-Deck for midddleware integrations
PDF
Co-training pseudo-labeling for text classification with support vector machi...
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
Statistics on Ai - sourced from AIPRM.pdf
PPTX
Training Program for knowledge in solar cell and solar industry
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PPTX
Module 1 Introduction to Web Programming .pptx
PDF
Comparative analysis of machine learning models for fake news detection in so...
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PPTX
Microsoft User Copilot Training Slide Deck
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
DOCX
search engine optimization ppt fir known well about this
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
MuleSoft-Compete-Deck for midddleware integrations
Co-training pseudo-labeling for text classification with support vector machi...
Custom Battery Pack Design Considerations for Performance and Safety
Statistics on Ai - sourced from AIPRM.pdf
Training Program for knowledge in solar cell and solar industry
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
Rapid Prototyping: A lecture on prototyping techniques for interface design
NewMind AI Weekly Chronicles – August ’25 Week IV
sustainability-14-14877-v2.pddhzftheheeeee
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
Module 1 Introduction to Web Programming .pptx
Comparative analysis of machine learning models for fake news detection in so...
Taming the Chaos: How to Turn Unstructured Data into Decisions
Microsoft User Copilot Training Slide Deck
Lung cancer patients survival prediction using outlier detection and optimize...
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
search engine optimization ppt fir known well about this

Mobile Application Testing by Javed Ansari

  • 1. Mobile Application Testing by Javed Ansari 1 Mobile Application Testing By Javed Ansari
  • 2. Mobile Application Testing by Javed Ansari 2 What is Mobile Application Testing? Why Mobile Application Testing? Key Challenges in Enterprise Mobility Testing Mobile Testing Methodologies/Approach oLegacy Mobile Testing Approach oBehavior Driven Testing (BDT) Approach oCrowd Sourcing for Mobile Application Testing Available ways for testing Mobile Applications Types of Mobile Application Testing Mobile Testing Using Emulators UI Testing for Mobile Applications Mobile Application UI Testing Interruption Testing for Mobile Applications Gesture Testing for Mobile Applications Continued.. Agenda
  • 3. Mobile Application Testing by Javed Ansari 3 Security Testing for Mobile Applications Performance Testing for Mobile Applications Popular Mobile Application Testing Tools Remote Based Mobile Application Testing Tools Comparison Desktop Based Mobile Application Testing Tools Comparison Analyze and Choose what is best for you! Conclusion Thank you and Questions? Agenda Continued..
  • 4. Mobile Application Testing by Javed Ansari 4 Mobile Application Testing is a process though which testing can be performed to verify the functionality, Usability and Stability of the developed mobile applications. What is Mobile Application Testing?
  • 5. Mobile Application Testing by Javed Ansari 5 Why Mobile Application Testing? The face of IT is changing very fast in today’s world. Unlike a decade back when we had bulky desktops with limited connectivity and that too were mostly getting used by IT dependent companies and end users had only started to learn about the computers, now the users are becoming smart and have adapted the new technologies in their daily life and believe me this trend is not going to stop until we will bring whole universe at our figure tips. When we talk about Mobile Applications, Testing becomes an important factor for a successful Mobile Application Development due to the following factors. Frequent Releases for Mobile Apps Involvement of Various Devices Involvement of Various OS Technology Convergence Exponential growth in Cloud and Mobile Computing Complex and Fragmented Technologies Global Acceptance of Mobility
  • 6. Mobile Application Testing by Javed Ansari 6 Key Challenges for Enterprise Mobility Testing Various Device Hardwares Various Operating Systems Various Browsers Various Networks
  • 7. Mobile Application Testing by Javed Ansari 7 Legacy Mobile Testing Approach Test Environment Setup Test Data Setup Test Setup Emulators Setup Tools Setup Identifying Testing Tools Device Emulators OS Emulators Actual Devices Identifying Testing Parameters Device Hardware Operating System Browsers Device Settings Identifying Test Scenarios Application Functions Device Interactions Usability Performance Network Impacts Interruptions
  • 8. Mobile Application Testing by Javed Ansari 8 Behavior Driven Testing (BDT) Approach Focus on requirements Identifies different flows application behavior. Useful for automating multichannel applications Compatible with open source tools Behavior-driven testing is an iterative, incremental and agile methodology. Behavior-driven testing combines the general techniques and principles of TDD and BDD
  • 9. Mobile Application Testing by Javed Ansari 9 Behavior Driven Testing (BDT) Approach Continued.. Advantages of BDT • Usable domain language for team as well as BA. • Never have to rewrite specs as behavior does not change • Good fit for an application having big data sets and rarely changing test cases. • Good usability and re-usability of test scripts and good test flow coverage. • Data and code are separately managed and maintained. • Easy to reproduce a failed scenario or case at developer-end. BDT Supported Tools • > Cucumber • > Phone Monkey • > Calabash
  • 10. Mobile Application Testing by Javed Ansari 10 Crowd Sourcing for Mobile Application Testing
  • 11. Mobile Application Testing by Javed Ansari 11 Advantages of Crowd sourced Mobile Testing Higher Quality: The core testing team may not have all the resources to test the software in different environments and in different situations as it may not be possible to have all the resources to create different environments in which the software should be tested. Cost Control: It is cost effective, as the product company pays only for the valid bugs reported. Usually time to test the software is comparably lesser, so it leads to better productivity and thus is cheaper than hiring engineers, designers, and specialists. Fast Market: 2-3 day test cycles instead of 2--‐3 weeks High Complexity: The quality of mobile application testing is achieved by using different devices, languages and locations. The pool of testers is diverse with variations in languages as well as locales. This helps testing applications which are based on localization.
  • 12. Mobile Application Testing by Javed Ansari 12 Available ways for Mobile Application Testing • An emulator is hardware or software or both that duplicates (or emulates) the functions of one computer system (the guest) in another computer system (the host) Using Emulators •Having an account with a vendor that lets you access remote real devices at any time is very handy. Remote Real Devices in Cloud • Emulators and remote, real-device solutions that support script & playback functionality are time-savers that can allow you to execute more test cases with a higher degree of consistency. Clearly, a solution that integrates real and emulated devices is ideal. Automate Wherever Possible •If devices are not launched yet, a prototype of that device model is given by the device manufacturer. On Actual Device
  • 13. Mobile Application Testing by Javed Ansari 13 Types of Mobile Application Testing Mobile Testing Sanity Testing Functional Testing User Interface Testing Interruption Testing Security Testing Performance/ Stress testing Field Testing
  • 14. Mobile Application Testing by Javed Ansari 14 Mobile Testing Using Emulators When developing code for mobile devices, it’s always good to test it out on the targeted device(s). However, it’s not always convenient or cost-effective to have access to the real thing. That’s where mobile device emulators and simulators come into play. Emulator Mimics your software and a part hardware Interruption , Network Connectivity testing and Memory Leak issues are not possible. Multiple Device/Screen Resolution Support Cross Platform Testing is possible
  • 15. Mobile Application Testing by Javed Ansari 15 UI Testing for Mobile Applications Due to diversity in mobile hardware and platforms, testing programs need to incorporate GUI and compatibility tests in addition to the standard functionality tests. •Multiple OS versions and devices •Different Screen Orientations •Different Screen Setup •Rendering of images and positioning of elements User Experience Usability Positive Interaction Appealing Design
  • 16. Mobile Application Testing by Javed Ansari 16 Mobile Application UI Testing – Scope and Coverage Browser Compatibility Testing Layout Testing Content Testing Look and Feel Testing Navigation Testing Instruction Testing
  • 17. Mobile Application Testing by Javed Ansari 17 Test Factors Layout Continues, Relative Navigation Logical Position of Icons Logical, Clearly Laid out, Functional Different Display Format Suitable Readability Look, Display Duration Language Grammar, Spelling Text display Alignment, Overlap, Text Wrapping Touch Screen Gestures, Input Motion Sensor Pan, Overturning Error Messages, Warning Comprehensible Screen Setup Logical, Duration Action Chains Logical, Comprehensible Progress Bar Timing Performance Load Duration, Multitasking Mobile Applications UI Testing Criteria
  • 18. Mobile Application Testing by Javed Ansari 18 Interruption Testing for Mobile Applications Interruption testing is process to replicate abrupt(Unexpected) interrupt to the mobile application. This can be achieved in various ways and techniques depending on the application under test. Interrupt testing assures that the device native functionalities are intact and well functional even if the application is running. Interrupt testing also assures the application robustness with the device native features. •Sources of Interruption •Interruption thru Services •Various Interruption testing Scenarios •Achievements of Interruption Testing
  • 19. Mobile Application Testing by Javed Ansari 19 Different Sources of Interruption
  • 20. Mobile Application Testing by Javed Ansari 20 Various Scenarios for Interruption Testing Call Establish/Accept/Reject Interruption Camera Activated Low Memory Charger Effect Battery Removal Social Media Notifications Alarm Clocks Home Button/Application Minimize Bluetooth Calendar Events
  • 21. Mobile Application Testing by Javed Ansari 21 Achievements for Interruption Testing Interruption testing cannot be done on Simulators & cloud, partial support on emulators Testing the application for interrupt handling is a very important aspect of mobile testing as these interrupts are a very common phenomenon that may occur anytime during the application run. The interrupts must be handled properly so that they do not cause interruption in the application functionality. The application must be in a suspended state during the interruption but must resume continuing its normal function after the interruption is over. The hardware interrupts are on the highest priority and the software interrupts can be prioritized accordingly.
  • 22. Mobile Application Testing by Javed Ansari 22 Gesture Testing A Gesture is a pen movement or combination of movements that match the patterns defined by a recognizer, and is assigned special behavior within an application in order to implement the behavior assigned to the gesture. Gestures provide a powerful mechanism for making your application truly gesture centric. In addition to interpreting Strokes as written characters, a recognizer can return results that specify the user has entered a Gesture. A gesture can be a hand/face movement, Ink stroke or pen movement that matches the set of glyphs defined by a recognizer. These glyphs are assigned special behavioral meaning in the application. When a Gesture object is recognized it triggers an event that you can handle in your application.
  • 23. Mobile Application Testing by Javed Ansari 23 Gesture Sensing Technologies  Gesture interaction validation primarily dealt with application response with various inputs like tap, touch, squeeze ,pinch. The thought is to see a certain swipe/pinch/zoom etc. movement will work against various UI changes. When someone makes this gesture what exactly happens in an app across platforms.
  • 24. Mobile Application Testing by Javed Ansari 24 Security Testing for Mobile Applications The enterprise mobile applications extend corporate networks beyond the perimeter devices and thus potentially expose these organizations to new types of security threats. •Location-Independent (mobile) •Consumerization •Different attackers •Identify different penetration tests •Focus on functionality and design rather than security Vulnerability Analysis Threat Modeling Intelligence Gathering
  • 25. Mobile Application Testing by Javed Ansari 25 Environmental Analysis  Focus on the company behind the app and their business case and the relating stakeholders  Analyze internal processes and structures Architectural Analysis  App (network interfaces, used data, communication with other  Resources, session management, jailbreak/rooting detection, …)  Runtime environment (MDM, jailbreak/rooting, OS version)  Backend services (application server, databases, firewall, …) Security Testing - Intelligence Gathering
  • 26. Mobile Application Testing by Javed Ansari 26 Identifying threats for the app - specific or prepared threats (e. g. OWASP Top 10) Should be done already in the development Risk rating e. g. with OWASP Risk Rating Developing countermeasures e. g. with best practices or developers guides Differences to conventional process Most software testing processes do not include Threat Modeling Threat Modeling makes the complete process more traceable and efficient for all participants Security Testing - Thread Modeling
  • 27. Mobile Application Testing by Javed Ansari 27 Identifying vulnerabilities in the app by previously created test cases using the following methods. Security Testing - Vulnerability Analysis
  • 28. Mobile Application Testing by Javed Ansari 28 Leading enterprises in various industries depend on mobile applications to support their core business activities. Ex. Mobile banking Failure to provide optimal user experience in the wake of increased user volume may lead to service failures, unhappy customers and loss in company’s business and reputation Without performance testing, it may not be possible to anticipate real world scenario and the infrastructure required to support peak loads Performance Testing for Mobile Applications
  • 29. Mobile Application Testing by Javed Ansari 29 Performance Testing Types and Challenges Limited Bandwidth Network Latency Packet loss Power Consumption Performance Testing Load Testing Endurance Testing Volume Testing Scalability Testing Spike Testing Stress Testing
  • 30. Mobile Application Testing by Javed Ansari 30 Mobile Application Performance Testing Tools Report Analyzer Test Case Controller Scenario Generator JMeter Master Application Under Test JMeter Slave  It consists of a Master system (the JMeter GUI) which controls remote slave systems running JMeter-server instances which concurrently imposes load on a target server, network or object under test by emulating traffic to and from client software. Test both Browser based and Native Mobile applications using most advanced Network behavior and Service Virtualization.
  • 31. Mobile Application Testing by Javed Ansari 31 Popular Mobile Application Testing Tools Remote Based Paid Perfecto Mobile Device Anywhere Desktop Based Paid EggPlant SeeTest JamoSolutions Squish FoneMonkey Open Source Robotium Sikuli MonkeyTalk Robot Framework
  • 32. Mobile Application Testing by Javed Ansari 32 Remote Based Mobile Application Testing Tools Comparison Functionality/Tools Perfecto Mobile Keynote Device Anywhere Product Installation Method Web Based Downloadable Software App Clean UP Possible Not Possible Cloud(Global) Public Private Device Reservation Support Public Private Supported OS iOS, Android BlackBerry Windows Phone as well as Emulators support iOS Android BlackBerry Windows Phone as well as Emulators support Automation 1. Visual Objects (OCR) 2. Real (Native) objects 3. Web Objects/HTML5 (DOM) 4. Script Portability 5. Sharing test sessions live (Video/screenshots) 6. Integrations (HP) 7. Integrations (IBM) 1. Visual Objects (OCR) 2. Web Objects/HTML5 (DOM) 3. Sharing test sessions live (Video/screenshots) 4. Integrations (HP) 5. Integrations (IBM) ALM Integrations 1. Testing (Manual/Automation) 2. Performance testing 3. Monitoring 1. Testing (Manual/Automation) 2. Performance testing 3. Monitoring Mobile Monitoring & Performance 1. Real device support 2. Rich reporting suite 3. Integration with ALM Tools 4. Saas Delivery model 5. Performance and network testing 1. Real device support 2. Rich reporting suite 3. Integration with ALM Tools 4. Saas Delivery model 5. Performance and network testing 3 rd Party API connectivity Perfecto has open API support (Restful API support) No API Support
  • 33. Mobile Application Testing by Javed Ansari 33 Desktop Based Mobile Application Testing Tools Comparison Functionality/Tools Squish GUI Testing M-eux Test Egg Plant Robotium Sikuli MonkeyTalk Company FrogLogic Jamo Solutions Test Plant Google Code Projects GitHub Project Gorilla Logic Testing Areas Covered Cross Browser Testing GUI Testing Web testing Mobile Testing GUI Testing Mobile Testing GUI Testing, Image Based Testing Web Testing Performance Analysis Mobile Testing GUI Testing and Mobile Testing GUI Testing and Image Based Testing Mobile Testing Supported Languages Python JavaScript Ruby Perl Tcl Squish specific script APIs for a lot of convenience Visual Studio, Eclipse M-eux specific Script. Visual Design Eclipse Python language level 2.7 (supported by Jython) Ruby language level 1.9 and 2.0 (supported by JRuby) Java Programming MonkeyTalk Supported OS iOS Cocoa Touch Android Web/HTML5/AJAX/Fl ex Android, BalcBerry, iOS and Windows Android, BalcBerry, iOS and Windows Android Android and iOS Android and iOS License Paid Paid Paid Free Free Free
  • 34. Mobile Application Testing by Javed Ansari 34 Analyze and Choose what is best for you! Cost Benefit Analysis •Purpose of the Application •Nature of Business •Current and forecast comparisons Scope Based Decisions •Device Variant Support •Native Application or Web Based Application •OS Variant Support Features Based Decisions •Work on Emulator/Device •Integration to Test Management Tools •Areas to be Automated Regression Testing Scope and Complexity of the System •Identifying the Core Functionality •Identifying the frequently used functionality •Indentifying the Business impacting functionalities Infrastructure Decisions • Could Based/ Standalone • Network Infrastructure • Mobile Features to be used Timelines of the Project •Purpose of the Application •Special Period Business App •Enterprise App
  • 35. Mobile Application Testing by Javed Ansari 35 The significant challenges and risks involved in mobile application development may reduce the quality of the mobile applications. These risks and challenges can be mitigated by adopting the various testing type and techniques outlined in this presentation. The importance of testing for mobile applications can not be over sighted before making them ready for production. An application with defects can hurt the business and the company reputation. Conclusion
  • 36. Mobile Application Testing by Javed Ansari 36