0% found this document useful (0 votes)
23 views10 pages

Mobile

Uploaded by

rautmahesh300
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views10 pages

Mobile

Uploaded by

rautmahesh300
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Mobile Application Testing

➢ In today's time, mobile phones are expanding from simple


communication to gadgets that can do everything.
➢ Mobiles phones are uses to order the food, to avail the cab so that we
can know the direction. All these facilities are possible only by using
mobile applications.
➢ Every developed mobile application must go through the mobile testing
process. This process assures us to maintain the level of the quality of
the application before it is released into the market (App store/ Play
store).
➢ The development life cycle of the mobile application is shorter than the
other, so the mobile application's success depends only on the testing of
the mobile application.
➢ Applications are tested based on usability, security, functionality. This
increases the general efficiency of the application and increases the
reliability factor among the users as well

Types of Mobile Testing

➢ Hardware Testing -> Hardware testing is done on the internal


processors, resolution, internal hardware, size of the screen, radio,
space, camera, Bluetooth or WIFI, etc. This testing is known as simple
"mobile testing."
➢ Software Testing or the Application Testing -> The functionality of those
applications should be tested, which works on mobile devices. We call
this testing as the "Mobile Application Testing".

Mobile Operating Systems

O.S. Developed by Popularity Latest version


Android (.apk) Google Inc High Find Latest vesion
IOS (.ipa) Apple Inc High -
Blackberry Blackberry Ltd Low -
Windows (.exe) Microsoft Inc Medium -
Symbian Symbian Foundation Low -
Types of the Mobile Application

You will mainly come across three types of mobile applications: Mobile Web,
Native App, and Hybrid App. The classification is based on the development
efforts and App redistribution strategy
Mobile Web
Web apps are not real applications; they are websites that open in your smartphone
with the help of a web browser. Mobile websites have the broadest audience of all the
primary types of applications.
➢ Example − https://www.tutorialspoint.com/index.htm

Native App
A native app is developed specifically for one platform. It can be installed through an
application store (such as Google Play Store or Apple’s App Store).
➢ Example − Whatsapp, Facebook.

Hybrid App
Hybrid Apps are a way to expose content from existing websites in App format. They
can be well described as a mixture of Web App and Native App.
➢ Example − Instagram, Wikipedia.

Emulator Vs Simulator

➢ To perform mobile testing, you need a mobile device. This is to access


that how our product will work and look like on a given mobile set.
➢ The solution to this problem is to use Mobile Simulators and Mobile
Emulators. These are primarily software programs designed to provide
simulation for important features of a smartphone. They are very similar
in nature, so sometimes, they are used interchangeably.
➢ A simulator/emulator cannot mimic the following features −
✓ Mobile device battery
✓ Mobile device’s camera
✓ Difficult to mimic interruptions like incoming calls and SMS.
✓ Not so much realistic simulation for mobile device memory usage.
Emulator
Simulator
Mobile device software
Internal behavior of the device.
What it mimics Mobile device hardware
It does not mimic hardware.
Mobile operating system
It is generally provided by the
It is generally provided by the
How to get it device manufacturer or some
device manufacturer.
other company.
Internal It is written in machine-level It is written in high-level
structure assembly language. language.
It is more suitable for It is not suitable for debugging
Debugging
debugging. purpose.
Emulators are really slow.
Emulating the actual hardware
Performance Faster than emulators.
usually makes the software run
slower than it would natively.
Example Google’s Android SDK Apple’s iOS Simulator

Mobile Application Testing Types

➢ Mobile application testing is a process by which an application software


