SlideShare a Scribd company logo

Mobility testing day_1_ppt

The document discusses mobile app testing. It provides an agenda for a mobile app testing training day that covers topics like mobile evolution, different mobile platforms, types of mobile devices, mobile app types, architectures, development platforms, and testing techniques. It discusses challenges of mobile app testing like the diversity of devices, networks, and using emulators versus actual devices for testing.

1 of 171
Download to read offline
Mobile App Testing
Day 1
Agenda
 Mobile Evolution
 Introduction to Mobile World
 What is Mobile App Testing?
 Introduction to Mobile Testing OS & platforms
 Overview of Mobile Devices & List
 Types of Mobile Devices (Smartphones vs Phablets vs mini Tablets vs Tablets)
 Business Models in Mobile Space
 Mobile App Life Cycle
 Different Types of Mobile Apps (Standalone, Consumer, Enterprise)
 Insights into Mobile App architecture
o Native Apps
o Hybrid Apps
o Web Apps
 Development Platform for Mobile Applications
 Differences in Mobile & Conventional Application Testing
 Insights into Mobile App Testing & Challenges
 Scope of Mobile Application Testing (Testing Checklist)
 Testing Techniques in the Mobile Space
 Testing Methodologies in the Mobile Space
 Workshop – Reusable Test Cases in the Mobile Space
 Types of Logs – Console & Crash logs
 What is UDID, Importance of Provisioning Profile, How to find UDID
 Emulators & Simulators
Mobile Evolution
• An average consumer spends 127 minutes a day on the mobile phone
• There are 4.5 times as many mobile devices in use as there are PCs
• 49% of mobile users in the US now have smart phones and this number is going
up at a very rapid rate
What is Mobile App Testing?
 Mobile application testing is a process by which app developed for hand held
mobile devices is tested for its functionality, usability and consistency and
compatibility across related devices.
Why is Mobile Testing Important?
• Mobile Technology is transforming the way
people use their cell phones. Although demand
is highest for consumer apps, enterprise
applications are evolving too, allowing
businesses to work more productively. Right
from Publishers, Retailers, Automobile Dealers,
Financial Service Providers, Pharmaceuticals &
Healthcare Providers, the mobile application
usage trend has now extended to schools and
Universities providing faster interaction
between staff and students.
Today, Mobile apps have become an integral
part of enterprises and businesses can no
longer afford to ignore them. Recent surveys
and studies all point to the same conclusion,
‘This is the year of the mobile business app’
and finally accept that mobile is not only here to
stay, but also offers compelling benefits i.e.,
they let you operate anytime and anywhere,
bringing productivity beyond the confines of the
office, salespeople have access to real-time
product data, customers have another way to
interact with your business, or even make
purchases.
Why is Mobile app testing different
• App Stores reduces the user
feedback loop thus continuous
improvements/bug fixes/patches
• User feedback is received early
and frequent
• Usability is quality and king,
depends on # of downloads/un-
installs
• User can get updates rapidly and
expect seamless updates &
integration
• Mobile devices are changing
quickly and constantly getting new
capabilities and features

Recommended

Best cross platform app development frameworks for 2021
Best cross platform app development frameworks for 2021Best cross platform app development frameworks for 2021
Best cross platform app development frameworks for 2021Omega_UAE
 
Native script vs react native for native app development in 2022
Native script vs react native for native app development in 2022Native script vs react native for native app development in 2022
Native script vs react native for native app development in 2022Katy Slemon
 
Find the right mobile app architecture for your business [detailed guide]
Find the right mobile app architecture for your business [detailed guide]Find the right mobile app architecture for your business [detailed guide]
Find the right mobile app architecture for your business [detailed guide]Katy Slemon
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App DevelopmentChris Morrell
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile DevelopmentPragnesh Vaghela
 
White paper native, web or hybrid mobile app development
White paper  native, web or hybrid mobile app developmentWhite paper  native, web or hybrid mobile app development
White paper native, web or hybrid mobile app developmentIBM Software India
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Developmentshikishiji
 

More Related Content

What's hot

Why does .net maui deserve your attention if you’re planning to use xamarin
Why does .net maui deserve your attention if you’re planning to use xamarin  Why does .net maui deserve your attention if you’re planning to use xamarin
Why does .net maui deserve your attention if you’re planning to use xamarin Moon Technolabs Pvt. Ltd.
 
The Best Alternatives To The Ionic Framework.pdf
The Best Alternatives To The Ionic Framework.pdfThe Best Alternatives To The Ionic Framework.pdf
The Best Alternatives To The Ionic Framework.pdfMoon Technolabs Pvt. Ltd.
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Ahsanul Karim
 
Kony one studio technical training
Kony one studio technical trainingKony one studio technical training
Kony one studio technical trainingNiranjan Kumar Reddy
 
Live Streaming Application Development
Live Streaming Application DevelopmentLive Streaming Application Development
Live Streaming Application DevelopmentMarie Weaver
 
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...Bala Subra
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phonesDennise Layague
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Sanjeev Kumar
 
Building Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicBuilding Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicYounes Adounis
 
Introduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentIntroduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentDotitude
 
Introduction To Mobile Application Development
Introduction To Mobile Application DevelopmentIntroduction To Mobile Application Development
Introduction To Mobile Application DevelopmentSyed Absar
 
ios vs android development – key differences
ios vs android development – key differencesios vs android development – key differences
ios vs android development – key differencesMarkovate
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPTDhivya T
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application developmentKunjan Thakkar
 
Ionic vs flutter best platform for hybrid app development
Ionic vs flutter  best platform for hybrid app developmentIonic vs flutter  best platform for hybrid app development
Ionic vs flutter best platform for hybrid app developmentMarkovate
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App DevelopmentAnnmarie Lanesey
 
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARIMOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARISivaSankari36
 

What's hot (20)

Why does .net maui deserve your attention if you’re planning to use xamarin
Why does .net maui deserve your attention if you’re planning to use xamarin  Why does .net maui deserve your attention if you’re planning to use xamarin
Why does .net maui deserve your attention if you’re planning to use xamarin
 
The Best Alternatives To The Ionic Framework.pdf
The Best Alternatives To The Ionic Framework.pdfThe Best Alternatives To The Ionic Framework.pdf
The Best Alternatives To The Ionic Framework.pdf
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)
 
Kony one studio technical training
Kony one studio technical trainingKony one studio technical training
Kony one studio technical training
 
On Mobile- Product Strategy
On Mobile- Product StrategyOn Mobile- Product Strategy
On Mobile- Product Strategy
 
Live Streaming Application Development
Live Streaming Application DevelopmentLive Streaming Application Development
Live Streaming Application Development
 
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phones
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First
 
Building Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicBuilding Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and Ionic
 
Introduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentIntroduction to Hybrid Application Development
Introduction to Hybrid Application Development
 
Introduction To Mobile Application Development
Introduction To Mobile Application DevelopmentIntroduction To Mobile Application Development
Introduction To Mobile Application Development
 
Hybrid Mobile App
Hybrid Mobile AppHybrid Mobile App
Hybrid Mobile App
 
ios vs android development – key differences
ios vs android development – key differencesios vs android development – key differences
ios vs android development – key differences
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPT
 
Top 8 Alternatives Of Xamarin.pdf
Top 8 Alternatives Of Xamarin.pdfTop 8 Alternatives Of Xamarin.pdf
Top 8 Alternatives Of Xamarin.pdf
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
 
Ionic vs flutter best platform for hybrid app development
Ionic vs flutter  best platform for hybrid app developmentIonic vs flutter  best platform for hybrid app development
Ionic vs flutter best platform for hybrid app development
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARIMOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
 

