SlideShare a Scribd company logo
iPhone & Android
Application Testing
Author: Syeda Fatima Waseem
What is Andriod???
•

Android is a Linux-based operating system designed 

primarily for  touch screen mobile devices
First Android-powered phone was sold in October 2008, and by 
the end of 2010 Android had become the world's leading smart 
phone platform
It had a worldwide smart phone market share of 59% at the 
beginning of 2012, and as of third quarter 2012, there were 500 
million devices activated and 1.3 million activations per day
What is iPhone???
•

iPhone is a line of smart phones designed and marketed 
by Apple

•

 The iPhone runs Apple's iOS mobile operating system, originally 
named  iPhone OS

•

Applications for the iPhone are written in Objective-C

•

Development of iPhone began in 2004 and first iPhone was released in 
2007
Difference between iOS & Android
•

Messaging:
Apple iOS:
Android: 

•

 SMS,MMS,eMail
 SMS,MMS,eMail and C2DM

Technology Access:
Apple iOS:
3G,3.5G,Wi-Fi,Bluetooth(HSDPA,HSUPA, UTMS)
Android: 2G,3G,3.5G and 4G(GSM,EDGE,CDMA,EV-DO,UMTS,Bluetooth,NFC,WiFi,LTE and WiMAX)

•

Compatible Devices:
Apple iOS:
Android:

•

 iPad,iPod Touch, iPhones
 Any Devices

Web Browser:
Apple iOS:Android:

Safari
Chrome’s V8 JavaScript engine
Difference between iOS & Android
•

Connectivity:
Apple iOS:
Android:

•

 Wi-Fi, Bluetooth
  Wi-Fi, Bluetooth and NFC

Some Android OS Features:
3D Google Map
Chrome to phone
3rd Party Branded OS
Adobe Flash Support
Automatic App Update

•

Some Apple iOS Features:
Airprint, AirPlay
Find my iPhone
Messages with text tone
Keyboard and Directory enhancement
Introduction
•

Mobile devices have witnessed a phenomenal growth in the past 
few  years  and  there  are  more  mobile  phones  in  the  world  than 
televisions and PCs combined

•

Market  of  mobile  applications  is  growing  every  day  and  even 
going  to  become  more  demanding  as  technologies  are  rapidly 
developing 

•

In  Mobile-Internet  era  people  use  smart  phones  to  connect  to 
internet  for  work,  networking,  gaming,  shopping  and  other 
everyday  activities,  testing  software  applications  across  mobile 
platforms becomes indispensible
Why to perform Testing???
•

Testing is expensive and time consuming but it is needed 
to  ensure  that  your  consumers  have  a  positive 

experience  when  they  use  your  mobile 
applications
•

Fail to do a good job of testing and your customer will 
leave forever
Goals of your Testing
•

Primary goal of your testing efforts is not to find errors

•

 Goal in testing should be to understand the quality of your 

offerings i.e.
Mobile Application Testing

Mobile application testing is a process by which application 

software developed for hand held mobile devices is tested 
for its functionality, usability and consistency
Application testing Ensures
Biggest Mobile testing Challange
•There are number of client devices that could be used on your mobile site, and all of
them must be considered when testing your mobile application

• Number of devices can be reduced to an extent, but each time you reduce the
number of device types that you test against, you are taking a chance that your
application might not work on a device, locking out a number of potential customers

• To handle the device challenge, you have two options: You can test using real
devices, or you can test using emulated devices
Critical Factors of Mobile Testing
The critical factors that determine the success of a mobile
testing program are:

•Use of emulators and actual devices
•Use of test automation
Choosing Testing Strategy
Real Device
Advantage:
•

Real devices have the advantage of having all of the limitations and
quirks present in the actual client hardware

•

Hardware Exceptions handling is possible e.g. low battery, power-offs,
insufficient memory, etc

Disadvantage:
•

Testing with real devices is incredibly expensive

•

Real handsets are not designed with testing in mind so limited
processing power and storage of the handsets does not allow on-board
diagnostic software to be loaded
Emulator
Advantage:
•