developed for handheld mobile devices is tested for its functionality,
usability, and consistency.
➢ Mobile application testing can be automated or manual type of testing.
Functional Testing
➢ Functional testing is the most basic test for any application to ensure
that it is working as per the defined requirements. Like other user-
interface based applications, mobile applications require a few human
interactions in user scenarios.
➢ Example test scenarios −
✓ Verify that flight availability is displayed for a chosen source
destination on a selected date only.
✓ Verify that past dates are not included in the search results.
Compatibility Testing
➢ Compatibility testing has got the highest stack when it comes to mobile
application testing. The purpose of a mobile app compatibility test, in
general, is to ensure an app’s key functions behave as expected on a
specific device. The compatibility itself should only take a few minutes and
can be planned well in advance.
➢ It is not going to be an easy task, deciding on which mobile devices
compatibility tests should be performed (as testing with all available
devices is merely impossible). So, prepare a test matrix with every
possible combination and get it prioritized by the client.
➢ There are many tools in market which provides Emulators and Simulators
to test on as Android SDK, XCode, Sauce labs
➢ Example test scenarios −
✓ Verify that flight search is performed successfully with Android
device.
✓ Verify that flight search is performed successfully for Apple iPad.
Localization Testing
➢ Nowadays, most of the apps are designed for global use and it is very
important to care about regional trails like languages, time zones, etc. It’s
important to validate the app’s functionality when someone changes the
time zone. It must be taken into consideration that sometimes-western
designs may not work with the audience from eastern countries or vice-
versa.
➢ Example test scenarios −
✓ Verify that there is no UI or data truncation issue when we use the
mobile app with different languages (or say, non-English language).
✓ Verify that time zone changes are handled gracefully for your
mobile application.
Laboratory Testing
➢ Laboratory testing, usually carried out by network carriers, is done by
simulating the complete wireless network. This test is performed to find
out any glitches when a mobile application uses voice and/or data
connection to perform some functions.
➢ Example test scenarios −
✓ Verify that there is no glitch while a customer is having voice chat
with the support staff.
Performance Testing
➢ Mobile performance test covers client application performance, server
performance, and network performance. It is important to make sure that
the performance test scenarios cover all those areas. With the help of
performance testing tools, it is not difficult to identify the existing
networks, servers, and server-side application bottlenecks, given the
predefined loads and transaction mix.
➢ Example test scenarios −
✓ Verify that flight available check takes only a reasonable amount of
time.
✓ Verify that while flight availability is being checked, the mobile
operates normally and does not hang.
Stress Testing
Stress testing is a must to find exceptions, hangs, and deadlocks that may go
unnoticed during functional and user interface testing. Here is a list of some of
the criteria for stress testing −
➢ Load your application with as much data as possible to try to reach its
breaking point.
➢ Perform the same operations repeatedly.
➢ Perform the repeated operations at varying speeds – very quickly or very
slowly.
➢ Leave your application running for a long period of time, both interacting
with the device and just letting it sit idle or performing some automatic
tasks that takes a long time, for example, a slideshow.
➢ Randomly send screen taps and keystrokes to your application.
➢ Have multiple applications running on your device so that you can switch
between your application and other device applications often.
Example test scenarios −
➢ Check 1000 users are accessing the mobile app to search for domestic
flights.
➢ Check 1000 users are accessing the mobile app to search for
international flights.
Security Testing
➢ Vulnerabilities to hacking, authentication, and authorization policies, data
security, session management and other security standards should be
verified as a part of mobile app security testing. Applications should
encrypt username and passwords when authenticating the user over a
network.
➢ One way to test security related scenarios is to route your mobile’s data
through a proxy server like OWASP Zed Attack Proxy and look for
vulnerabilities.
➢ Example test scenarios −
✓ Verify that the application does not get operated with same user
credentials on two different mobile devices.
✓ Verify that a session automatically gets expired if it remains inactive
for more than 15 minutes.
Memory Leakage Testing
➢ Mobile devices have very limited memory as compared to other
computers, and mobile operating systems have a default behavior to
terminate applications that are using excessive memory and causing a
poor user experience.
➢ Memory testing is exceptionally important for mobile applications to
ensure that each application maintains optimized memory usage
throughout the user journey. It is recommended that we conduct memory
testing on the actual target device, since the system architecture is
different from an emulator to an actual device.
➢ Example test scenarios −
✓ Do flight availability checks ten times and note down increasing
memory usage for each check.
✓ Keep the application running for ten minutes and observe if
memory usage remains stable.
Power Consumption Testing
➢ There are several types of batteries used in different mobile devices (i.e.,
nickel cadmium/ lithium ion/ Nickel metal hybrid). While we focus on
power consumption testing, we are required to measure the state of the
battery at each activity level. It will give us a better understanding of
power consumption by an individual application.
➢ Power Consumption test can be done manually; also, there are some free
tools available in the market such as Trepn Profiler, Power Tutor, and
Nokia Energy Profiler. These are applications which can display the real-
time power consumption on a smartphone or tablet.
➢ Example test scenarios −
✓ Use the mobile app to search for flight availability and check the power
consumption remains minimal.
✓ Keep the mobile app in ideal condition; verify that there is no power
consumption when there is no activity happening for the app.
Interrupt Testing
An application, while functioning, may face several interruptions like incoming
calls or network coverage outage and recovery. This can again be distinguished
for −
➢ Incoming and Outgoing SMS and MMS
➢ Incoming and Outgoing calls
➢ Incoming Notifications
➢ Battery Removal
➢ Cable Insertion and Removal for data transfer
Example test scenarios −
➢ Verify that flight availability check gets paused and resumed back after
receiving an incoming call.
➢ Verify that the user can reject a call while using the App and again resume
the same App thereafter.
Usability Testing
Usability testing evaluates the application based on the following three criteria
for the target audience −
➢ Efficiency − The accuracy and completeness with which specified users
can achieve specified goals in a particular environment.
➢ Effectiveness − The resources expended in relation to the accuracy and
completeness of goals achieved.
➢ Satisfaction − The comfort and acceptability of the work system to its
users and other people affected by its use.
It is very important to get usability testing in place from the early stage of the
application design, and it should not be done only when the application is
completed. Usability testing requires heavy involvement of users, and the
output might affect the application design, which is very difficult to change in
the later stages of the project.
Example test scenarios −
➢ Flight availability check should be on the home page.
➢ Sponsored advertisement should not be displayed in the middle of the
content.
Installation Testing
Installation testing verifies that the installation process goes smoothly without
the user having to face any difficulty.
Example test scenarios −
➢ Verify that the installation process is smooth and does not take long.
➢ Verify that the installation is successful through enterprise app store.
Uninstallation Testing
The basics of uninstallation testing can be summarized in one line as
“Uninstallation should sweep out data related to the App in just one go”.
Example test scenarios −
➢ Verify that all the application related files are removed successfully after
uninstallation.
➢ If it is an App which stores media files (like Whatsapp or Facebook), retain
the files even after the uninstallation of the App.
Updates Testing
We need to be very much cautious about mobile app updates. People frequently
complain about applications not working satisfactorily after an update. So, it is
very important that under the update testing, we qualify that the App will work
as it was working previously. In a nutshell, it should not break anything. Mobile
application updates can take place in two ways − Automatic update and Manual
update.
Example test scenarios −
➢ Verify that the application works successfully after automatic update.
➢ Verify that the update progress is displayed properly.
Certification Testing
To get a certificate of compliance, each mobile device needs to be tested against
the guidelines set by different mobile platforms.
Example test scenarios −
➢ Verify that the application adheres to the policy of iOS phones when
installed on iPhone.
➢ Verify that the application adheres to the policy of Android phones when
installed on Android.
How to install native apps-

➢ On devices we install apps using Firebase Crashlytics App.


➢ It started out to install beta apps on iOS/android devices or installing apps
outside of the official App Store / Play Store.

Activity Diagram

➢ Just like Play Store/ App Store, The Crashlytics App helps you to install the
testing build onto your real device.
➢ The Crashlytics App can be downloaded from Play Store/App Store and
installed on the real device where you want to conduct the testing
➢ After installation you can login with the credentials provided by client and
then on login, you can see all the listed builds of your project
➢ Once developer done with development then he pushes the build on to
Crashlytics App server. After that he sends a mail saying, the Android
build
version 2.14.9/iOS build version 1.3.5 has been uploaded to Crashlytics
App, please start the testing on same.
➢ Once we receive such mail from developer then we login to Crashlytics
App and then we click on the mentioned build verion. On click we can see
the option to install the build. Then we install that build on real device
and start testing.

You might also like