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.
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:
1. Some 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.
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
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