In this article we are going to turn to mobile testing. If you are a quality assurance engineer having interest in mobile device testing as well as in mobile device application testing, this article will turn out to be a helping guide. Nowadays mobile technology and smart devices are the trend and change the future of the world. The statistics show that people spend 52% of all time on digital media, on mobile apps, it is the clearest indication that businesses are making a generous amount of money via mobile apps usage. Mobile Testing is an important phase of mobile app’s development stage.
At first we need to understand how to test mobile apps.
There exists 3 types of mobile apps:
- Native apps:are created for use on a platform like mobile and tablets.
- Mobile web apps are server-side apps to access website/s on mobile using different browsers like chrome, Firefox by connecting to a mobile network or wireless network like WIFI.
- Hybrid apps are combinations of native app and web app. They run on devices or offline and are written using web technologies like HTML5 and CSS.
Let’s understand the differences between Mobile and Desktop app testing:
- On desktop, the application is tested on a central processing unit. On a mobile device, the application is tested on handsets like Apple, Samsung, Nokia, HTC etc
- Mobile device screen size is smaller than desktop.
- Mobile devices have less memory than desktop.
- Mobiles use network connections like 2G, 3G, 4G or WIFI where desktop use broadband or dial up connections.
- The automation tool used for desktop application testing might not work on mobile applications.
Mobile testing has some strategies. First we need to analyze the market and choose the devices that are widely used. This decision mostly relies on the clients. Second, we can use emulators. This is extremely useful during the initial stages of development, as they allow quick and efficient checking of the app.
Let’s discuss the mobile testing types and provide some examples:
- To validate whether all the required mandatory fields are working as required.
- To validate that the mandatory fields are displayed in the screen in a distinctive way than the non-mandatory fields.
- To validate whether the application works as per as requirement whenever the application starts/stops.
- To validate whether the application goes into minimized mode whenever there is an incoming phone call. In order to validate the same we need to use a second phone, to call the device.
- To determine whether the application performs as per the requirement under different load conditions.
- To determine whether the current network coverage is able to support the application at peak, average and minimum user levels.
- To determine whether the existing client-server configuration setup provides the required optimum performance level.
- To identify the various application and infrastructure bottlenecks which prevent the application to perform at the required acceptability levels.
The fundamental objective of security testing is to ensure that the application’s data and networking security requirements are met as per guidelines.
- To ensure that the buttons should have the required size and be suitable to big fingers.
- To ensure that the buttons are placed in the same section of the screen to avoid confusion to the end users.
- To ensure that the icons are natural and consistent with the application.
- To ensure that the buttons, which have the same function should also have the same color.
- To ensure that the validation for the tapping zoom-in and zoom-out facilities should be enabled.
- To ensure that the keyboard input can be minimized in an appropriate manner.
- To ensure that the application provides a method for going back or undoing an action, on touching the wrong item, within an acceptable duration.
- To validate that the user Interface of the application is as per the screen size of the device, no text/control is partially invisible or inaccessible.
- To ensure that the text is readable for all users for the application.
- To ensure that the call/alarm functionality is enabled whenever the application is running. The application is minimized or suspended on the event of a call and then whenever the call stops the application is resumed.
- Crash recovery and transaction interruptions
- Validation of the effective application recovery situation post unexpected interruption/crash scenarios.
- Verification of how the application handles a transaction during a power failure (i.e. Battery dies or a sudden manual shutdown of the device)
- The validation of the process where the connection is suspended, the system needs to re-establish for recovering the data directly affected by the suspended connection.
Testing Apple and Android devices is quite different. The QA engineer should be able to test on both OS-s and in order to perform it, first of all he should know only the differences which have an impact to his testing process.
For android Google Play is the main store to upload or download/install a new app. Each developer, follows some basic development rules, uploads his/her app in Google Play and the quality of the app is judged by its users. One can directly install the Android App using .apk file format without using Google Play. Apple’s iOS is distributed exclusively for Apple hardware. The installation process of a new iOS app under testing is not so easy, compared to that of Android. For an app which is already in the App Store, things are easy: Just open App Store, search for the app and install it from there. For a testing app which is not in the App Store (a beta version, for example), a tester must usually follow special instructions in order to achieve installation and sometimes the process is error-prone.
To summarize there are a lot of mobile testing strategies, lots of mobile testing types and different types of mobile apps.
Published by Lilit Vardanyan