Emulated devices are easier to manage one can switch device types by simply
loading a new device profile

•

Emulators run on more powerful PCs/servers and designed with testing in mind

•

Emulated devices are cost effective

Disadvantage:
•

Emulated devices lack the quirks and faults that only the real device can
provide

•

Hardware Exceptions handling is not possible e.g. low battery, power-offs,
insufficient memory, etc.
Issues with Android Emulator
•

Android is fast simulator but smaller screen of the phone makes things
a little impossible to test the entire application

•

We cannot zoom in once we have the modal window, and in the original
zoomed out size we can hardly see anything for testing a specific
feature
Issues with iPhone Simulator
They are extremely slow and Problems occur while doing testing
on Mobile Applications
Difference between Simulator & Emulator
•

A simulator is a piece of software that duplicates as precisely as
possible the processor to "run" code to see if it is
correct

•

An emulator generally is a piece of hardware which duplicates the
features and functions of a real system; it is self-contained, and is able
to be hooked to some kind of development environment
Types of Mobile Application Testing
Types of Mobile Application Testing
Unit Testing
•

Primary goal of unit testing is to take the smallest piece of testable
software in the application, isolate it from the remainder of the code, and
determine whether it behaves exactly as you expect

•

Each unit is tested separately before integrating them into modules to
test the interfaces between modules
Integration Testing
•

Integration testing is the phase in software testing in which
individual software modules are combined and tested as a group

•

It occurs after unit testing
Functional Testing
•

Functional testing is a type of Black box testing in which mobile
applications are tested to ensure that it is working as per the
requirements

•

Functions are tested by feeding the input and examining the output
Performance Testing
•

Performance testing is performed to determine how a system performs in
terms of responsiveness and stability and it uncovers what needs to be
improved before the product goes to market

•

Check the performance and behavior of the application under certain conditions
such as low battery, bad network coverage, low available memory, simultaneous
access to application’s server by several users and other conditions

•

As application is installed on Mobile Phones of different memory, processor and
screen size so it should perform at its best despite of these variants

•

Evaluates the response time (speed) of Application to execute its required
functions in comparison with different Mobile devices

•

Testing is performed until the Application under test achieves the expected levels
of performance
Performance Testing
Performance Testing: Check List

•

System tests (booting the phone, or resuming from standby)

•

User interface tests (rotating the screen, displaying a menu)

•

Media (starting a video)

•

Phone (calling a contact)
Compatibility Testing
•

Compatibility testing is conducted on the application to
evaluate the application's compatibility with the environment
 Operating systems (MVS, UNIX, Windows, etc)
 Browser compatibility (Firefox, Netscape, Internet Explorer,
Safari, etc)

•

Mobile devices have different size, resolution, screen, version
and hardware so application should be tested across all devices
to ensure that the application works as desired
Compatibility Testing: Check List
Following are some basic scenarios which should be considered while testing mobile
application:
•

UI of the app is as per the screen size of the device, no text/control should be
cutting off

•

Text should be readable

•

Suspend/Resume (Call/SMS/Alarm) when app is running

•

If app has timer/sound then Suspend/Resume timer/sound

•

Behavior of app on Flip/Slider close

•

Behavior of app when memory of the device is almost full

•

Behavior of when network is not available

•

Behavior of app if app is running for longer period of time

•

Behavior of app when keys are pressed randomly
Load Testing
•

Load testing is done to check stability of the application when desired
concurrent number of users accesses the mobile application at a given time

•

Objective is to test whether the mobile application qualifies and sustains the
required number of users with maximum load for minimum to maximum period of
time

•

It helps to identify the maximum operating capacity of an application as well as
any bottlenecks and determine which element is causing degradation
Stress Testing
•

Stress testing is used to determine the stability of a given system when
load placed on the system is raised beyond normal operational capacity
often to be a breaking point, in order to observe the results

•

Process of feeding largest tasks it can operate with, and constantly
increasing the load on the system via automated tools to simulate real
time scenario with virtual users
Regression Testing
•

