C
MOBILE APP TESTING
Topics covered
• What is mobile app testing?
• Importance of Mobile Testing?
• Challenges in Mobile Testing
• Types of Mobile Applications
• Types of Mobile Testing
• Mobile Testing Process
• Web and Mobile testing
• Significance of Mobile Testing
What is Mobile App Testing?
• Testing of an app for its functionality, useability and performance on a mobile device.
• To Verify if mobile apps are working as intended.
• To verify if apps meet end user needs.
• Can be done through manual and automated ways.
Importance of Mobile Testing
• Mobile users have increased with over 6.65 billion smartphone users worldwide.
• Mobile apps have become an integral part of our daily life, businesses.
• Mobile apps have many features to test.
• Variety of mobile devices with many fragmentation, screen size, etc.
Challenges in Mobile Testing
•
Device and OS fragmentation: Testing across various devices and operating systems.
• Network variability: Ensuring consistent performance across different network
conditions.
• User interface consistency: Maintaining a uniform experience on diverse screen sizes
and resolutions.
• Security vulnerabilities: Protecting sensitive data and ensuring robust security measures.
• Adaptability to updates: Keeping up with frequent operating system and app updates.
Types of Mobile Applications
• 1. Native Apps
• 2. Web Apps
• 3. Hybrid Apps
• 4. Progressive Web Apps
Native Apps
• Developed for specific platforms. e.g.
iOS, android.
• Developed in native language.
• Android apps are developed using
java and iOS are developed using
objective C.
• Are published in App Store or Play
store.
• Examples:
Native Apps
Pros
• Best Performance
• More secure
• User interactive
• Have access to full features of device.
Cons
• Developed for single platform.
• Expensive
Web Apps
• Use Web Browsers like Chrome.
• Need not to install .
• Less interactive
• Websites designed for Mobile phones.
• Developed using HTML, CSS, JavaScript
Web Apps
Pros
• Easy to develop
• Easy to maintain
• Cheaper than native and Hybrid Apps.
• Works on all platforms
Cons
• Poor User experience
• Slow Performance
• less interactive with device utilities
Hybrid Apps
• Combine elements of both native and
web apps using single codebase to run
on multiple platforms.
• They are deployed on containers that
uses mobile view object.
Hybrid Apps
Pros
• Cheaper to maintain
• Easy to develop
• Fast development due to single
codebase.
• Have access to features of mobile
device.
Cons
• It is slower compared to native apps
• These are less interactive than native
apps.
Types of Mobile Testing
Functional Testing:
• Functional testing focuses on testing the
primary objective and flow of an
application. It helps in verifying the features
and specifications of an app. Moreover,
functional testing is primarily done to check
whether the buttons, boxes, icons, menus,
etc., are working accurately, push
notifications are rendering correctly, and
transactions (if any) are happening
seamlessly in the app.
Usability Testing:
•
Usability testing or user experience testing is
done to check the user-friendliness of a
mobile app. Among all types of mobile
testing, the usability testing type is the only
one that focuses on human experience and
not the technicalities of an app.
• Moreover, usability testing of an app is done
on a real mobile device rather than on an
emulator. Here, a tester checks various
scenarios by mimicking the actual end-user
using the app for the first time. Based on her
experience, she gives feedback to the
project manager, designer, or developer to
update the app accordingly.
Performance Testing
• Performance Testing is done to check a
mobile application’s stability,
responsiveness, and speed in different
workload conditions. It helps to ensure that
an app does not malfunction in any given
condition or scenario.
Interruption Testing
• While using a smartphone, any type of
interruption is inevitable. Interruption
testing ensures that the app works
perfectly fine in case of certain
interruptions, such as getting a phone
call, text message, push notifications,
alarms, lower network connectivity, low
battery, plugged out or in when
charging, and more
• QA engineers usually forget to test the
application when the phone updates the
OS or the app itself.
Manual Testing
• Manual testing is one of the oldest yet
one of the most effective methods of
testing a mobile application. Manual
testing can help navigate through the
complexity of a mobile application. It
helps to ensure that the mobile app built
for the final release works according to
the developer’s and user’s expectations.
It is useful to test for scenarios that
don’t come naturally to a user. Physical
interface tests, complex tests, and
exploratory tests are some of the types
of manual testing.
Automation Testing
• Automation testing mainly helps
integrate and align the existing
workflows, manage test automation
framework, test runs and setup, review
and validate defects and test results,
and more. In addition to that, it also
carefully monitor flaky tests and provide
a rapid response if needed.
Compatibility testing
• Compatibility testing is a type of non-functional
testing that helps ensure that the mobile
application works properly across various
operating systems, devices, network
environments, and specific internal hardware
specifications. To capture a larger audience,
performing compatibility checks is quite
important.
• There are two types of compatibility checks,
backward compatibility, and forward
compatibility. Backward compatibility checks are
done to test whether the app works in older
software versions. On the other hand, forward
compatibility checks help us learn the behaviour
of an app in newer software versions, including
the beta version.
Localization testing
• Localization testing is important for
apps that target audiences from specific
geolocation. It helps in testing features
that change with the geographic
location of the mobile application.
• In addition to that, localization testing is
also crucial in testing the language-
changing feature based on different
geolocations. The app should adapt to
different languages based on a user’s
location. Customer acquisition becomes
easy if the app adjusts its UI/UX, culture,
and accessibility based on a user’s
location.
Installation testing
• Installation testing checks whether a
mobile app can be installed and
uninstalled properly and without any
error. On top of that, installation testing
also ensures that any updates can be
installed seamlessly too. It also checks
that the outcomes don’t change if a user
decides not to update an app.
Memory leak testing
• Memory leak testing helps a QA
engineer identify if a mobile application
fails to return the temporary memory,
which it uses to function properly. The
app cannot function as planned if it
drains the existing memory in a mobile
device. In case of a memory leak, an app
can even face termination when open
and closed multiple times. Memory leaks
usually occur if there is a bug in
programming. Testers can check the
memory capabilities of an app by
running it on multiple devices
simultaneously.
Speed testing
• Speed testing ensures that the app
opens up quickly compared to its
previous version and competitors’ apps.
Speed testing is slightly different from
performance testing. Speed testing is
done in an ideal working environment,
whereas performance testing is done to
check the behaviour of an app in
different working conditions.
Other kinds of testing
• Service testing
• Interface Testing
• Low level Resource Testing
• Payments Testing
• Security Testing
• API Testing
Mobile Testing Process
• Step 1) Planning and Preparation
• Step 2) Classify the types of testing
• Step 3) Preparation of the test case and the script design
• Step 4) Environment Set up for Testing
• Identify the types of testing
• Manual and Automated testing
• Beta Testing
• Performance test
• Browser testing
Web and Mobile testing
• Mobile apps need to be tested on a wider range of devices and should function across different
channels. However, their reliability stands in contrast to that of web applications.
• For mobile apps, testing procedures must be applied across various environments, conditions, and
configurations. It requires the adoption of different testing methods.
• Mobile app testing is distinct from web app testing, requiring tests on real devices to meet real-world
user needs. It involves validating intuitive gestures like swiping and zooming to ensure a smooth user
experience.
• Testing must cover the spectrum of mobile apps, from native to hybrid, across various devices, including
tablets and smartwatches, to ensure compatibility.
• Additionally, mobile testing addresses specific challenges such as limited storage, diverse connectivity,
and varied user interactions, ensuring consistent app performance in all conditions.
Significance of Mobile Testing
• Mobile application testing is essential because the millions of users can use a specific
product. If there is a bug in the product, that product will not be accepted by the client.
The bug in the product can be the loss of memory, legal issue, and the irreplaceable
damage in the image.