Similar to Mobility testing day_1_ppt

UNIT_1_1626771386169.ppt
UNIT_1_1626771386169.pptUNIT_1_1626771386169.ppt
UNIT_1_1626771386169.pptHannaAnvar1
 
MOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college studentsMOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college studentsAprilJasminePacis
 
Mobile application development Confronts and Chances
Mobile application development   Confronts and ChancesMobile application development   Confronts and Chances
Mobile application development Confronts and ChancesEffOne_Technologies
 
Mobile Web vs. Native apps
Mobile Web vs. Native appsMobile Web vs. Native apps
Mobile Web vs. Native appsSoDA Speaks
 
The mobile ecosystem
The mobile ecosystemThe mobile ecosystem
The mobile ecosystemMelis Rimer
 
Overview of Enterprise Mobility
Overview of Enterprise MobilityOverview of Enterprise Mobility
Overview of Enterprise MobilityYuvaraj Ilangovan
 
Architecting mobile solutions for the enterprise
Architecting mobile solutions for the enterpriseArchitecting mobile solutions for the enterprise
Architecting mobile solutions for the enterpriseSoftweb Solutions
 
The Mobile Ecosystem - Webrazzi'11
The Mobile Ecosystem -  Webrazzi'11The Mobile Ecosystem -  Webrazzi'11
The Mobile Ecosystem - Webrazzi'11Monitise MEA
 
Android Oreo - An Introduction
Android Oreo - An Introduction Android Oreo - An Introduction
Android Oreo - An Introduction Somo
 
Going Mobile First: a future-friendly approach to digital product design
Going Mobile First: a future-friendly approach to digital product designGoing Mobile First: a future-friendly approach to digital product design
Going Mobile First: a future-friendly approach to digital product designEzekiel Binion
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app testingsanpalan
 
Mobile testing
Mobile testingMobile testing
Mobile testingsanpalan
 
Mobile Developer's Guide To The Galaxy 12th Edition
Mobile Developer's Guide To The Galaxy 12th EditionMobile Developer's Guide To The Galaxy 12th Edition
Mobile Developer's Guide To The Galaxy 12th EditionMarco Tabor
 
Smartphones
SmartphonesSmartphones
Smartphonesbrendahj
 
AMA Reno Tahoe Mobile Prsentatino Final
AMA Reno Tahoe Mobile Prsentatino FinalAMA Reno Tahoe Mobile Prsentatino Final
AMA Reno Tahoe Mobile Prsentatino FinalMichael Thomas
 
Enough_Software_Guide_16thEdition_Web
Enough_Software_Guide_16thEdition_WebEnough_Software_Guide_16thEdition_Web
Enough_Software_Guide_16thEdition_WebMarco Tabor
 

Similar to Mobility testing day_1_ppt (20)

UNIT_1_1626771386169.ppt
UNIT_1_1626771386169.pptUNIT_1_1626771386169.ppt
UNIT_1_1626771386169.ppt
 
MOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college studentsMOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college students
 
Mobile application development Confronts and Chances
Mobile application development   Confronts and ChancesMobile application development   Confronts and Chances
Mobile application development Confronts and Chances
 
Advancement in mobile apps
Advancement in mobile appsAdvancement in mobile apps
Advancement in mobile apps
 
Mobile Web vs. Native apps
Mobile Web vs. Native appsMobile Web vs. Native apps
Mobile Web vs. Native apps
 
Project of mobile apps
Project of mobile appsProject of mobile apps
Project of mobile apps
 
Mobile Ecosystem
Mobile EcosystemMobile Ecosystem
Mobile Ecosystem
 
The mobile ecosystem
The mobile ecosystemThe mobile ecosystem
The mobile ecosystem
 
Overview of Enterprise Mobility
Overview of Enterprise MobilityOverview of Enterprise Mobility
Overview of Enterprise Mobility
 
Fundamentals of Mobile App Development Technology
Fundamentals of Mobile App Development TechnologyFundamentals of Mobile App Development Technology
Fundamentals of Mobile App Development Technology
 
Architecting mobile solutions for the enterprise
Architecting mobile solutions for the enterpriseArchitecting mobile solutions for the enterprise
Architecting mobile solutions for the enterprise
 
The Mobile Ecosystem - Webrazzi'11
The Mobile Ecosystem -  Webrazzi'11The Mobile Ecosystem -  Webrazzi'11
The Mobile Ecosystem - Webrazzi'11
 
Android Oreo - An Introduction
Android Oreo - An Introduction Android Oreo - An Introduction
Android Oreo - An Introduction
 
Going Mobile First: a future-friendly approach to digital product design
Going Mobile First: a future-friendly approach to digital product designGoing Mobile First: a future-friendly approach to digital product design
Going Mobile First: a future-friendly approach to digital product design
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app testing
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
Mobile Developer's Guide To The Galaxy 12th Edition
Mobile Developer's Guide To The Galaxy 12th EditionMobile Developer's Guide To The Galaxy 12th Edition
Mobile Developer's Guide To The Galaxy 12th Edition
 
Smartphones
SmartphonesSmartphones
Smartphones
 
AMA Reno Tahoe Mobile Prsentatino Final
AMA Reno Tahoe Mobile Prsentatino FinalAMA Reno Tahoe Mobile Prsentatino Final
AMA Reno Tahoe Mobile Prsentatino Final
 
Enough_Software_Guide_16thEdition_Web
Enough_Software_Guide_16thEdition_WebEnough_Software_Guide_16thEdition_Web
Enough_Software_Guide_16thEdition_Web
 

Recently uploaded

Passbolt Introduction and Usage for secret managment
Passbolt Introduction and Usage for secret managmentPassbolt Introduction and Usage for secret managment
Passbolt Introduction and Usage for secret managmentThierry Gayet
 
Role of DevOps in SaaS product Development.pdf.pptx
Role of DevOps in SaaS product Development.pdf.pptxRole of DevOps in SaaS product Development.pdf.pptx
Role of DevOps in SaaS product Development.pdf.pptxMindInventory
 
No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!Anthony Dahanne
 
Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!alttaskcom
 
What are the Reasons for Tracking the Attendance of the Employees?
What are the Reasons for Tracking the Attendance of the Employees?What are the Reasons for Tracking the Attendance of the Employees?
What are the Reasons for Tracking the Attendance of the Employees?NYGGS Automation Suite
 
Agile & Scrum, Certified Scrum Master! Crash Course
Agile & Scrum,  Certified Scrum Master! Crash CourseAgile & Scrum,  Certified Scrum Master! Crash Course
Agile & Scrum, Certified Scrum Master! Crash CourseRohan Chandane
 
How AI is preventing account fraud at web scale
How AI is preventing account fraud at web scaleHow AI is preventing account fraud at web scale
How AI is preventing account fraud at web scaleAmir Moghimi
 
Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)Jeffrey Haguewood
 
Globus for System Administrators
Globus for System AdministratorsGlobus for System Administrators
Globus for System AdministratorsGlobus
 
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...Alluxio, Inc.
 
LLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flowLLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flowNaoki (Neo) SATO
 
CSS Notes in PDF, Easy to understand. For beginner to advanced. ...
CSS Notes in PDF, Easy to understand. For beginner to advanced.              ...CSS Notes in PDF, Easy to understand. For beginner to advanced.              ...
CSS Notes in PDF, Easy to understand. For beginner to advanced. ...syedfaisal759877
 
Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227Fermin Galan
 
Machine Learning Basics for Dummies (no math!)
Machine Learning Basics for Dummies (no math!)Machine Learning Basics for Dummies (no math!)
Machine Learning Basics for Dummies (no math!)Dmitry Zinoviev
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flinkconfluent
 