Regression testing seeks to uncover new software bugs in existing areas of a
system after changes have been made to them

•

Intent of regression testing is to ensure that a change, such as a bug fix, did not
introduce new faults

•

Determine whether a change in one part of the software affects other parts of the
software

•

Common methods of regression testing include rerunning previously run tests and
checking whether program behavior has changed and whether previously fixed
faults have re-emerged
Other Testing
Security Testing: Check List
• Brute Force:
A Brute Force attack is an automated process of trial and error used to guess a
person’s username, password or credit -card number

•Insufficient Authentication:
Insufficient Authentication occurs when an application permits an attacker to access
sensitive content or functionality without having to properly authentication
•

Weak Password Recovery Validation:
Weak Password Recovery Validation is when an application permits an attacker to

illegally obtain, change or recover another user’s password
• Insufficient Session Expiration:
Insufficient Session Expiration is when an application permits an attacker to reuse old
session credentials or session IDs for authorization
iPhone & Android ApplicationTesting: Check List
• Brute Force:
A Brute Force attack is an automated process of trial and error used to guess a
person’s username, password or credit -card number

•Insufficient Authentication:
Insufficient Authentication occurs when an application permits an attacker to access
sensitive content or functionality without having to properly authentication
•

Weak Password Recovery Validation:
Weak Password Recovery Validation is when an application permits an attacker to

illegally obtain, change or recover another user’s password
• Insufficient Session Expiration:
Insufficient Session Expiration is when an application permits an attacker to reuse old
session credentials or session IDs for authorization
iPhone & Android ApplicationTesting: Check List
•

Page scrolling

•

Navigation between screens

•

Data testing

•

Network Testing: (if the application is Network based)



•

Verify the behavior of application when there is Network problem and user is
performing operations for data call
User should get proper error message like “Network error. Please try after
sometime”

Application Side Effects:
•

Installed application should not cause other applications of device to hamper
iPhone & Android ApplicationTesting: Check List
•

Check Application start/stop behavior

•

Check if No disruption to voice calls: With the application installed and running
use a second phone to call the test device

•

Check if No disruption to text messages: With the application installed and
running, send a text message to the test device

•

Check for Multitasking: No disruption to key device applications

•

Check for social networking options such as sharing ,posting and links etc

•

Memory testing: check the memory by filling and emptying it ,then compare the
application results

•

Check if any payment gateway occurs like Paypal, American Express etc
Tips for Android Usability Testing
•

It is preferred to have a quick and easy app with less functionality than a slow and
difficult application with many features

•

An app that is easy-to-use and intuitive, and similar to industry-accepted interfaces
will tend to do well

Icons & Buttons
•

Buttons should have the right size and be suitable to big fingers.

•

Buttons in the same place of the screen to avoid confusion.

•

Natural and consistent icons.

•

Buttons that have the same function should have the same color
Tips for Android Usability Testing
Touch
•Tapping should zoom-in and zoom-out
•There must be a way to go back or undo an action, as touching the wrong item is done quickly
•Minimize keyboard input
Menu
•Contextual menus should not be overloaded because it has to be used quickly
Text
•Keep text simple and clear
•Short sentences and paragraphs are readable
•The font size should be big enough, not too big and not too small
Messages
•When the app starts downloading a lot of data, the user should be warned
•Test the closing of the app from different states and check if it re-opens in the same state
info@swaam.com
+92-42-35782346
www.Twitter.com/SwaamTech
www.FaceBook.com/SwaamTech

More Related Content

What's hot

Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
Sauce Labs
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
Manoj Kumar Kumar
 
Automation With Appium
Automation With AppiumAutomation With Appium
Automation With Appium
Knoldus Inc.
 
Basic Guide For Mobile Application Testing
Basic Guide For Mobile Application TestingBasic Guide For Mobile Application Testing
Basic Guide For Mobile Application Testing
Sourabh Kasliwal
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - Appium
Maria Machlowska
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
vodQA
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practices
Rakesh Jha
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
Softheme
 
