Mobile App's Testing Basics

Introduction To Mobile Apps Testing 

Before going to Mobile app testing let us discuss what are the different kinds of apps available in the market and the technologies used to build them.

There are three kinds of mobile apps 

Native app, Hybrid app and Mobile websites

Brief  description on above app's

Native Apps: 1. It's an application developed for a particular mobile operating system and can be downloaded from the particular app store.
                 
Android app's can be downloaded from Android Play Store https://play.google.com/store

IOS app's can be downloaded from IOS App Store  https://itunes.apple.com/us/genre/ios/id36?mt=8

Windows app's can be downloaded from Windows Play Store i.e Microsoft Store https://www.microsoft.com/en-in/store/apps/windows


Hybrid Apps: Hybrid apps are combination of native and web view. Its built upon HTML5 and UI is compatible with most of the devices 

Mobile Web applications: Runs directly on mobile browser. This is same as opening Web application on your laptop browser but size will be adjusted according to types of mobile screens and Operating systems.

Difference Between Native and Hybrid app's

Native Apps:

1. These are the apps developed for a particular operating system and developed using respective SDK

2. Runs on Smartphones of different operating system.

3. Developed using platform technology tools and languages.

        ANDROID APP : Developed using android SDK tools; java, eclipse/Android Studio
        IOS APP : Developed using IOS SDK tools; Xcode and Objective-C
        WINDOWS App : Developed using Visual Studio and C#
            
4. Most of the time native app's does not need internet. Ex: Games like Subway-surfers, Candy-crush

5. Development cost will be high.

6. More difficult to code as app might crash.

7. Very Good user experience.

8. Performance of app will be faster.

9. Inbuilt apps of mobile phones can be integrated easily into native apps 
                
Ex: 1. If you are using any e-commerce apps like Flipkart or Amazon,
          you can easily integrate location feature to find your location. 
       2. Photo editing apps like corel draw can access your camera by integrating it to the app.
 
Hybrid Apps:

1Some inbuilt apps feature cannot be integrated on hybrid apps

2. It will be combination of Native and Web View
 
     Ex: Flipkart combined with browser for payment

3. User experience will not be good compared to native apps

4. Slower performance compared to native apps

5. Development cost will be less
    
Mobile Web Applications :

1. This is a Single app available for any platform using native container and coded using web language

2. Runs on Smartphones of different operating system and browser.

3. Developed using languages like HTML, CSS, Javascript and WFURL

4. Code will not be difficult

5. User experience will not be good compared to native apps and Hybrid.

6. Apps need internet all the time.

7. Slower performance 

8. Design and Graphics will be less

9. Inbuilt apps feature cannot be integrated 

     Ex: Camera cannot be accessed when we access www.flipkart.com

Native app and Hybrid apps has their own advantages and disadvantages

1. Native app's has more chance of crashes

2. Native app's should be built for each operating systems

3. Native apps can be built once and operate

4. Hybrid App has security issue (Ex: Doing payment on App)

Mobile App Testing

Brief difference between mobile app testing and Web applications testing.

Mobile apps and Web applications have their own specific testing techniques and some of them are similar. 

As we know, Desktop applications run on different browsers and Mobile apps run on different operating systems. Functional testing, Compatibility testing, Boundary value analysis, System testing, Cookie testing, Smoke testing and Sanity testing are same on both. 

Ex:
1. Functional Testing is testing Login page on mobile apps and website.

2. Compatibility Testing is testing Web applications on different browsers and Mobile apps on different screen size and on OS
 
3. Boundary values is testing boundary values of username and password, both on Web application and apps is same.
 
4. System Testing is testing calendar in both web and mobile.

Except above there are many mobile apps specific testing techniques

Installation Testing: Try to install the app on device using different sources like memory card, cloud and observe how much time app takes to install on device and any lag in installation and after installation. Certain apps comes by pre installed on devices.

Uninstallation:  Uninstall the app using different types, from settings or uninstall it by drag and observe if process goes fine without any lag.

Network Interruption Testing: To perform this technique we need 2G/3g/4G/WIFI networks
Execution of test: Connect your mobile to 2G network. Launch the app and perform a functionality and make sure that nothing breaks.
                                                 
Common Issue we can find on 2G Network is app crash and page loading issues.

Keep open the app and observe how app behaves when you get incoming calls/SMS/Notification/while running some apps in background.
Responsive UI Testing: Open the app in portrait mode and observe there is no break in UI.
Open the app in landscape mode and observe that there is no break in UI.
                       
Performance Testing: Observe how app behaves in low/high battery condition, Low memory condition, when simultaneous users use the app.

Security Testing: Test apps for vulnerabilities and authentication.
Ex: When you try to login in to website with same credentials used for app, Session should be closed and automatically logout 

Location Testing: Automatic location selection based on location you are in.
Ex : Your app location is set to City A and once you move to City B, either it should auto detect your city or ask user to select location.

Accessibility Testing: This can be done by changing the text size and color of device.

How App push notification works 

1. App need to be registered to recive push notification in Apple push notification center.
2. Operating System will ask Apple push notification center for a device token 
3. App receives device token for APNS
4. App will send token to our server
5. Our server send back device token to apple push notification center
6. Apple push notification center sends push notification to our app        


Continued..      
                                 

                 
              




              









Comments

>>-----=> said…
Nice article. Waiting more of this kind