Mobile Application Testing
Created By : Ankit Shah
●
Importance of Testing
●
Mobile Application Testing Strategy
●
Mobile Application Testing in an Agile
World
●
Key Challenges in Mobile Application
Testing
Why is Software Testing Important ?
●
Chances of Failure
●
Loss of Time & Money
●
Damage to business reputation
●
Injury or death
Mobile Application Testing Strategy
Mobile Application Testing Strategy
●
Functionality Testing : Functional
testing ensures that the application is working
as per the Functionality requirements
●
GUI Testing (UI/Design) :
1)Verify that design of the mobile app is as per
the mockup (User Experience)
2)Verify navigation of the application
3)UI consistency
4)Where the application is designed to work on
multiple devices it must be able to display
correctly on differing screen sizes
●
Performance Testing (Load & stress testing)
1)Verify mobile app behaves gracefully under
heavy load (Application check when more
application running in background)
2)Verify perfomance of the mobile app when
Mutiple user login with same time
●
Network Testing :
1)Verify the behavior of application
when there is Network problem and
user is performing operations for data call
2)Verify that user is able to establish
data call when Network is back in
action
3)Impact of Connectivity Issues
4)Checking app in Wi-Fi, 2G, 3G
5)Verify message when network not
available or deivce in airplane mode
●
Interrupt Testing :
An application while functioning may face
several interruptions like incoming calls or SMS.
The different types of interruptions are:
●
Incoming and Outgoing SMS and MMS
●
Incoming and Outgoing calls
●
Incoming Notifications
●
Media Player on/off
●
Transfer data via Blutooth
Compatibility Testing :
●
Cross platform compatibility on mobile
Operating systems
●
Device Model Compatibility
Interface Testing :
Check if all the interactions between these
servers are executed properly. Errors are handled
properly. If database or web server returns any
error message for any query by application server
then application server should catch and display
these error messages appropriately to users.
Security Testing :
●
Verifying the security of locally stored credentials
●
Checking that SSL certificates and signatures are
properly validated
●
Discovering insecure use of cryptography for
transmitting data or for local storage
●
Checking that automatic updates do not provide a
conduit for attackers to install arbitrary code
●
Verifying all sensitive information is removed after
uninstalling the app
●
Looking for unintended transmission of data, such as the
user’s phonebook when it is not required
Memory Testing :
●
Verify application work proper when device
memory low
●
Verify memory leakage problem
Orientation :
●
Verify that application works as expected in
supported orientation
●
Verify the application gui look proper according to
orientation
Camera interruption :
●
Run the Applicaiton and start the camera and
take one picture and then resume the app
Localization testing :
●
This test is based on the results of globalization
testing, which verifies the functional support for that
particular culture/locale.
●
To check Areas affected by localization, such as UI
and content
In app purchase Testing :
●
To verify application work proper after purchase
application
●
Verify restore purchase work proper when user
application download again
●
Verify if user update version of application that case
user not need to purchase previous feature again
Retesting :
Is a type of testing that is performed to check for the
functionality of an application by using different inputs
after the fix is done for the bugs that were recorded
during the earlier testing.
Is a type of testing that is performed on an application
to ensure that the new fixes made do not have any
sought of impact on the existing functionality. The
system is expected to perform normally as per the
requirement
Regression Testing :
What is Agile testing ?
●
Agile testing is a software testing practice that follows
the rules of the agile manifesto, treating software
development as the customer of testing.
●
Agile testing involves testing from the customer
perspective as early as possible, testing early and often
as code becomes available and stable enough from
module/unit level testing.
●
In this,testing is not phase.It is integrated into
Development & Testing
●
QA is not the last line of defense but involved at the
beginning of the project.
Automation Challenges in Agile Testing :
●
Short Iterations & Releases
●
Automation tools not designes for collaborative and
cross functional processes
●
Less time for documentation
Key Challenges in Mobile Application
Testing
●
Variety of Mobile Devices : Mobile devices differ in
screen sizes, input methods (QWERTY, touch,
normal) with different hardware capabilities.
●
Diversity in Mobile Platforms/OS : There are
different Mobile Operating Systems in the market.
The major ones are Android, IOS, Windows Phone
Each operating system has its own limitations.
Testing a single application across multiple devices
running on the same platform and every platform
poses a unique challenge for testers.
●
Mobile network operators :There are over 400
mobile network operators in the world out of which some
are CDMA, some GSM. Each network operator uses a
different kind network infrastructure ,so its provide
diffrent speed of internet
●
Frequently Requirement changes : Mobile apps
continuously evolve based on reviews & feedbacks for
delivering richer user experience or enhance
functionalities causing frequent changes in application.
Numbers of applications are launched into the market
daily with new features and designs and to cope up with
them more changes are proposed. And hence there is lot
of rework for developers and testers.
Mobile Application Testing Strategy