Android reverse engineering: understanding third-party applications. OWASP EU...
Android reverse engineering: understanding third-party applications. OWASP EU...Android reverse engineering: understanding third-party applications. OWASP EU...
Android reverse engineering: understanding third-party applications. OWASP EU...
Internet Security Auditors
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
Shivaraj R
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
Santosh Maranabasari
 
Appium Presentation
Appium Presentation Appium Presentation
Appium Presentation
OmarUsman6
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorial
Lokesh Agrawal
 
Mobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue SolutionsMobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue Solutions
RapidValue
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
Ramakrishna Telapolu
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | Edureka
Edureka!
 
Appium overview
Appium overviewAppium overview
Appium overview
Abhishek Yadav
 
API Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj RollisonAPI Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj Rollison
TEST Huddle
 
API Testing for everyone.pptx
API Testing for everyone.pptxAPI Testing for everyone.pptx
API Testing for everyone.pptx
Pricilla Bilavendran
 
Appium ppt
Appium pptAppium ppt
Appium ppt
natashasweety7
 

What's hot (20)

Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Automation With Appium
Automation With AppiumAutomation With Appium
Automation With Appium
 
Basic Guide For Mobile Application Testing
Basic Guide For Mobile Application TestingBasic Guide For Mobile Application Testing
Basic Guide For Mobile Application Testing
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - Appium
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practices
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Android reverse engineering: understanding third-party applications. OWASP EU...
Android reverse engineering: understanding third-party applications. OWASP EU...Android reverse engineering: understanding third-party applications. OWASP EU...
Android reverse engineering: understanding third-party applications. OWASP EU...
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
 
Appium Presentation
Appium Presentation Appium Presentation
Appium Presentation
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorial
 
Mobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue SolutionsMobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue Solutions
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | Edureka
 
Appium overview
Appium overviewAppium overview
Appium overview
 
API Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj RollisonAPI Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj Rollison
 
API Testing for everyone.pptx
API Testing for everyone.pptxAPI Testing for everyone.pptx
API Testing for everyone.pptx
 
Appium ppt
Appium pptAppium ppt
Appium ppt
 

Similar to Android & iPhone App Testing

Mobile software testing guide
Mobile software testing guideMobile software testing guide
Mobile software testing guide
jananya213
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app testing
BugRaptors
 
Mobile Application testing
Mobile Application testingMobile Application testing
Mobile Application testing
Mukta Gupta
 
Mobile applications testing (challenges, tools & techniques)
Mobile applications testing (challenges, tools & techniques)Mobile applications testing (challenges, tools & techniques)
Mobile applications testing (challenges, tools & techniques)
Rakesh Jha
 
Softwere Testing Aplication Specific Techniques
Softwere Testing Aplication Specific TechniquesSoftwere Testing Aplication Specific Techniques
Softwere Testing Aplication Specific Techniques
maharajdey
 
HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2
Hien Vo
 
How to make your app successful with mobile app testing?
How to make your app successful with mobile app testing?How to make your app successful with mobile app testing?
How to make your app successful with mobile app testing?
MobilePundits
 
Mobile testing
Mobile testingMobile testing
Mobile testing
Qualitest
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app testing
sanpalan
 
Mobile testing
Mobile testingMobile testing
Mobile testing
sanpalan
 
The Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and MonitoringThe Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and Monitoring
MobilePundits
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
Sun Technlogies
 
Performance testing
Performance testingPerformance testing
Performance testing
Ranpreet kaur
 
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
Lab Mobile Filkom UB
 
Zen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application TestingZen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application Testing
Zen Test Labs
 
Mobile application-testing for shanethatech
Mobile application-testing for shanethatechMobile application-testing for shanethatech
Mobile application-testing for shanethatech
shanethatech
 
Mobile apps testing
Mobile apps testingMobile apps testing
Mobile apps testing
peterfrancis12
 
Think tank event mobile app testing v1.3
Think tank event   mobile app testing v1.3Think tank event   mobile app testing v1.3
Think tank event mobile app testing v1.3
Samer Desouky
 
