mobile application testing strategy

Post on 30-Nov-2014

644 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

its very helpful for mobile application testing

TRANSCRIPT

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.

top related