Mobile Application Testing Strategy

  • 1.
  • 2.
    ● Importance of Testing ● MobileApplication Testing Strategy ● Mobile Application Testing in an Agile World ● Key Challenges in Mobile Application Testing
  • 4.
    Why is SoftwareTesting Important ? ● Chances of Failure ● Loss of Time & Money ● Damage to business reputation ● Injury or death
  • 5.
  • 6.
    Mobile Application TestingStrategy ● Functionality Testing : Functional testing ensures that the application is working as per the Functionality requirements ● GUI Testing (UI/Design) : 1)Verify that design of the mobile app is as per the mockup (User Experience) 2)Verify navigation of the application
  • 7.
    3)UI consistency 4)Where theapplication is designed to work on multiple devices it must be able to display correctly on differing screen sizes ● Performance Testing (Load & stress testing) 1)Verify mobile app behaves gracefully under heavy load (Application check when more application running in background) 2)Verify perfomance of the mobile app when Mutiple user login with same time
  • 8.
    ● Network Testing : 1)Verifythe behavior of application when there is Network problem and user is performing operations for data call 2)Verify that user is able to establish data call when Network is back in action 3)Impact of Connectivity Issues 4)Checking app in Wi-Fi, 2G, 3G 5)Verify message when network not available or deivce in airplane mode
  • 9.
    ● Interrupt Testing : Anapplication while functioning may face several interruptions like incoming calls or SMS. The different types of interruptions are: ● Incoming and Outgoing SMS and MMS ● Incoming and Outgoing calls ● Incoming Notifications ● Media Player on/off ● Transfer data via Blutooth
  • 10.
    Compatibility Testing : ● Crossplatform compatibility on mobile Operating systems ● Device Model Compatibility Interface Testing : Check if all the interactions between these servers are executed properly. Errors are handled properly. If database or web server returns any error message for any query by application server then application server should catch and display these error messages appropriately to users.
  • 11.
    Security Testing : ● Verifyingthe security of locally stored credentials ● Checking that SSL certificates and signatures are properly validated ● Discovering insecure use of cryptography for transmitting data or for local storage ● Checking that automatic updates do not provide a conduit for attackers to install arbitrary code ● Verifying all sensitive information is removed after uninstalling the app ● Looking for unintended transmission of data, such as the user’s phonebook when it is not required
  • 12.
    Memory Testing : ● Verifyapplication work proper when device memory low ● Verify memory leakage problem Orientation : ● Verify that application works as expected in supported orientation ● Verify the application gui look proper according to orientation
  • 13.
    Camera interruption : ● Runthe Applicaiton and start the camera and take one picture and then resume the app Localization testing : ● This test is based on the results of globalization testing, which verifies the functional support for that particular culture/locale. ● To check Areas affected by localization, such as UI and content
  • 14.
    In app purchaseTesting : ● To verify application work proper after purchase application ● Verify restore purchase work proper when user application download again ● Verify if user update version of application that case user not need to purchase previous feature again
  • 15.
    Retesting : Is atype of testing that is performed to check for the functionality of an application by using different inputs after the fix is done for the bugs that were recorded during the earlier testing. Is a type of testing that is performed on an application to ensure that the new fixes made do not have any sought of impact on the existing functionality. The system is expected to perform normally as per the requirement Regression Testing :
  • 17.
    What is Agiletesting ? ● Agile testing is a software testing practice that follows the rules of the agile manifesto, treating software development as the customer of testing. ● Agile testing involves testing from the customer perspective as early as possible, testing early and often as code becomes available and stable enough from module/unit level testing. ● In this,testing is not phase.It is integrated into Development & Testing ● QA is not the last line of defense but involved at the beginning of the project.
  • 18.
    Automation Challenges inAgile Testing : ● Short Iterations & Releases ● Automation tools not designes for collaborative and cross functional processes ● Less time for documentation
  • 20.
    Key Challenges inMobile Application Testing ● Variety of Mobile Devices : Mobile devices differ in screen sizes, input methods (QWERTY, touch, normal) with different hardware capabilities. ● Diversity in Mobile Platforms/OS : There are different Mobile Operating Systems in the market. The major ones are Android, IOS, Windows Phone Each operating system has its own limitations. Testing a single application across multiple devices running on the same platform and every platform poses a unique challenge for testers.
  • 21.
    ● Mobile network operators:There are over 400 mobile network operators in the world out of which some are CDMA, some GSM. Each network operator uses a different kind network infrastructure ,so its provide diffrent speed of internet ● Frequently Requirement changes : Mobile apps continuously evolve based on reviews & feedbacks for delivering richer user experience or enhance functionalities causing frequent changes in application. Numbers of applications are launched into the market daily with new features and designs and to cope up with them more changes are proposed. And hence there is lot of rework for developers and testers.