Design pattern talk by Kaya Weers - 2024
Design pattern talk by Kaya Weers - 2024Design pattern talk by Kaya Weers - 2024
Design pattern talk by Kaya Weers - 2024Kaya Weers
 
Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019VICTOR MAESTRE RAMIREZ
 
The Top Outages of 2023: Analyses and Takeaways
The Top Outages of 2023: Analyses and TakeawaysThe Top Outages of 2023: Analyses and Takeaways
The Top Outages of 2023: Analyses and TakeawaysThousandEyes
 
killingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfkillingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfssuser82c38d
 
killing camp 주차장 나누기-2 topology sort.pdf
killing camp 주차장 나누기-2 topology sort.pdfkilling camp 주차장 나누기-2 topology sort.pdf
killing camp 주차장 나누기-2 topology sort.pdfssuser82c38d
 

Recently uploaded (20)

Passbolt Introduction and Usage for secret managment
Passbolt Introduction and Usage for secret managmentPassbolt Introduction and Usage for secret managment
Passbolt Introduction and Usage for secret managment
 
Role of DevOps in SaaS product Development.pdf.pptx
Role of DevOps in SaaS product Development.pdf.pptxRole of DevOps in SaaS product Development.pdf.pptx
Role of DevOps in SaaS product Development.pdf.pptx
 
No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!
 
Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!
 
What are the Reasons for Tracking the Attendance of the Employees?
What are the Reasons for Tracking the Attendance of the Employees?What are the Reasons for Tracking the Attendance of the Employees?
What are the Reasons for Tracking the Attendance of the Employees?
 
Agile & Scrum, Certified Scrum Master! Crash Course
Agile & Scrum,  Certified Scrum Master! Crash CourseAgile & Scrum,  Certified Scrum Master! Crash Course
Agile & Scrum, Certified Scrum Master! Crash Course
 
How AI is preventing account fraud at web scale
How AI is preventing account fraud at web scaleHow AI is preventing account fraud at web scale
How AI is preventing account fraud at web scale
 
Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)
 
Globus for System Administrators
Globus for System AdministratorsGlobus for System Administrators
Globus for System Administrators
 
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
 
LLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flowLLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flow
 
CSS Notes in PDF, Easy to understand. For beginner to advanced. ...
CSS Notes in PDF, Easy to understand. For beginner to advanced.              ...CSS Notes in PDF, Easy to understand. For beginner to advanced.              ...
CSS Notes in PDF, Easy to understand. For beginner to advanced. ...
 
Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227
 
Machine Learning Basics for Dummies (no math!)
Machine Learning Basics for Dummies (no math!)Machine Learning Basics for Dummies (no math!)
Machine Learning Basics for Dummies (no math!)
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flink
 
Design pattern talk by Kaya Weers - 2024
Design pattern talk by Kaya Weers - 2024Design pattern talk by Kaya Weers - 2024
Design pattern talk by Kaya Weers - 2024
 
Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019
 
The Top Outages of 2023: Analyses and Takeaways
The Top Outages of 2023: Analyses and TakeawaysThe Top Outages of 2023: Analyses and Takeaways
The Top Outages of 2023: Analyses and Takeaways
 
killingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfkillingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdf
 
killing camp 주차장 나누기-2 topology sort.pdf
killing camp 주차장 나누기-2 topology sort.pdfkilling camp 주차장 나누기-2 topology sort.pdf
killing camp 주차장 나누기-2 topology sort.pdf
 