Presentation on mobile app testing
Presentation on mobile app testingPresentation on mobile app testing
Presentation on mobile app testing
Uttam Shrestha
 
Types of Mobile App Testing
Types of Mobile App TestingTypes of Mobile App Testing
Types of Mobile App Testing
Rita Singh
 

Similar to Android & iPhone App Testing (20)

Mobile software testing guide
Mobile software testing guideMobile software testing guide
Mobile software testing guide
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app testing
 
Mobile Application testing
Mobile Application testingMobile Application testing
Mobile Application testing
 
Mobile applications testing (challenges, tools & techniques)
Mobile applications testing (challenges, tools & techniques)Mobile applications testing (challenges, tools & techniques)
Mobile applications testing (challenges, tools & techniques)
 
Softwere Testing Aplication Specific Techniques
Softwere Testing Aplication Specific TechniquesSoftwere Testing Aplication Specific Techniques
Softwere Testing Aplication Specific Techniques
 
HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2
 
How to make your app successful with mobile app testing?
How to make your app successful with mobile app testing?How to make your app successful with mobile app testing?
How to make your app successful with mobile app testing?
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app testing
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
The Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and MonitoringThe Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and Monitoring
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Performance testing
Performance testingPerformance testing
Performance testing
 
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
 
Zen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application TestingZen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application Testing
 
Mobile application-testing for shanethatech
Mobile application-testing for shanethatechMobile application-testing for shanethatech
Mobile application-testing for shanethatech
 
Mobile apps testing
Mobile apps testingMobile apps testing
Mobile apps testing
 
Think tank event mobile app testing v1.3
Think tank event   mobile app testing v1.3Think tank event   mobile app testing v1.3
Think tank event mobile app testing v1.3
 
Presentation on mobile app testing
Presentation on mobile app testingPresentation on mobile app testing
Presentation on mobile app testing
 
Types of Mobile App Testing
Types of Mobile App TestingTypes of Mobile App Testing
Types of Mobile App Testing
 

Recently uploaded

Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 

Recently uploaded (20)

Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 

