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.
Best cross platform app development frameworks for 2021Omega_UAE
Mobile apps have gained tremendous popularity, particularly over the last decade. If it’s your favorite battlefield game or multi-tasking with a wellness tracking routine, you can find games that are inseparably integrated with your daily life. Exciting media, fantastic graphics, stimulating audio-visual opportunities are now at your fingertips.
In this Presentation all type of JS frameworks are discussed and by viewing this you can compare that which is the best JS framework in present time for different different purposes.
Native script vs react native for native app development in 2022Katy Slemon
NativeScript VS React Native: Understand the difference between both the Native Apps. Also compare the Pros And Cons, Performance, Learning Curve and Popularity
Find the right mobile app architecture for your business [detailed guide]Katy Slemon
Learn about different types of mobile app architecture, tips and factors to consider, and how to find the ideal mobile app architecture for your business.
Best cross platform app development frameworks for 2021Omega_UAE
Mobile apps have gained tremendous popularity, particularly over the last decade. If it’s your favorite battlefield game or multi-tasking with a wellness tracking routine, you can find games that are inseparably integrated with your daily life. Exciting media, fantastic graphics, stimulating audio-visual opportunities are now at your fingertips.
In this Presentation all type of JS frameworks are discussed and by viewing this you can compare that which is the best JS framework in present time for different different purposes.
Native script vs react native for native app development in 2022Katy Slemon
NativeScript VS React Native: Understand the difference between both the Native Apps. Also compare the Pros And Cons, Performance, Learning Curve and Popularity
Find the right mobile app architecture for your business [detailed guide]Katy Slemon
Learn about different types of mobile app architecture, tips and factors to consider, and how to find the ideal mobile app architecture for your business.
Why does .net maui deserve your attention if you’re planning to use xamarin Moon Technolabs Pvt. Ltd.
Do you know anything about .NET MAUI? It’s a new app UI that deserves your attention, especially if you’re planning to leverage xamarin app development services.
While the Ionic framework is good enough for building desktop apps, it suffers from a few drawbacks. The alternatives you’ll learn about here are devoid of those disadvantages.
Live Streaming Application DevelopmentMarie Weaver
Live streaming is a live broadcast of all actions occurring on a computer connecting thousands of users to watch video in real-time across different geographies.
Building Hybrid Apps with AngularJS and IonicYounes Adounis
Ionic est un SDK HTML5 puissant qui vous aide à construire des applications mobiles Hybrid en utilisant des technologies web comme HTML, CSS et Javascript.
Durant cette session on verra quand faut it choisir Hybrid au lieu de Native, comment utiliser Ionic et tous ses composants et à la fin on fera un exemple réel d'application Android et iOS pour voir les meilleurs pratiques de développement.
ios vs android development – key differencesMarkovate
Mobile Apps have become so ubiquitous that it is almost impossible to imagine our lives without fiddling with our smartphones. All credit goes to renowned android and ios app development companies who built feature-rich, robust mobile apps like Whatsapp, Facebook, Instagram, etc., that have dominated our world like never before.
Even with all the features possessed by Xamarin, it may be unsuitable for your digital solution. When you can’t leverage this platform, the following Xamarin alternatives will help you.
Introduction to hybrid application developmentKunjan Thakkar
The presentation I prepared for in-house skill building. Introduction to Hybrid development. Understanding different frameworks and choosing the right one.
Ionic vs flutter best platform for hybrid app developmentMarkovate
Both frameworks are inherently different, despite having the common goal of developing high-performing mobile apps. And if you think there will be many similarities between the working process of the leading cross-platform app development frameworks, you are highly mistaken.
Greane Tree Technology CTO Joseph Payette gave our latest “Lunch & Learn” presentation. With the number of tools and frameworks for cross platform mobile application development increasing every year, it can be a challenge to determine the best fit technology for a mobile project. All of these tools and frameworks have their advantages and disadvantages, as they leverage different mechanisms for abstracting differences across mobile devices in an effort to provide a single platform for rapid application development. To bring order to the various options at hand, Joe reviewed mobile application architectures (native, hybrid, and HTML5), and explored and compared a few hybrid tools and frameworks, namely PhoneGap (www.phonegap.com), Appcelerator (www.appcelerator.com), and MoSync (www.mosync.com). Joe’s mobile application development presentation includes sample code for these three tools and frameworks.
The Lunch and Learn series is a regular event where we discuss topics of interest to our projects and clients. Last month, Chad Calhoun explored Git Interactive Techniques.
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARISivaSankari36
unit 1; ANDROID
Native and web applications - Mobile operating systems and applications - Mobile Databases. Android: History of Android - Android Features – OSS – OHA - Android Versions and compatibility - Android devices - Prerequisites to learn Android -– Setting up software – IDE - XML. Android Architecture: Android Stack - Linux Kernel - Android Runtime - Dalvik VM - Application Framework - Android emulator - Android applications.
UNIT II Android development:
Java - Android Studio – Eclipse – Virtualization – APIs and Android tools – Debugging with DDMS – Android File system – Working with emulator and smart devices - A Basic Android Application - Deployment. Android Activities: The Activity Lifecycle – Lifecycle methods – Creating Activity. Intents – Intent Filters – Activity stack.
UNIT III Android Services:
Simple services – Binding and Querying the service – Executing services.- Broadcast Receivers: Creating and managing receivers – Receiver intents – ordered broadcasts. Content Providers: Creating and using content providers – Content resolver. Working with databases: SQLite – coding for SQLite using Android – Sample database applications – Data analysis.
UNIT IV Android User Interface:
Android Layouts – Attributes – Layout styles - Linear – Relative – Table – Grid – Frame. Menus: Option menu – context menu - pop-up menu – Lists and Notifications: creation and display. Input Controls: Buttons-Text Fields-Checkboxes-alert dialogs-Spinners-rating bar-progress bar.
UNIT V Publishing and Internationalizing mobile applications :
Live mobile application development: Game, Clock, Calendar, Convertor, Phone book. App Deployment and Testing: Doodlz app – Tip calculator app – Weather viewer app.
Text Books
1. Barry Burd, “Android Application Development – All-in-one for Dummies”, 2nd Edition, Wiley India, 2016.
Reference
1. Paul Deitel, Harvey Deitel, Alexander Wald, “ Android 6 for Programmers – An App-driven Approach”, 3rd edition, Pearson education, 2016.
2. Jerome (J. F) DiMarzio, “Android – A Programmer‟s Guide”, McGraw Hill Education, 8th reprint, 2015.
3. http://www.developer.android.com
Why does .net maui deserve your attention if you’re planning to use xamarin Moon Technolabs Pvt. Ltd.
Do you know anything about .NET MAUI? It’s a new app UI that deserves your attention, especially if you’re planning to leverage xamarin app development services.
While the Ionic framework is good enough for building desktop apps, it suffers from a few drawbacks. The alternatives you’ll learn about here are devoid of those disadvantages.
Live Streaming Application DevelopmentMarie Weaver
Live streaming is a live broadcast of all actions occurring on a computer connecting thousands of users to watch video in real-time across different geographies.
Building Hybrid Apps with AngularJS and IonicYounes Adounis
Ionic est un SDK HTML5 puissant qui vous aide à construire des applications mobiles Hybrid en utilisant des technologies web comme HTML, CSS et Javascript.
Durant cette session on verra quand faut it choisir Hybrid au lieu de Native, comment utiliser Ionic et tous ses composants et à la fin on fera un exemple réel d'application Android et iOS pour voir les meilleurs pratiques de développement.
ios vs android development – key differencesMarkovate
Mobile Apps have become so ubiquitous that it is almost impossible to imagine our lives without fiddling with our smartphones. All credit goes to renowned android and ios app development companies who built feature-rich, robust mobile apps like Whatsapp, Facebook, Instagram, etc., that have dominated our world like never before.
Even with all the features possessed by Xamarin, it may be unsuitable for your digital solution. When you can’t leverage this platform, the following Xamarin alternatives will help you.
Introduction to hybrid application developmentKunjan Thakkar
The presentation I prepared for in-house skill building. Introduction to Hybrid development. Understanding different frameworks and choosing the right one.
Ionic vs flutter best platform for hybrid app developmentMarkovate
Both frameworks are inherently different, despite having the common goal of developing high-performing mobile apps. And if you think there will be many similarities between the working process of the leading cross-platform app development frameworks, you are highly mistaken.
Greane Tree Technology CTO Joseph Payette gave our latest “Lunch & Learn” presentation. With the number of tools and frameworks for cross platform mobile application development increasing every year, it can be a challenge to determine the best fit technology for a mobile project. All of these tools and frameworks have their advantages and disadvantages, as they leverage different mechanisms for abstracting differences across mobile devices in an effort to provide a single platform for rapid application development. To bring order to the various options at hand, Joe reviewed mobile application architectures (native, hybrid, and HTML5), and explored and compared a few hybrid tools and frameworks, namely PhoneGap (www.phonegap.com), Appcelerator (www.appcelerator.com), and MoSync (www.mosync.com). Joe’s mobile application development presentation includes sample code for these three tools and frameworks.
The Lunch and Learn series is a regular event where we discuss topics of interest to our projects and clients. Last month, Chad Calhoun explored Git Interactive Techniques.
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARISivaSankari36
unit 1; ANDROID
Native and web applications - Mobile operating systems and applications - Mobile Databases. Android: History of Android - Android Features – OSS – OHA - Android Versions and compatibility - Android devices - Prerequisites to learn Android -– Setting up software – IDE - XML. Android Architecture: Android Stack - Linux Kernel - Android Runtime - Dalvik VM - Application Framework - Android emulator - Android applications.
UNIT II Android development:
Java - Android Studio – Eclipse – Virtualization – APIs and Android tools – Debugging with DDMS – Android File system – Working with emulator and smart devices - A Basic Android Application - Deployment. Android Activities: The Activity Lifecycle – Lifecycle methods – Creating Activity. Intents – Intent Filters – Activity stack.
UNIT III Android Services:
Simple services – Binding and Querying the service – Executing services.- Broadcast Receivers: Creating and managing receivers – Receiver intents – ordered broadcasts. Content Providers: Creating and using content providers – Content resolver. Working with databases: SQLite – coding for SQLite using Android – Sample database applications – Data analysis.
UNIT IV Android User Interface:
Android Layouts – Attributes – Layout styles - Linear – Relative – Table – Grid – Frame. Menus: Option menu – context menu - pop-up menu – Lists and Notifications: creation and display. Input Controls: Buttons-Text Fields-Checkboxes-alert dialogs-Spinners-rating bar-progress bar.
UNIT V Publishing and Internationalizing mobile applications :
Live mobile application development: Game, Clock, Calendar, Convertor, Phone book. App Deployment and Testing: Doodlz app – Tip calculator app – Weather viewer app.
Text Books
1. Barry Burd, “Android Application Development – All-in-one for Dummies”, 2nd Edition, Wiley India, 2016.
Reference
1. Paul Deitel, Harvey Deitel, Alexander Wald, “ Android 6 for Programmers – An App-driven Approach”, 3rd edition, Pearson education, 2016.
2. Jerome (J. F) DiMarzio, “Android – A Programmer‟s Guide”, McGraw Hill Education, 8th reprint, 2015.
3. http://www.developer.android.com
Cross-platform technologies, which allow app developers to create a shared solution for several platforms via hybrid mobile application development, will see the most promising improvements.
Welcome to
Step-by-step Guide for Mobile App Development for 2023
Step-by-Step Guide for Mobile App Development for 2023 The market for developing mobile apps is undergoing a transformation. You will be able to execute mobile applications on several platforms thanks to advancements in micro processing technology. For instance, mobile apps developed today will function flawlessly on PCs in the future. Additionally, mobile apps created with Flutter or React Native will run on PCs, Macs, Android phones, and iPhones. Before we get into more detail, let's examine the data on mobile app usage to see how people use their phones and what prospects there are for creating your own mobile application.
Mobile App Development Lifecycle 2023
There are over 3.5 billion smartphone users worldwide, so there is no doubt that the industry is healthy and thriving. Stats are growing steadily, without any indications of slowing down. And studies show that an average American checks their phone at least once every twelve minutes, and over 10% of these people check their phone about every four minutes. There are some more statistics to keep in mind.
People spend over half of the time they spend with digital media on mobile.
Smartphone users spend 90% of their screen time using mobile apps.
Over 85% of consumers prefer native apps over mobile cross-websites.
Revenue from mobile apps is set to cross $613 billion by 2023.
The average consumer has over 30 apps installed on their device.
An average user spends about 35 hours per month using mobile apps.
The statistics are motivating for anyone who wishes to build or develop a mobile app. But before we jump to any conclusions, let’s understand the exact process of mobile app development. Although it sounds very lucrative to build a mobile app to get a piece of the billion-dollar pie, the decision needs thought strategy and planning. The fact also states that your app will be competing with over 1.5 million applications on the Google Play Store and Apple’s App Store.
What is Mobile App Development?
What is the creation of mobile apps? The process of creating mobile applications that operate on mobile devices is known as mobile app development. These programs can either come pre-installed or the user can download them and install them themselves. They work with remote computing resources by utilizing the device's network capabilities. In order to access backend services for data access through APIs, create software that can be installed on the device, enable backend services, and test the application on target devices are all necessary steps in the development of mobile apps.
You must take into account screen sizes, hardware specifications, and numerous other elements of the app development process in order to create scalable mobile apps. Given the rise in employment opportunities in the mobile app development sector, it is crucial that entrepreneurs, startups.
Building a mobile app is no easy task, and with all the options out there, picking the right technology is half the battle. This report, released by IQ, illustrates the differences between building a mobile web app and a native app. At the end is a scorecard to help readers decide which approach is right for them. For questions or more information, please contact IQ at newbiz@iqagency.com.
Top Advantages of Cross Platform Mobile App DevelopmentXDuce Corporation
Cross-platform app development offers numerous benefits, such as cost-effectiveness, faster time-to-market, wider audience reach, and easier maintenance. It allows developers to write code once and deploy it across multiple platforms, maximizing efficiency. Consistent UI/UX, code reusability, and access to native device features ensure a seamless user experience across different devices and operating systems.
Difference between Mobile and Web App testingpCloudy
In this fast-paced technological world, organizations have to maximize the visibility of their business to succeed. Since every business’s target audience is on the web and mobile devices, organizations must provide great software platforms for their consumers to interact on the web and mobile. A well-planned mobile and web application testing process is required to create flawless software apps. Businesses are attempting to employ mobile application testing to gain and retain their user base as customers’ mindsets change. For accelerating the testing cycle, having 24/7 access to the testing lab is crucial. Hence QA teams are considering laptop or mobile device lab on cloud for 24/7 access, cost-efficiency, scalability and much more. Similarly, QA teams are considering laptop device lab on cloud for web application testing. Mobile and web application testing approaches, on the other hand, are different. Before we get into the differences between mobile and web application testing, let’s look at the difference between web and mobile apps.
The recent explosion in the popularity of apps has seen more and more people set out to develop their own, and the technology behind them has changed as a result. The big technology companies which easily dominated the market in years past have had to become more competitive in order to keep up sales, while people with limited technical skills have sought out simple design modules to enable them to develop their ideas.
Mobile application development is a term used to denote the act or process by which application software is developed for handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones.
These applications can be pre-installed on phones during manufacturing platforms, or delivered as web applications using server-side or client-side processing (e.g. JavaScript) to provide an "application-like" experience within a Web browser.
The increasing presence of smartphones and the rapid popularity of mobile applications that cater to consumers and businesses has meant that today there is a mobile app for virtually everything.
Going Mobile First: a future-friendly approach to digital product designEzekiel Binion
A 2015 presentation delivered as part of Table XI's breakfast series. This talk shares how mobile platform usage has evolved since the 2009 release of "Mobile First" by Luke Wroblewski and shares some practical tips on how to decide if a native or web application is the right decision for your product.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
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
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
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
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
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?
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.
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
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.
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.
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.
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.
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
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/
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
<?xml version="1.0" encoding="ASCII"?>
<kml xmlns="http://earth.google.com/kml/2.2">
<Document>
<name>GE2ADT</name>
<Placemark><name>21</name><description>GE2ADT Route</description><Point><coordinates>-
74.61453,40.47307,0</coordinates></Point></Placemark>
<Placemark><name>22</name><description>GE2ADT Route</description><Point><coordinates>-
74.614564,40.472985,0</coordinates></Point></Placemark>
<Placemark><name>23</name><description>GE2ADT Route</description><Point><coordinates>-
74.614661,40.472743,0</coordinates></Point></Placemark>
<Placemark><name>24</name><description>GE2ADT Route</description><Point><coordinates>-
74.614784,40.472387,0</coordinates></Point></Placemark>
<Placemark><name>25</name><description>GE2ADT Route</description><Point><coordinates>-
74.615058,40.471677,0</coordinates></Point></Placemark>
<Placemark><name>26</name><description>GE2ADT Route</description><Point><coordinates>-
74.615168,40.471369,0</coordinates></Point></Placemark>
<Placemark><name>27</name><description>GE2ADT Route</description><Point><coordinates>-
74.615289,40.471028,0</coordinates></Point></Placemark>
</Document>
</kml>
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.
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
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
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