This handout is made possible by the support of the American people through the United States Agency for International Development
(USAID). The contents are the sole responsibility of Mercy Corps and do not necessarily reflect the views of USAID or the United States
Think Tank Event: Mobile App Testing
Samer Desouky, TestPRO
• Why Mobile Testing is Important
• Key Challenges
• App Types
• Test Environment
• Testing Challenges
• The Degree of meeting or exceeding the expectation.
• The process concerned with evaluation of software products to:
• Determine if the product satisfy specified requirements.
• Fit for purpose.
• Detect defects.
• Testing Measure Quality.
“ There are a million ways to do something wrong but only one way to do it right.”
Quality & Testing
• Software Failures Cost up to
$60 Billion to US economy
• 16.2% completed on time and
• 31.1% of projects are
cancelled before they ever
• 52.7% of projects will cost
189% of their original
Quality & Testing
• A project is said to have failed when :
• Unable to complete in the allotted budget and resources.
• Delivers later than it was decided.
• Unable to meet the requirements.
• Failed projects could be of the following 4 Kinds:
• Failure caused by bad management
• Failure caused by poor team effort
• Failure caused by poor end product
• Failure caused by errors that could have been caught
Quality & Testing
•Voice calling and text messaging
•Limited or no web access
•Limited ability to run 3rd app
•Advanced computing capability and
•Combined mobile phone with PDA
• Smartphones are rapidly becoming the primary method of
interaction for consumers and businesses worldwide.
• International Data Corporation (IDC) predicts that 182.7 billion
mobile apps will be downloaded by 2015.
• That’s a 1600%
the 10.7 billion
• Loss of Time & Money
• Damage to business reputation
• Injury or death
• Mobile testing services should drive 20% - 40% reduction in costs
while improving speed to market, productivity and quality.
Quality of Testing
What if apps fail?
Time to Market
Defect Resolution Time
Overall Testing Costs
• Cost of Quality divided into 2 categories:
• Cost of Achieving Quality :
• Cost of prevention
• Cost of detection
• Cost of Poor Quality:
• Cost of internal failure
• Cost of external failure
Cost of Quality
• A portion of the testing budget is a cost of detection and internal failure
which is typically well below the cost of external failure which is 10 –
• Location-intelligent mobile commerceRetail
• Magazines & newspapers going 100%
• Mobile bookings, check-ins, maps, dealsTravel
• Tablets and apps in classroomsEducation
• Patient records, physician notes, etc.Lifestyle
• Games and social media platformsSocial
• CTQs are the internal critical quality parameters that relate to the
wants and needs of the customer.
• CTCs are what is important to the customer.
• What’s CTQ to ensure the things that are CTC.
Performance According to a recent study, 60% of mobile users will abandon your
app or site if it doesn’t load within three seconds. Three seconds!
OS & device Having an app available on some devices and not others is a death
sentence in the mobile world.
Security Personal data to remain personal – user expect their apps to be
100% free of viruses, malware and other threats.
Does your app run the same on 3G, 4G and Wi-Fi coverage.
Data usage Users are wising up to the fact that some apps drain battery faster
Is your application easy to install and launch?
User Expectation - CTCs
• Native app
• An app build purely using the components build
using the underlying platform
• Runs on device OS and firmware
• Calendar , Calculator , Camera
• Web app
• Browser app, web capable mobile devices
• It’s a web site which run on Mobile phones
• HTML, java script
• Hybrid app
• Combination of Native and Web apps
• Has cross platform compatibility
• LinkedIN , Facebook
Types of mobile applications
• Testing different
screen sizes and
form factors is
• Testing on real
devices is a must.
Types of mobile applications
• Testing on real devices is not feasible and very expensive.
• Mobile emulators and simulators can help developers test their
apps on different devices without having to actually have them on
• These technologies serve as virtual pieces of hardware that
operate on a PC or laptop.
• Running a program to
predict actual behavior
a program designed for a
• Real Devices
• What target platforms and devices dose the app target?
• What are the popular devices in market?
• In-house team makes communication easier
• Professional testers who are tightly integrated into SDLC
• Capacity constraints
• Testing may not match user demographics
• Maintaining adequate collection of mobile devices is
• Outsourced Testing
• Professional testers on demand
• Access to range of devices
• More test types
• Hidden costs
• Not easily scalable
• Challenges in communication and time zone
• Still lab-based testing
• Beta Testing
• No direct costs
• Lives outside the test lab environment
• Range of mobile devices, carriers, OS, locations
• Users are not professional testers
• Provide subjective feedback which cost for the company
• Puts unfinished product in front of customers
• Crowd-sourced Testing
• Lives outside the test lab across real devices, carriers, OS
• Professional testers who mirror end users
• Access to range of mobile devices & connections
• Direct cost
• Requires communication efforts between testers &
•Performing as specified in the specification
•Follow the design guideline for a particular OS
•SMS, call, shutdown, network outage
•Device file system , encryption
Performance and Load
•Start-up Time, Response , Network, Memory
• User Experience
• Performance and Load
• Social media integration
• Network connectivity
• Push notifications
• Local Settings
• Installation permissions
• Third-party services
• Failure handling
Different interface, size of elements, usability of UI components
• Authorization via social networks
• Post messages: images, links
Social networks integration
• Switching between mobile network and Wi-Fi
• Size of requests/responses
• Upload/download - Pause, Cancel
• Loss of connection
Network connection types
• Open corresponding object
• Errors handling (e.g. object corresponding to received
notification don’t exist any more, empty notification,
Interaction with media content (photo, video,
sound) and external hardware:
• Usage of photos from library/camera
• Usage of microphone
• Audio/video playback
• Date/Time format
Usage of locale settings
The No.1 rule is to follow the design guidelines specified
for the particular OS platform.
• Good navigation
• Font sizes and Button sizes
• Portrait and landscape orientation considerations
• Start-up time
• Response time
• Memory consumption
• Battery consumption
Performance & Load