Android & iPhone App Testing

  • 1. iPhone & Android Application Testing Author: Syeda Fatima Waseem
  • 4. Difference between iOS & Android • Messaging: Apple iOS: Android:  •  SMS,MMS,eMail  SMS,MMS,eMail and C2DM Technology Access: Apple iOS: 3G,3.5G,Wi-Fi,Bluetooth(HSDPA,HSUPA, UTMS) Android: 2G,3G,3.5G and 4G(GSM,EDGE,CDMA,EV-DO,UMTS,Bluetooth,NFC,WiFi,LTE and WiMAX) • Compatible Devices: Apple iOS: Android: •  iPad,iPod Touch, iPhones  Any Devices Web Browser: Apple iOS:Android: Safari Chrome’s V8 JavaScript engine
  • 5. Difference between iOS & Android • Connectivity: Apple iOS: Android: •  Wi-Fi, Bluetooth   Wi-Fi, Bluetooth and NFC Some Android OS Features: 3D Google Map Chrome to phone 3rd Party Branded OS Adobe Flash Support Automatic App Update • Some Apple iOS Features: Airprint, AirPlay Find my iPhone Messages with text tone Keyboard and Directory enhancement
  • 6. Introduction • Mobile devices have witnessed a phenomenal growth in the past  few  years  and  there  are  more  mobile  phones  in  the  world  than  televisions and PCs combined • Market  of  mobile  applications  is  growing  every  day  and  even  going  to  become  more  demanding  as  technologies  are  rapidly  developing  • In  Mobile-Internet  era  people  use  smart  phones  to  connect  to  internet  for  work,  networking,  gaming,  shopping  and  other  everyday  activities,  testing  software  applications  across  mobile  platforms becomes indispensible
  • 7. Why to perform Testing??? • Testing is expensive and time consuming but it is needed  to  ensure  that  your  consumers  have  a  positive  experience  when  they  use  your  mobile  applications • Fail to do a good job of testing and your customer will  leave forever
  • 8. Goals of your Testing • Primary goal of your testing efforts is not to find errors •  Goal in testing should be to understand the quality of your  offerings i.e.
  • 11. Biggest Mobile testing Challange •There are number of client devices that could be used on your mobile site, and all of them must be considered when testing your mobile application • Number of devices can be reduced to an extent, but each time you reduce the number of device types that you test against, you are taking a chance that your application might not work on a device, locking out a number of potential customers • To handle the device challenge, you have two options: You can test using real devices, or you can test using emulated devices
  • 12. Critical Factors of Mobile Testing The critical factors that determine the success of a mobile testing program are: •Use of emulators and actual devices •Use of test automation
  • 14. Real Device Advantage: • Real devices have the advantage of having all of the limitations and quirks present in the actual client hardware • Hardware Exceptions handling is possible e.g. low battery, power-offs, insufficient memory, etc Disadvantage: • Testing with real devices is incredibly expensive • Real handsets are not designed with testing in mind so limited processing power and storage of the handsets does not allow on-board diagnostic software to be loaded
  • 15. Emulator Advantage: • Emulated devices are easier to manage one can switch device types by simply loading a new device profile • Emulators run on more powerful PCs/servers and designed with testing in mind • Emulated devices are cost effective Disadvantage: • Emulated devices lack the quirks and faults that only the real device can provide • Hardware Exceptions handling is not possible e.g. low battery, power-offs, insufficient memory, etc.
  • 16. Issues with Android Emulator • Android is fast simulator but smaller screen of the phone makes things a little impossible to test the entire application • We cannot zoom in once we have the modal window, and in the original zoomed out size we can hardly see anything for testing a specific feature
  • 17. Issues with iPhone Simulator They are extremely slow and Problems occur while doing testing on Mobile Applications
  • 18. Difference between Simulator & Emulator • A simulator is a piece of software that duplicates as precisely as possible the processor to "run" code to see if it is correct • An emulator generally is a piece of hardware which duplicates the features and functions of a real system; it is self-contained, and is able to be hooked to some kind of development environment
  • 19. Types of Mobile Application Testing
  • 20. Types of Mobile Application Testing
  • 21. Unit Testing • Primary goal of unit testing is to take the smallest piece of testable software in the application, isolate it from the remainder of the code, and determine whether it behaves exactly as you expect • Each unit is tested separately before integrating them into modules to test the interfaces between modules
  • 22. Integration Testing • Integration testing is the phase in software testing in which individual software modules are combined and tested as a group • It occurs after unit testing
  • 23. Functional Testing • Functional testing is a type of Black box testing in which mobile applications are tested to ensure that it is working as per the requirements • Functions are tested by feeding the input and examining the output
  • 24. Performance Testing • Performance testing is performed to determine how a system performs in terms of responsiveness and stability and it uncovers what needs to be improved before the product goes to market • Check the performance and behavior of the application under certain conditions such as low battery, bad network coverage, low available memory, simultaneous access to application’s server by several users and other conditions • As application is installed on Mobile Phones of different memory, processor and screen size so it should perform at its best despite of these variants • Evaluates the response time (speed) of Application to execute its required functions in comparison with different Mobile devices • Testing is performed until the Application under test achieves the expected levels of performance
  • 26. Performance Testing: Check List • System tests (booting the phone, or resuming from standby) • User interface tests (rotating the screen, displaying a menu) • Media (starting a video) • Phone (calling a contact)
  • 27. Compatibility Testing • Compatibility testing is conducted on the application to evaluate the application's compatibility with the environment  Operating systems (MVS, UNIX, Windows, etc)  Browser compatibility (Firefox, Netscape, Internet Explorer, Safari, etc) • Mobile devices have different size, resolution, screen, version and hardware so application should be tested across all devices to ensure that the application works as desired
  • 28. Compatibility Testing: Check List Following are some basic scenarios which should be considered while testing mobile application: • UI of the app is as per the screen size of the device, no text/control should be cutting off • Text should be readable • Suspend/Resume (Call/SMS/Alarm) when app is running • If app has timer/sound then Suspend/Resume timer/sound • Behavior of app on Flip/Slider close • Behavior of app when memory of the device is almost full • Behavior of when network is not available • Behavior of app if app is running for longer period of time • Behavior of app when keys are pressed randomly
  • 29. Load Testing • Load testing is done to check stability of the application when desired concurrent number of users accesses the mobile application at a given time • Objective is to test whether the mobile application qualifies and sustains the required number of users with maximum load for minimum to maximum period of time • It helps to identify the maximum operating capacity of an application as well as any bottlenecks and determine which element is causing degradation
  • 30. Stress Testing • Stress testing is used to determine the stability of a given system when load placed on the system is raised beyond normal operational capacity often to be a breaking point, in order to observe the results • Process of feeding largest tasks it can operate with, and constantly increasing the load on the system via automated tools to simulate real time scenario with virtual users
  • 31. Regression Testing • Regression testing seeks to uncover new software bugs in existing areas of a system after changes have been made to them • Intent of regression testing is to ensure that a change, such as a bug fix, did not introduce new faults • Determine whether a change in one part of the software affects other parts of the software • Common methods of regression testing include rerunning previously run tests and checking whether program behavior has changed and whether previously fixed faults have re-emerged
  • 33. Security Testing: Check List • Brute Force: A Brute Force attack is an automated process of trial and error used to guess a person’s username, password or credit -card number •Insufficient Authentication: Insufficient Authentication occurs when an application permits an attacker to access sensitive content or functionality without having to properly authentication • Weak Password Recovery Validation: Weak Password Recovery Validation is when an application permits an attacker to illegally obtain, change or recover another user’s password • Insufficient Session Expiration: Insufficient Session Expiration is when an application permits an attacker to reuse old session credentials or session IDs for authorization
  • 34. iPhone & Android ApplicationTesting: Check List • Brute Force: A Brute Force attack is an automated process of trial and error used to guess a person’s username, password or credit -card number •Insufficient Authentication: Insufficient Authentication occurs when an application permits an attacker to access sensitive content or functionality without having to properly authentication • Weak Password Recovery Validation: Weak Password Recovery Validation is when an application permits an attacker to illegally obtain, change or recover another user’s password • Insufficient Session Expiration: Insufficient Session Expiration is when an application permits an attacker to reuse old session credentials or session IDs for authorization
  • 35. iPhone & Android ApplicationTesting: Check List • Page scrolling • Navigation between screens • Data testing • Network Testing: (if the application is Network based)   • Verify the behavior of application when there is Network problem and user is performing operations for data call User should get proper error message like “Network error. Please try after sometime” Application Side Effects: • Installed application should not cause other applications of device to hamper
  • 36. iPhone & Android ApplicationTesting: Check List • Check Application start/stop behavior • Check if No disruption to voice calls: With the application installed and running use a second phone to call the test device • Check if No disruption to text messages: With the application installed and running, send a text message to the test device • Check for Multitasking: No disruption to key device applications • Check for social networking options such as sharing ,posting and links etc • Memory testing: check the memory by filling and emptying it ,then compare the application results • Check if any payment gateway occurs like Paypal, American Express etc
  • 37. Tips for Android Usability Testing • It is preferred to have a quick and easy app with less functionality than a slow and difficult application with many features • An app that is easy-to-use and intuitive, and similar to industry-accepted interfaces will tend to do well Icons & Buttons • Buttons should have the right size and be suitable to big fingers. • Buttons in the same place of the screen to avoid confusion. • Natural and consistent icons. • Buttons that have the same function should have the same color
  • 38. Tips for Android Usability Testing Touch •Tapping should zoom-in and zoom-out •There must be a way to go back or undo an action, as touching the wrong item is done quickly •Minimize keyboard input Menu •Contextual menus should not be overloaded because it has to be used quickly Text •Keep text simple and clear •Short sentences and paragraphs are readable •The font size should be big enough, not too big and not too small Messages •When the app starts downloading a lot of data, the user should be warned •Test the closing of the app from different states and check if it re-opens in the same state