Mobility testing day_1_ppt

  • 2. Agenda  Mobile Evolution  Introduction to Mobile World  What is Mobile App Testing?  Introduction to Mobile Testing OS & platforms  Overview of Mobile Devices & List  Types of Mobile Devices (Smartphones vs Phablets vs mini Tablets vs Tablets)  Business Models in Mobile Space  Mobile App Life Cycle  Different Types of Mobile Apps (Standalone, Consumer, Enterprise)  Insights into Mobile App architecture o Native Apps o Hybrid Apps o Web Apps  Development Platform for Mobile Applications  Differences in Mobile & Conventional Application Testing  Insights into Mobile App Testing & Challenges  Scope of Mobile Application Testing (Testing Checklist)  Testing Techniques in the Mobile Space  Testing Methodologies in the Mobile Space  Workshop – Reusable Test Cases in the Mobile Space  Types of Logs – Console & Crash logs  What is UDID, Importance of Provisioning Profile, How to find UDID  Emulators & Simulators
  • 3. Mobile Evolution • An average consumer spends 127 minutes a day on the mobile phone • There are 4.5 times as many mobile devices in use as there are PCs • 49% of mobile users in the US now have smart phones and this number is going up at a very rapid rate
  • 4. What is Mobile App Testing?  Mobile application testing is a process by which app developed for hand held mobile devices is tested for its functionality, usability and consistency and compatibility across related devices.
  • 5. Why is Mobile Testing Important? • Mobile Technology is transforming the way people use their cell phones. Although demand is highest for consumer apps, enterprise applications are evolving too, allowing businesses to work more productively. Right from Publishers, Retailers, Automobile Dealers, Financial Service Providers, Pharmaceuticals & Healthcare Providers, the mobile application usage trend has now extended to schools and Universities providing faster interaction between staff and students. Today, Mobile apps have become an integral part of enterprises and businesses can no longer afford to ignore them. Recent surveys and studies all point to the same conclusion, ‘This is the year of the mobile business app’ and finally accept that mobile is not only here to stay, but also offers compelling benefits i.e., they let you operate anytime and anywhere, bringing productivity beyond the confines of the office, salespeople have access to real-time product data, customers have another way to interact with your business, or even make purchases.
  • 6. Why is Mobile app testing different • App Stores reduces the user feedback loop thus continuous improvements/bug fixes/patches • User feedback is received early and frequent • Usability is quality and king, depends on # of downloads/un- installs • User can get updates rapidly and expect seamless updates & integration • Mobile devices are changing quickly and constantly getting new capabilities and features
  • 10. Android Intro Android 1.5 - Cupcake: April 27, 2009 • Improvement of the camera (start and acquisition) • Increase in GPS position speed detection • Virtual Keyboard • Automatic loading of videos on YouTube, and Picasa
  • 11. Android Intro Android 1.6 - Donut: September 15, 2009 • The box for quick search and voice search • Indicator for battery usage • Grouping of the camera and gallery apps and shooting mode addition • Text-to-speech languages
  • 12. Android Intro Android 2.0 - Eclair: October 26, 2009 • Multiple accounts for email and contact synchronization. • Bluetooth 2.1 support • New user interface for the browser and HTML5 support. • New functions for the calendar app
  • 13. Android Intro Android 2.2 - Froyo: May 20, 2010 • Support for creating hotspots (sharing a connection via WIFI) • Adobe Flash 10.1 • Multilingual Keyboard • "Widget guide" addition that helps you learn the features Android
  • 14. Android Intro Android 2.3 - Gingerbread: December 6, 2010 • Interface revised for easier and faster user experience • New keyboard for faster text input • Selecting text features, copy/paste • Integrated Internet calls
  • 15. Android Intro Android 3.0 - Honeycomb: February 22, 2011 • Tablet version, interface optimized for larger screens • Improved multitasking, notification management, customization and widgets on the home screen • Added tethering via Bluetooth • Built-in support for easy transfer of media files to your PC
  • 16. Android Intro Android 3.0 - Honeycomb: February 22, 2011 • Tablet UI/version, interface optimized for larger screens • Improved multitasking • Notification management, customization and widgets on the home screen • Redesigned keyboard • Private browsing, Dual pane modes for address book • Added tethering via Bluetooth • Built-in support for easy transfer of media files to your PC
  • 17. Android Intro Android 4.0 - Ice Cream Sandwich: October 18, 2011 • New font (Roboto) • Possibility of triggering a picture with a smile • Adding functionality such as managing folders, bookmarks and capture screenshots • Swipe addition to hide notifications, close web pages and more • Support for Wi-Fi Direct, Bluetooth HDP and Android Beam • virtual buttons • Face Unlock • Widget management, improved voice integration and copy and paste • New Calendar app with pinch-to-zoom option • Revamped Gmail user interface • New contacts and social networking features • Saving web pages offline • New camera capabilities, screenshot option
  • 18. Android Intro Android 4.1 - Jelly Bean: July 9, 2012 • Faster, smoother, more responsive to inputs • Resizable widgets • Google Now, voice dictation offline • Improved Android Beam • Updates to the app improved and faster
  • 19. Android Intro Android 4.4 - KitKat: October 31, 2013 • Support for Bluetooth MAP • New framework for transitions in the user interface • Support for wireless printing • Optimization of memory and touch screen for faster multitasking
  • 20. Android Intro Android 5.0 Lollipop: November 12, 2014 • Device sharing: multiple users and profiles on smartphones • Material Design • Battery Saver • Efficient OS & upgrades • Android Smart Lock • ART instead of Dalvik runtime
  • 21. Android Intro Android M: M&M's, Maltesers, Mentos, Mars Bar?? • Granular app permissions • Google Now on Tap • Fingerprint API • Android Pay • Doze and USB Type-C • Dark theme • RAM Manager • Home screen rotation
  • 24. iOS Versions – Mind map
  • 28. Mobile Devices Market Share In a “State of Mobile” study of 1,040 software developers, testers, and consumers conducted by SmartBear and published in early 2015, we discovered, among other things, that: • Nearly 30% of those building any kind of apps were building mobile apps • 54% of respondents who were building mobile apps had entered the space within the past two years • 84% of those who were not currently building mobile apps planned to enter the space in the near future • 30% of companies were planning to develop 5-20+ new apps in 2014 • 40% of consumers download 5-20+ apps in a single month
  • 31. Overview of Mobile Devices & List
  • 32. Why is Mobile Testing Important?
  • 33. Basic Difference Between Mobile & Desktop Application Testing Few obvious aspects that sets mobile app testing apart from the desktop testing • On desktop, the application is tested on a central processing unit • On a mobile device, the application is tested on handsets like Samsung, Nokia, Apple and HTC • Mobile device screen size is smaller than desktop • Mobile devices have less memory than desktop • Mobiles use network connections like 2G, 3G, 4G or WIFI where desktop use broadband or dial up connections • The automation tool used for desktop application testing might not work on mobile applications
  • 34. Mobile Touch Screen Amplifies Test Scenarios
  • 35. Life Cycle of An App
  • 36. Life Cycle of An App
  • 38. Smartphones vs Phablets vs Tablets  Smartphone A smartphone (or smart phone) is a mobile phone with an advanced mobile operating system. They combine the features of a cell phone with those of other popular mobile devices. Most smartphones have a touch screen user interface, can run third-party apps and are camera phones.  Phablet A smartphone having a screen which is intermediate in size between that of a typical smartphone and a tablet computer.  Mini Tablet Mini tablets are smaller and lighter than standard slates, with a typical screen size between 7–8 inches (18–20 cm). The first successful ones were introduced by Samsung (7-inch Galaxy Tab), Barnes & Noble (Nook Tablet), and Amazon.com (Kindle Fire) in 2011, and by Google (the Nexus 7) in 2012  Tablet A tablet computer is a mobile computer with a touchscreen display, circuitry and battery in a single device. Tablets come equipped with sensors, including cameras, a microphone and an accelerometer, and the touchscreen display uses finger or stylus gestures substituting for the use of computer mouse and keyboard.
  • 39. Business Models in Mobile Space 1. Selling Your Application This is the most obvious and the one that is most widely leveraged today: Build an app that everyone will want and sell millions of licenses and reap the rewards. 2. Freemium Freemium isn’t one single model for mobile, it really encompasses a number of opportunities to generate revenue. The goal of freemium is to get your app in as many hands as possible and once you do, try to generate revenue from one of the following ways: i. Sell an enhanced version of your app This is THE most widely used model. You are essentially giving away a limited version of the product in hopes that you can attract enough people to download it and then convert a percentage of those into paying customers. ii. Sell in-app advertising The second most popular approach to freemium is selling advertising in your app. Using services like AddMob or Apple’s iAd is simple to implement but requires a successful product with hundreds of thousands or millions of downloads to make a decent amount of revenue. iii. Up-selling content packs Once you’ve got your application installed on millions of devices you can now start offering content packs (additional levels for example), additional functionality or even have people pay to remove the in-app advertisements.
  • 40. Business Models in Mobile Space 3. Build an application as a service You could take this in many different directions but for a great example of how this model can succeed, check out Ubercab. This iPhone/SMS service allows you to quickly book and pay for a car service with one button. This is great example of the future of productive mobile business models – filling a need that is best-suited for our mobile lives. 4. Build an App as a subscription One word: Wired. When Wired launched their iPad app version of the magazine it surpassed sales of its print version in the first month it went live – that’s disruptive. Other similar examples would be Sirius/XM satellite radio for mobiles, the New York Times Crossword puzzle game and PumpOne’s FitnessBuilder application. 5. Mobilize an existing technology Most companies are looking for mobile versions of enterprise software they have already implemented internally — things like CRM applications, HR application or business operations applications. For some, mobile is the natural extension for these services and there is opportunity to fill a very specific niche here. Take a look at Aeroprise, a company that built a business mobilizing BMC software. Instant market if the demand is there 6. Build an app that extends a web business The most amazing thing to emerge since the dot com bust has been the open API. Any company currently offering a legitimate web service has adopted the open API in hopes that their service will find developers who will create the next layer of service on top of theirs. Enter mobile. This is area is ripe for entrepreneurs to bring a service (or a bunch of services) into the mobile world as a new level of value.
  • 41. Business Models in Mobile Space 7. Sell affiliate products through your app This one requires a VERY popular application in order to generate substantial revenue from the referral fees but it could compliment another stream from one of the other business models mentioned here. Eg. Blancspot 8. If all else fails, build an app for someone else The old service model is still alive and kicking and one of the fastest growth segments in the mobile world is actually helping companies who don’t have the expertise to build mobile applications for them. Service for hire. One caveat here is that the price and complexity of building applications for a living is being impacted by the better development tools coming into the market that are democratization or commoditizing this business. There you go. Limiting your business model scope to just making money from selling your application is quickly becoming an outdated approach. How are you building your business in mobile?
  • 42. Different Types of Mobile Apps Consumer Apps Enterprise Apps The apps are built with an intention to be used by general public The apps are built with an intention to be used by organizations/enterprises The sales are self-service The sales are direct You have many customers (general public) You have few customers (enterprise users) Focus is on, scaling the number of user(s) base Focus is on, scaling the number of business application(s) needs The app is delivered via an app store The app is delivered as a packaged app, through enterprise license Recurring revenue (as the app is purchased by multiple users) 1 time revenue (as the app is purchased once by the Enterprise) Built for personal, general, entertainment, informative, gaming, educational etc., usage Built for enterprise business & usage The app(s) built are simple & engaging i.e., simplicity is king in Consumer Apps The app(s) built are complex i.e., functionality is king in Enterprise Apps Login & Logout process are optional Login & Logout process are mandatory Security is relatively simpler (One to One interactions) Security is complex (One to Many interactions) Database & Storage mechanism is simple and sometimes optional Database & Storage mechanism is complex, as the enterprise data plays a crucial role Search field is an optional requirement Search field is application/record centric, when implemented
  • 43. Mobile Apps & Architecture
  • 44. Mobile Apps Type - Making the correct choice Businesses trying to build mobile apps are running into the below mentioned strategic confusion(s) which will influence the results of the mobility initiative taken. As the user base for mobile app(s) is diverse, below are few questions which need to be considered and answered before deciding on a Mobile app development strategy 1. Who are my targeted audience? 2. Should the app be targeted across all available Mobile OS platforms? 3. Should I simply start with a mobile website? 4. Should we develop a native app (one for each, multiple mobile OS platforms) or a Hybrid app or a Mobile Web app? 5. Should the app require access to device functionalities such as GPS, Camera, Contacts, Calendar etc? 6. Should the app be UX/UI consistent across multiple mobile OS platforms? 7. Should this app require regular updates, to retain the user base? 8. Should the app generate revenue? 9. Is it worth spending Time, Money and IT resources to make an app with 4 different source codes for 4 different Mobile OS? 10. Will the decision taken make any impact on the Design, Development, Distribution and future prospects of the app?
  • 48. Insights into Native, Web & Hybrid Apps
  • 49. Challenges in Mobile App Testing Device(s) Diversity The major challenge is the multiplicity of mobile devices with different capabilities, features and restrictions. Devices may have different technical capabilities such as amount of available memory, screen resolution, screen orientation and size of the display, network connectivity options, and support for different standards and interfaces. This cannot be ignored because the fewer number of devices we test and certify, we are taking a chance of our mobile app locking out on other potential devices/customers.
  • 50. Challenges in Mobile App Testing Network related Challenges There are over 400 Mobile network operators in the world. It’s not possible to detail the Network challenges without zeroing in on the location. It’s a simple fact that we must be connected to the target network, to test an app on a particular telecom network. Of course, travelling to every network operator as required is not possible as it becomes very expensive and obvious cost tradeoffs needs to be considered as well.
  • 51. Challenges in Mobile App Testing Use of Emulators and Actual Devices With the proliferation of smart phones and multiple OEM’s/OS versions, usage of emulators is ever increasing. Emulators can be beneficial for testing features of an app; however actual devices should be used for validating the test results because of the computing, processor or memory factors.
  • 52. Challenges in Mobile App Testing
  • 53. Mobile App Testing Challenges – Mind map
  • 58. Mobile App Testing Checklist
  • 59. Mobile App Testing Checklist
  • 60. Mobile App Testing Checklist
  • 61. Mobile App Testing Checklist
  • 62. Mobile App Testing Checklist
  • 63. Mobile App Testing Checklist
  • 64. Mobile App Testing Checklist
  • 65. Mobile App Logs What is a Log File? A log file is simply a file that records events that happen while the apps run on your mobile device. Types of Log Files There are 2 main types of log files: crash logs and console logs.  Crash logs contain a record of what an app was doing just before it crashed.  The system console log contains information outputted by applications, error messages, warnings, debug info, and other notices. In some cases you many need to attach one or both of these log types to a bug report.  Both Console and Crash logs will require a desktop computer (PC or Mac) to access.
  • 66. Accessing iOS Crash Logs OS Navigation Path Mac OS X ~/Library/Logs/CrashReporter/Mobile Device/<DEVICE_NAME> Windows XP C:DocumentsandSettings<USERNAME>ApplicationDataApple computerLogsCrashReporter/<DEVICE_NAME> Windows 7 C:UsersAppDataRoamingApple computerLogsCrashReporterMobileDevice< DEVICE_NAME> Windows Vista C:UsersAppDataRoamingApple computerLogsCrashReporterMobileDevice< DEVICE_NAME> • The log file name start with the application name and have the extension ‘crash’ • <USERNAME> is the user’s login name for the computer • <DEVICE_NAME> is the name of the iOS device, for example, “John’s iPhone”
  • 67. Accessing iOS Crash Logs Crash Logs : Purpose :- To capture only crash and major error logs on particular iDevice (iPhone/iPad) 1. Launch X-code on MAC system
  • 68. Accessing iOS Crash Logs 1. Connect iDevice to the MAC system 2. Expand Window menu of xcode dialog 3. Click on ‘Devices’
  • 69. Accessing iOS Crash Logs 1. Ensure the connected iDevice gets detected and be shown in X-code Window 2. Click on detected iDevice folder 3. Click on ‘View Device Logs’ button at right side of the xcode window 4. Perform any scenario which reproduces crash on the iDevice 5. Observe the crash logs captured in “All Logs” dialog with ‘Process’, ‘Type’, ‘Date & Time’ 6. When a crash type is selected, the concerned crash logs would be displayed on the right side
  • 70. Accessing iOS Crash Logs 1. Ensure the connected iDevice gets detected and be shown in X-code Window 2. Click on detected iDevice folder
  • 71. Accessing iOS Crash Logs 1. Click on ‘View Device Logs’ button at right side of the xcode window
  • 72. Accessing iOS Crash Logs 1. Perform any scenario which reproduces crash on the iDevice 2. Observe the crash logs captured in “All Logs” dialog with ‘Process’, ‘Type’, ‘Date & Time’
  • 73. Accessing iOS Crash Logs 1. When a crash type is selected, the concerned crash logs would be displayed on the right side
  • 75. Accessing iOS Console Logs Console Logs : Purpose :- To capture each & every event/action log on particular iDevice (iPhone/iPad) 1. Launch X-code on MAC system
  • 76. Accessing iOS Console Logs 1. Connect iDevice to the MAC system 2. Expand Window menu of xcode dialog 3. Click on ‘Devices’
  • 77. Accessing iOS Console Logs 1. Ensure the connected iDevice gets detected and be shown in X-code Window 2. Click on detected iDevice folder
  • 78. Accessing iOS Console Logs 1. Spread the console logs area upwards which is located below ‘View Device Logs’ button section
  • 79. Accessing iOS Console Logs 8. Spread Console Logs section using Up-arrow icon
  • 80. Accessing iOS Console Logs 9. To minimize Console Logs section, need to click on Down-arrow icon which is located down
  • 81. Accessing iOS System/Crash Logs using iTools
  • 82. Accessing iOS System/Crash Logs using iTunes
  • 83. Accessing Android Crash Logs Few 3rd party apps are available on the Google Play Store, through which we can locate and diagnose the app crashes and the related logs upon download and installation. A few of those apps are listed here: i. Log Collector i. Crash Log (LogCat) i. Crash Log Pro (LogCat) i. LogCat Recorder i. Log Viewer i. Get Log Data
  • 84. Accessing Android Crash Logs How to Collect Logs via Command Line (ADB) on Android Devices 1. Install the Android Debug Bridge (ADB) tool on your PC 2. Connect your android device to the PC 3. Navigate to the path where ADB is installed 4. Run the following commands: “adb logcat -c" (This clears the logs.) 5. Reproduce the bug/crash 6. Then, run the following command to capture the logs in a new file (for ease of capture): “adb logcat -d > Name_of_Log_File.txt" $ adb logcat will print all the logs on the PC console
  • 85. Accessing Android Crash Logs How to Collect Logs via Eclipse 1. Install the latest App in the device 2. Launch Eclipse in the PC/Laptop (Eclipse should contain Android SDK installed) 3. Now, connect the device to the PC/laptop using USB Cable 4. Go to Phone Settings  More Tab  Developer Options  USB Debugging has to be checked 5. As soon as user connects the device to PC/laptop “Allow USB debugging?” popup would be displayed on the Android device connected 6. Tap on OK button on the Android device connected 7. Select Devices Tab in the Eclipse toolbar 8. Observe that the connected device is displayed in devices Tab
  • 86. Accessing Android Crash Logs 9. Installed Apps will be displayed under the Connected Device 10. Copy or note down the application name Ex: com.synchronoss.pcloud.android.syncdrive 11. Go to LogCat Tab
  • 87. Accessing Android Crash Logs 12. Select “Add a new log cat filter ( + ) icon” from saved filters pane 13. Log cat Message Filter Settings popup is displayed 14. Add the app name (com.synchronoss.pcloud.android.syncdrive) under “by Application Name” edit box and save it with valid name related to project 15. A new filter will be displayed with name saved by the user 16. Select the saved filter and launch the app in the connected Android Device 17. Perform the necessary actions on the app and observe the logs populated under logcat 18. Now, select the logs displayed (CTRL + A) and save the logs
  • 89. Android Memory Leaks Steps 1. Open the ddms 2. Select the required process name in the left panel 3. Click on Show heap Updates button 4. In the right panel select VM heap 5. Click on dump HPROF file 6. Save in desktop 7. Open the command prompt 6. Set the path to sdk tools folder 7. write the command [Syntax - hprof-conv <infile> <outfile>] hprof-conv.exe "saved file path" "C:file.hprof" 8. Download Eclipse MAT plugin 9. Open the saved HPROF file using MAT 10. There are various views available , using that you can detect the class which is using more memory
  • 91. Android DDMS - Viewing heap usage for a process 1. DDMS allows you to view how much heap memory a process is using. This information is useful in tracking heap usage at a certain point of time during the execution of your application. 2. To view heap usage for a process: 3. In the Devices tab, select the process that you want to see the heap information for. 4. Click the Update Heap button to enable heap information for the process. 5. In the Heap tab, click Cause GC to invoke garbage collection, which enables the collection of heap data. When the operation completes, you will see a group of object types and the memory that has been allocated for each type. You can click Cause GC again to refresh the data. 6. Click on an object type in the list to see a bar graph that shows the number of objects allocated for a particular memory size in bytes.
  • 92. Android DDMS - Viewing heap usage for a process
  • 93. Android DDMS - Viewing heap usage for a process
  • 94. Android DDMS - Viewing heap usage for a process
  • 95. Android DDMS - Tracking memory allocation of objects DDMS provides a feature to track objects that are being allocated to memory and to see which classes and threads are allocating the objects. This allows you to track, in real time, where objects are being allocated when you perform certain actions in your application. This information is valuable for assessing memory usage that can affect application performance. To track memory allocation of objects: 1. In the Devices tab, select the process that you want to enable allocation tracking for. 2. In the Allocation Tracker tab, click the Start Tracking button to begin allocation tracking. At this point, anything you do in your application will be tracked. 3. Click Get Allocations to see a list of objects that have been allocated since you clicked on the Start Tracking button. You can click on Get Allocations again to append to the list new objects that have been allocated. 4. To stop tracking or to clear the data and start over, click the Stop Tracking button. 5. Click on a specific row in the list to see more detailed information such as the method and line number of the code that allocated the object.
  • 96. Android DDMS - Tracking memory allocation of objects
  • 97. Android DDMS - Tracking memory allocation of objects
  • 98. Android DDMS - Working with an emulator or device's file system DDMS provides a File Explorer tab that allows you to view, copy, and delete files on the device. This feature is useful in examining files that are created by your application or if you want to transfer files to and from the device. To work with an emulator or device's file system: 1. In the Devices tab, select the emulator that you want to view the file system for. 2. To copy a file from the device, locate the file in the File Explorer and click the Pull file button. 3. To copy a file to the device, click the Push file button on the File Explorer tab.
  • 99. Android DDMS - Working with an emulator or device's file system
  • 100. Android DDMS - Working with an emulator or device's file system
  • 101. Android DDMS - Examining thread information The Threads tab in DDMS shows you the currently running threads for a selected process. 1. In the Devices tab, select the process that you want to examine the threads for. 2. Click the Update Threads button. 3. In the Threads tab, you can view the thread information for the selected process.
  • 102. Android DDMS - Examining thread information
  • 103. Android DDMS - Examining thread information
  • 104. Android DDMS - Examining thread information
  • 105. Android DDMS - Starting method profiling Method profiling is a means to track certain metrics about a method, such as number of calls, execution time, and time spent executing the method. To start method profiling: 1. On the Devices tab, select the process that you want to enable method profiling for. 2. Click the Start Method Profiling button. 3. In Android 4.4 and later, choose either trace-based profiling or sample-based profiling with a specified sampling interval. For earlier versions of Android, only trace-based profiling is available. 4. Interact with your application to start the methods that you want to profile. 5. Click the Stop Method Profiling button. DDMS stops profiling your application and opens Traceview with the method profiling information that was collected between the time you clicked on Start Method Profiling and Stop Method Profiling.
  • 106. Android DDMS - Starting method profiling
  • 107. Android DDMS - Starting method profiling
  • 108. Android DDMS - Using the Network Traffic tool In Android 4.0, the DDMS (Dalvik Debug Monitor Server) includes a Detailed Network Usage tab that makes it possible to track when your application is making network requests. Using this tool, you can monitor how and when your app transfers data and optimize the underlying code appropriately. You can also distinguish between different traffic types by applying a “tag” to network sockets before use. These tags are shown in a stack area chart in DDMS, as shown in figure 2:
  • 109. Android DDMS - Using the Network Traffic tool By monitoring the frequency of your data transfers, and the amount of data transferred during each connection, you can identify areas of your application that can be made more battery-efficient. Generally, you should look for short spikes that can be delayed, or that should cause a later transfer to be pre-empted.
  • 110. Android DDMS - Using LogCat LogCat is integrated into DDMS, and outputs the messages that you print out using the Log class along with other system messages such as stack traces when exceptions are thrown. View the Reading and Writing Log Messages. topic for more information on how to log messages to the LogCat. When you have set up your logging, you can use the LogCat feature of DDMS to filter certain messages with the following buttons: • Verbose • Debug • Info • Warn • Error You can also setup your own custom filter to specify more details such as filtering messages with the log tags or with the process id that generated the log message. The add filter, edit filter, and delete filter buttons let you manage your custom filters.
  • 111. Android DDMS - Emulating phone operations and location The Emulator control tab lets you simulate a phone's voice and data network status. This is useful when you want to test your application's robustness in differing network environments. Changing network state, speed, and latency The Telephony Status section of the Emulator controls tab lets you change different aspects of the phone's networks status, speed and latency. The following options are available to you and are effective immediately after you set them: • Voice - unregistered, home, roaming, searching, denied • Data - unregistered, home, roaming, searching, denied • Speed - Full, GSM, HSCSD, GPRS, EDGE, UMTS, HSDPA • Latency - GPRS, EDGE, UMTS
  • 112. Android DDMS - Emulating phone operations and location
  • 113. Android DDMS - Emulating phone operations and location Spoofing calls or SMS text messages The Telephony Actions section of the Emulator controls tab lets you spoof calls and messages. This is useful when you want to to test your application's robustness in responding to incoming calls and messages that are sent to the phone. The following actions are available to you: • Voice - Enter a number in the Incoming number field and click Call to send a simulated call to the emulator or phone. Click the Hang up button to terminate the call. • SMS - Enter a number in the Incoming number field and a message in the Message: field and click the Send button to send the message.
  • 114. Android DDMS - Emulating phone operations and location Setting the location of the phone If your application depends on the location of the phone, you can have DDMS send your device or AVD a mock location. This is useful if you want to test different aspects of your application's location specific features without physically moving. The following geolocation data types are available to you: • Manual - set the location by manually specifying decimal or sexagesimal longitude and latitude values. • GPX - GPS eXchange file • KML - Keyhole Markup Language file Note: Sample GPX files can be found at http://www.openstreetmap.org/#map=5/51.500/-0.100 GPX = GPX (the GPS Exchange Format) is a light-weight XML data format for the interchange of GPS data (waypoints, routes, and tracks) between applications and Web services on the Internet. More Info: http://blogs.innovationm.com/location-testing-in-mobile-apps/
  • 115. Android DDMS - Emulating phone operations and location
  • 116. Android DDMS - Emulating phone operations and location
  • 117. Android DDMS - GPX File Format &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;gpx version="1.1" creator="Created by Google My Tracks on Android." xmlns="http://www.topografix.com/GPX/1/1" xmlns:topografix="http://www.topografix.com/GPX/Private/TopoGrafix/0/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.topografix.com/GPX/Private/TopoGrafix/0/1 http://www.topografix.com/GPX/Private/TopoGrafix/0/1/topografix.xsd"&gt; &lt;metadata&gt; &lt;name&gt;&lt;![CDATA[Truck Route]]&gt;&lt;/name&gt; &lt;desc&gt;&lt;![CDATA[]]&gt;&lt;/desc&gt; &lt;/metadata&gt; &lt;trk&gt; &lt;name&gt;&lt;![CDATA[Truck Route]]&gt;&lt;/name&gt; &lt;desc&gt;&lt;![CDATA[]]&gt;&lt;/desc&gt; &lt;type&gt;&lt;![CDATA[]]&gt;&lt;/type&gt; &lt;extensions&gt;&lt;topografix:color&gt;c0c0c0&lt;/topografix:color&gt;&lt;/extensions&gt; &lt;trkseg&gt; &lt;trkpt lat="28.581475" lon="77.314435"&gt; &lt;ele&gt;137.5&lt;/ele&gt; &lt;time&gt;2013-04-03T14:37:10.000Z&lt;/time&gt; &lt;/trkpt&gt; &lt;trkpt lat="28.581517" lon="77.314399"&gt; &lt;ele&gt;137.5&lt;/ele&gt; &lt;time&gt;2013-04-03T14:37:11.000Z&lt;/time&gt; &lt;/trkpt&gt; &lt;/trkseg&gt; &lt;/trk&gt; &lt;/gpx&gt;
  • 118. Android DDMS – KML File Format KML is a file format used to display geographic data in an Earth browser such as Google Earth, Google Maps, and Google Maps for mobile. KML uses a tag-based structure with nested elements and attributes and is based on the XML standard &lt;?xml version="1.0" encoding="ASCII"?&gt; &lt;kml xmlns="http://earth.google.com/kml/2.2"&gt; &lt;Document&gt; &lt;name&gt;GE2ADT&lt;/name&gt; &lt;Placemark&gt;&lt;name&gt;21&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;- 74.61453,40.47307,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt; &lt;Placemark&gt;&lt;name&gt;22&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;- 74.614564,40.472985,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt; &lt;Placemark&gt;&lt;name&gt;23&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;- 74.614661,40.472743,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt; &lt;Placemark&gt;&lt;name&gt;24&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;- 74.614784,40.472387,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt; &lt;Placemark&gt;&lt;name&gt;25&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;- 74.615058,40.471677,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt; &lt;Placemark&gt;&lt;name&gt;26&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;- 74.615168,40.471369,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt; &lt;Placemark&gt;&lt;name&gt;27&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;- 74.615289,40.471028,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt; &lt;/Document&gt; &lt;/kml&gt; More Info: http://blogs.innovationm.com/location-testing-in-mobile-apps/
  • 119. Accessing BB & WM Mobile Crash Logs i. Press ‘Alt’ + ‘lglg’ key sequence on device home screen to see the event logs i. ‘javaloader.exe’ can also be used to view the event logs. This is a command line tool available in Eclipse plugins folder where the Blackberry JDE is unpacked i. In landscape mode, put on number lock and press " / " / to get to the event log i. AppHub tool helps the WM Developer to know the crashes associated with an app in a graphical representation i. The crash logs can also be obtained from Windows Market when an app crash happens at the user end, if the app is already in Market
  • 120. Accessing Windows Mobile Crash Logs 1. To verify the crash log in Windows Phone application we have “Windows Phone Power Tools” 2. Using the Power Tools, we can verify the crash logs and performance of the application 3. This tool is available for Windows Phone 8.0 & 8.1 4. Download Power Tools from http://wptools.codeplex.com/ 5. Once the tool is installed, connect device to the PC and select device as Source and click on Connect
  • 122. Accessing Windows Mobile Crash Logs • Once the device is successfully connected then you can browse total information of the device using above tool • We can monitor application performance and crash logs etc…
  • 123. Android Tools for Performance 1. System Panel - This is paid app, which be dowloded from Market. This tool helps to find applications that are spacking out more CPU. It also warns against killing tasks. This tool enable monitoring, and look at historical data. It hardly use any battery. 2. DDMS - Android ships with a debugging tool called the Dalvik Debug Monitor Server, which provides port-forwarding services, screen capture on the device, thread and heap information on the device, logcat, process, and radio state information, incoming call and SMS spoofing, location data spoofing, and more. DDMS is integrated into Eclipse and is also shipped in the tools/ directory of the SDK. DDMS works with both the emulator and a connected device. If both are connected and running simultaneously, DDMS defaults to the emulator. From Eclipse: Click Window > Open Perspective > Other... > DDMS. From the command line: Type ddms (or ./ddms on Mac/Linux) from the tools/ directory. 3. TraceView Tool - TraceView Tool is used to test Performance of particular app. A graphical viewer for execution logs saved by your application and helps to find out how the device would communicate to the infrastructure when traffic is at its peak.
  • 124. iOS Tools for Performance atMonitor - atMonitor is monitoring tool for Mac OS X, ios and ipad that displays system activity in real-time. In addition to the standard CPU, GPU, VRAM, FPS, Disk and Network info, atMonitor allows interaction with processes, setting up triggers, logging, purging RAM and much more.
  • 125. UDID Each iPhone or iPod Touch or iPad has a Unique Device Identifier (UDID), which is a sequence of 40 letters and numbers that is specific to your device. It’s like a serial number but much harder to guess. It will look something like this: 2b6f0cc904d137be2e1730235f5664094b831186.
  • 126. UDID Why do we need the UDID? Your iPhone can only install programs that are approved by Apple. Applications in the App Store have been approved by Apple for general distribution, but beta customers get to try the app before it’s in the store. We register your UDID with Apple so they can approve our application especially for your iPhone. The most likely situation you'll need your iPhone's UDID for is if an app developer has offered to let you try out some unreleased software.
  • 127. UDID is there any limit for # of UDID per apple developer registration? YES 100 per developer account | 99$ —developer account | 1 year validity max 500 for enterprise edition | $299 enterprise account | 1 year validity
  • 128. UDID How do I get my UDID? To get your UDID, you have to plug your phone into a computer and copy it out of iTunes OR install UDID+ app OR UDID app on your iPhone/iPad
  • 130. iOS - Provisioning File • A provisioning profile is a collection of digital entities that uniquely ties developers and devices to an authorized iPhone Development Team and enables a device to be used for testing. • A Development Provisioning Profile must be installed on each device on which you wish to run your application code. Each Development Provisioning Profile will contain a set of iPhone Development Certificates, Unique Device Identifiers and an App ID. • Devices specified within the provisioning profile can be used for testing only by those individuals whose iPhone Development Certificates are included in the profile. • A single device can contain multiple provisioning profiles. • Provisioning files are auto-added onto the app when installed through MAC PC or Test Flight or Hockey App.
  • 133. iOS - Provisioning File Removal
  • 134. What is Emulator In the mobile development world, a device emulator is a desktop application that emulates mobile device hardware and operating systems, allowing us to test and debug our applications and see how they are working. The Android SDK includes a mobile device emulator — a Lvirtual mobile device that runs on your computer. The emulator lets you develop and test Android applications without using a physical device. The Android emulator mimics all of the hardware and software features of a typical mobile device, except that it cannot place actual phone calls. It provides a variety of navigation and control keys, which you can "press" using your mouse or keyboard to generate events for your application. It also provides a screen in which your application is displayed, together with any other active Android applications.
  • 135. What is Emulator/Simulator A note about terminology: • The terms ‘Emulator’ and ‘Simulator’ are sometimes used interchangeably. • Apple considers its native emulator a ‘simulator’ • Android considers its tools as ‘emulator’ • In an ideal world, every mobile app developer would be able to build an app and test its behavior on a simulator that would perfectly mimic the way the software should behave on a mobile device. • To a large extent, these emulators/simulators give the developer a reasonable idea of how an app will behave on a variety of screen sizes, orientations, and how it will look in terms of color and design.
  • 136. Types of Emulator/Simulator 1. Device Emulator- provided by device manufacturers 2. Browser Emulator- simulates mobile browser environments. 3. Operating systems Emulator- Apple provides emulators for iPhones, Microsoft for Windows phones and Google Android phones
  • 140. Device Emulator • Iphone - Xcode - Version of Apple’s powerful integrated development environment for creating great apps for Mac • Ipad - can be simulated using Xcode for all versions including iOS 5.0 • Blackberry - BlackBerry Smartphone Simulators • Nokia - Nokia remote access , Nokia desktop emulators (S60,S40) • Android OS based phones - Android SDK • Windows Phone - Windows phone Developer tools • All other devices - MITE ( Mobile Internet Testing Environment) - desktop tool that lets you interactively test and verify mobile content by emulating 2,000 devices and 12,000 device profiles
  • 141. Device Emulator First, install and open Xcode. Then, in Xcode, right-click and select “Show Package Contents.” Go to “Contents” → “Applications” → “iPhone Simulator.”
  • 143. Emulator Testing Cons Situation Based Testing: You cannot emulate real life usage with software. How does the app look when you are outside in the sun, or when it’s raining? Can you use the app while walking? Does the interface translate well with swipes and finger usage? All these situations are impossible to replicate with emulators. Battery Testing: It is impossible to test the effects of your app on the battery life of a device with an emulator. Interrupts: Things like receiving a text message or phone call while using the app cannot be tested while using an emulator. Memory Related Issues: Emulators tend to have a great deal more memory available than real devices. This is because they are not multitasking the way a real device is. The performance of your app on an emulator may be much better than on a real device. This could cause a misconception of how quick your app responds. Display/Resolution Variance: The look and feel of the application may be different on an emulator as opposed to a real device. How bright or dim the app appears, and the changes in resolution across devices may differ with respect to the emulator. It’s also very hard to simulate light and dark situations on an emulator.
  • 144. Emulator Testing Cons Features that you can’t test in the Windows Phone Emulator The following list describes features of the Windows Phone 8 hardware and platform that you cannot test in the emulator. You have to test these features on a physical device. • Compass • Gyroscope • Vibration controller • Brightness. The brightness level of the emulator is always High.
  • 145. How to launch Android Emulator 1. Install Android SDK tools + Eclipse IDE OR Install Android Studio 2. Launch Eclipse IDE 3. Install the necessary packages related to latest Android OS or the required Android OS to be tested 4. Click on Window menu on the top 5. Click on Preferences option 6. Click on Android option at the left pane 7. Ensure the latest or the required Android OS is listed under Target Name 8. Click on Apply 9. Click on OK 10. Now, we are done with the setup of emulator for the required Android OS
  • 146. How to launch Android Emulator
  • 147. How to launch Android Emulator
  • 148. How to launch Android Emulator
  • 149. How to launch Android Emulator
  • 150. How to launch Android Emulator
  • 151. How to launch Android Emulator
  • 152. How to launch Android Emulator
  • 153. Deploy/Install .apk in Android Emulator 1. Download the .apk and place it in the DOWNLOADS folder 2. Run the Android Emulator and launch the required device 3. Start  Run  CMD 4. Change the directory to the path where adb is installed 1. Run the below command to know the list of devices running on emulator: adb devices 1. Run the below command to install the .apk in android emulator adb install <path of .apk>
  • 154. Windows Phone Emulator Testing Pros Features that you can test in the Windows Phone Emulator The following table describes features of the Windows Phone 8 hardware and platform that you can test in the emulator. The Windows Phone 8 Emulator supports some features that are not supported in the Windows Phone 7.1 Emulator. Some of the listed features are only supported partially or only under certain conditions, and some require an additional download.
  • 155. Windows Phone Emulator Testing Pros Supported feature Description Multiple screen resolutions You can use the Windows Phone 8 emulator to test your app on the following screen resolutions: •WVGA (800 × 480) •WXGA (1280 × 768) •720p (1280 × 720) Screen configuration options Windows Phone Emulator supports the following screen configuration options: • Changing from portrait to landscape mode • Changing the zoom setting to fit the emulator to your desktop screen
  • 156. Windows Phone Emulator Testing Pros Supported feature Description Memory-constrained devices You can use the emulator to test your app on images that emulate the following memory- constrained devices: •Emulator WVGA 512MB, for apps that target Windows Phone 8. •Emulator WVGA 512MB, Emulator 7.8 256MB, and Emulator 7.1 256MB, for apps that target Windows Phone OS 7.1. Networking Networking support is integrated with Windows Phone Emulator. Networking is enabled by default. You do not have to install network drivers for Windows Phone Emulator or configure networking options manually in most environments.
  • 157. Windows Phone Emulator Testing Pros Supported feature Description Language and region settings You can change the display language and region settings in Windows Phone Emulator for testing purposes. Application lifecycle and tombstoning You can test the behavior or your app when it is deactivated or tombstoned. For more info, see
  • 158. Windows Phone Emulator Testing Pros Other supported features • Notifications • In-app purchase • Hardware keyboard and hardware buttons • Lock screen • Copy-and-paste • Screenshot tool
  • 159. Windows Phone Emulator Pre-requisites: 1. Install Visual Studio Ultimate (latest version) 2. Install Windows Phone SDK tools 3. Download the .xap file onto the PC
  • 160. Deploy a .xap file into Windows Phone Emulator 1. Launch Windows Phone emulator 2. Navigate to the path where .xap file resides 3. Navigate to the below path: C:Program Files (x86)Microsoft SDKsWindows Phonev7.1ToolsXAP Deployment 4. Click on the XAPDeploy tool to launch 5. Choose Target as ‘Windows Phone Emulator’ 6. Browse to the path where XAP is present (step 2) 7. Click on Deploy button 8. The .XAP file is now installed on Windows Phone Emulator You Tube Link: https://www.youtube.com/watch?v=ZLCkjVjKOa4
  • 161. Deploy a .xap file into Windows Phone Emulator
  • 162. Deploy a .xap file into Windows Phone Emulator
  • 163. Deploy a .xap file into Windows Phone Emulator
  • 164. Deploy a .xap file into Windows Phone Emulator
  • 165. Deploy a .xap file into Windows Phone Emulator
  • 166. Deploy a .xap file into Windows Phone Emulator
  • 167. Deploy a .xap file into Windows Phone Emulator
  • 168. Deploy a .xap file into Windows Phone Emulator
  • 169. Deploy a .xap file into Windows Phone Emulator
  • 170. Testing Websites on Mobile Web Emulator