MobileApplicationTestingTypeofMobileapps.pptx

  • 1.
  • 2.
    Topics covered • Whatis mobile app testing? • Importance of Mobile Testing? • Challenges in Mobile Testing • Types of Mobile Applications • Types of Mobile Testing • Mobile Testing Process • Web and Mobile testing • Significance of Mobile Testing
  • 3.
    What is MobileApp Testing? • Testing of an app for its functionality, useability and performance on a mobile device. • To Verify if mobile apps are working as intended. • To verify if apps meet end user needs. • Can be done through manual and automated ways.
  • 4.
    Importance of MobileTesting • Mobile users have increased with over 6.65 billion smartphone users worldwide. • Mobile apps have become an integral part of our daily life, businesses. • Mobile apps have many features to test. • Variety of mobile devices with many fragmentation, screen size, etc.
  • 5.
    Challenges in MobileTesting • Device and OS fragmentation: Testing across various devices and operating systems. • Network variability: Ensuring consistent performance across different network conditions. • User interface consistency: Maintaining a uniform experience on diverse screen sizes and resolutions. • Security vulnerabilities: Protecting sensitive data and ensuring robust security measures. • Adaptability to updates: Keeping up with frequent operating system and app updates.
  • 6.
    Types of MobileApplications • 1. Native Apps • 2. Web Apps • 3. Hybrid Apps • 4. Progressive Web Apps
  • 7.
    Native Apps • Developedfor specific platforms. e.g. iOS, android. • Developed in native language. • Android apps are developed using java and iOS are developed using objective C. • Are published in App Store or Play store. • Examples:
  • 8.
    Native Apps Pros • BestPerformance • More secure • User interactive • Have access to full features of device. Cons • Developed for single platform. • Expensive
  • 9.
    Web Apps • UseWeb Browsers like Chrome. • Need not to install . • Less interactive • Websites designed for Mobile phones. • Developed using HTML, CSS, JavaScript
  • 10.
    Web Apps Pros • Easyto develop • Easy to maintain • Cheaper than native and Hybrid Apps. • Works on all platforms Cons • Poor User experience • Slow Performance • less interactive with device utilities
  • 11.
    Hybrid Apps • Combineelements of both native and web apps using single codebase to run on multiple platforms. • They are deployed on containers that uses mobile view object.
  • 12.
    Hybrid Apps Pros • Cheaperto maintain • Easy to develop • Fast development due to single codebase. • Have access to features of mobile device. Cons • It is slower compared to native apps • These are less interactive than native apps.
  • 13.
    Types of MobileTesting Functional Testing: • Functional testing focuses on testing the primary objective and flow of an application. It helps in verifying the features and specifications of an app. Moreover, functional testing is primarily done to check whether the buttons, boxes, icons, menus, etc., are working accurately, push notifications are rendering correctly, and transactions (if any) are happening seamlessly in the app.
  • 14.
    Usability Testing: • Usability testingor user experience testing is done to check the user-friendliness of a mobile app. Among all types of mobile testing, the usability testing type is the only one that focuses on human experience and not the technicalities of an app. • Moreover, usability testing of an app is done on a real mobile device rather than on an emulator. Here, a tester checks various scenarios by mimicking the actual end-user using the app for the first time. Based on her experience, she gives feedback to the project manager, designer, or developer to update the app accordingly.
  • 15.
    Performance Testing • PerformanceTesting is done to check a mobile application’s stability, responsiveness, and speed in different workload conditions. It helps to ensure that an app does not malfunction in any given condition or scenario.
  • 16.
    Interruption Testing • Whileusing a smartphone, any type of interruption is inevitable. Interruption testing ensures that the app works perfectly fine in case of certain interruptions, such as getting a phone call, text message, push notifications, alarms, lower network connectivity, low battery, plugged out or in when charging, and more • QA engineers usually forget to test the application when the phone updates the OS or the app itself.
  • 17.
    Manual Testing • Manualtesting is one of the oldest yet one of the most effective methods of testing a mobile application. Manual testing can help navigate through the complexity of a mobile application. It helps to ensure that the mobile app built for the final release works according to the developer’s and user’s expectations. It is useful to test for scenarios that don’t come naturally to a user. Physical interface tests, complex tests, and exploratory tests are some of the types of manual testing.
  • 18.
    Automation Testing • Automationtesting mainly helps integrate and align the existing workflows, manage test automation framework, test runs and setup, review and validate defects and test results, and more. In addition to that, it also carefully monitor flaky tests and provide a rapid response if needed.
  • 19.
    Compatibility testing • Compatibilitytesting is a type of non-functional testing that helps ensure that the mobile application works properly across various operating systems, devices, network environments, and specific internal hardware specifications. To capture a larger audience, performing compatibility checks is quite important. • There are two types of compatibility checks, backward compatibility, and forward compatibility. Backward compatibility checks are done to test whether the app works in older software versions. On the other hand, forward compatibility checks help us learn the behaviour of an app in newer software versions, including the beta version.
  • 20.
    Localization testing • Localizationtesting is important for apps that target audiences from specific geolocation. It helps in testing features that change with the geographic location of the mobile application. • In addition to that, localization testing is also crucial in testing the language- changing feature based on different geolocations. The app should adapt to different languages based on a user’s location. Customer acquisition becomes easy if the app adjusts its UI/UX, culture, and accessibility based on a user’s location.
  • 21.
    Installation testing • Installationtesting checks whether a mobile app can be installed and uninstalled properly and without any error. On top of that, installation testing also ensures that any updates can be installed seamlessly too. It also checks that the outcomes don’t change if a user decides not to update an app.
  • 22.
    Memory leak testing •Memory leak testing helps a QA engineer identify if a mobile application fails to return the temporary memory, which it uses to function properly. The app cannot function as planned if it drains the existing memory in a mobile device. In case of a memory leak, an app can even face termination when open and closed multiple times. Memory leaks usually occur if there is a bug in programming. Testers can check the memory capabilities of an app by running it on multiple devices simultaneously.
  • 23.
    Speed testing • Speedtesting ensures that the app opens up quickly compared to its previous version and competitors’ apps. Speed testing is slightly different from performance testing. Speed testing is done in an ideal working environment, whereas performance testing is done to check the behaviour of an app in different working conditions.
  • 24.
    Other kinds oftesting • Service testing • Interface Testing • Low level Resource Testing • Payments Testing • Security Testing • API Testing
  • 25.
    Mobile Testing Process •Step 1) Planning and Preparation • Step 2) Classify the types of testing • Step 3) Preparation of the test case and the script design • Step 4) Environment Set up for Testing • Identify the types of testing • Manual and Automated testing • Beta Testing • Performance test • Browser testing
  • 26.
    Web and Mobiletesting • Mobile apps need to be tested on a wider range of devices and should function across different channels. However, their reliability stands in contrast to that of web applications. • For mobile apps, testing procedures must be applied across various environments, conditions, and configurations. It requires the adoption of different testing methods. • Mobile app testing is distinct from web app testing, requiring tests on real devices to meet real-world user needs. It involves validating intuitive gestures like swiping and zooming to ensure a smooth user experience. • Testing must cover the spectrum of mobile apps, from native to hybrid, across various devices, including tablets and smartwatches, to ensure compatibility. • Additionally, mobile testing addresses specific challenges such as limited storage, diverse connectivity, and varied user interactions, ensuring consistent app performance in all conditions.
  • 27.
    Significance of MobileTesting • Mobile application testing is essential because the millions of users can use a specific product. If there is a bug in the product, that product will not be accepted by the client. The bug in the product can be the loss of memory, legal issue, and the irreplaceable damage in the image.