Mobile testing
Audience
If you are a quality assurance engineer having interest in mobile device testing as well as mobile device application testing, this blog will turn out to be a helping guide.
Prerequisites
A reader should know basic software testing concepts such as test planning, black-box testing tricks, etc. In addition, it will help a great deal if the reader is familiar with any scripting languages, for example, JavaScript.
Before we start, let’s have some fun. Take a look at the following list. You can easily relate to these essential chores that we invariably have to face in today’s busy and hectic lifestyle ?
- I want to pay my electricity bill.
- I need to communicate with my manager and submit my reports urgently.
- I want to buy new clothes for my kid, but I don't have the time to go to a store.
- Oh...it's 10 PM; I am running late for my flight. Where is my cab?
- I have been in this city for the first time; which hotel should I book?
Now answer yourself. What do you need to perform these activities in a fraction of second? The answer would be ?
- A smartphone,
- Internet connectivity, and
- A mobile app to do the job.
This makes us realize the importance of a mobile app in today’s era. Everything is being done in a smart way through your smart phone. Each day, we get to know about a new app or tool being launched to ease our life.
Before jumping on to mobile testing, it's advisable to understand the basics of mobile platforms. It mainly includes the operating system of the mobile, type of the device, and type of the mobile app. Having sufficient knowledge about each of these will help us conduct robust test planning in the long run.
Mobile Operating Systems
The following table gives an overview of some of the popular mobile operating systems available in market ?
OS Developed by Popularity Latest available version
Android Google Inc High Lollipop, Android 5.0-5.1
iOS Apple Inc High iOS 8.X
Blackberry Blackberry Ltd Low Blackberry 10.2.1
Windows Microsoft Inc Medium Windows 10 Mobile
Symbian Symbian Foundation Low Discontinued
Based on some generic survey, the usage of different operating systems in the market can be depicted as shown below.
Mobile devices are typically handheld computers. They have many variants based on their characteristics such as physical dimension, hardware and software capability, what are they meant for, etc.
Take a look at the following table. It differentiates tablets, e-book readers, and smartphones based on their characteristics.
DeviceTabletsE-book ReadersSmartphonesWhat it isTablets are portable computer devices. Unlike traditional computers, they don’t have keyboards or mouse, however the entire screen is touch sensitive.E-book readers—also called e-readers—are similar to tablet computers, except they are mainly designed for reading e-books (digital, downloadable books).A smartphone is a powerful mobile phone that is designed to run a variety of applications in addition to providing phone service.Used forAlmost all the jobs which we can do with traditional computers or desktops.Reading e-booksWeb browsing, watching videos, reading e-books, and playing gamesExampleSamsung TabletsAmazon Kindle, Barnes & Noble Nook.Sony smartphones, Samsung smartphones, Apple iPhone.
A critical factor that you have to consider while doing test planning is checking the Mobile Application type. You will mainly come across three types of mobile applications: Mobile Web, Native App, and Hybrid App. The classification is based on the development efforts and App redistribution strategy. Let's understand each of them in detail.
Mobile Web
Web apps are not real applications; they are actually websites that open in your smartphone with the help of a web browser. Mobile websites have the broadest audience of all the primary types of applications.
- Example ? Tutorials Point
- Benefits ?
- Easy access.
- Easy Development ? Developing responsive design and restructuring the content to be properly displayed on a smaller screen/hardware will make any desktop website mobile friendly.
- Easy update ? Just update in one location and all the users automatically have access to the latest version of the site.
- No installation required, as compared to native or hybrid app.
- Downside ?
- Mobile websites cannot use some of the features. For example, access to the file system and local resources isn’t available in websites.
- Many existing websites don’t support offline capabilities.
- Users won’t have the app’s icon on their home screen as a constant reminder. The website needs to be opened in a web browser only.
- While native and hybrid apps appear on the App Store and Google Play, web apps won’t. So redistribution is not that sensible.
Native App
A native app is developed specifically for one platform. It can be installed through an application store (such as Google Play Store or Apple’s App Store).
- Example ? Whatsapp, Facebook.
- Benefits ?
- Native Apps live on the device and are accessed through icons on the device home screen.
- They can take full advantage of all the device features ? they can use the camera, the GPS, the accelerometer, the compass, the list of contacts, and so on. They can also incorporate gestures (either standard operating-system gestures or new, and app-defined gestures).
- Native apps can use the device’s notification system and can work offline.
- Publishers can make use of push-notifications, alerting users every time a new piece of content is published or when their attention is required.
- Native Apps maintain UI design of each operating system, thus they offer the best user experience. For example, a Native App can have a left-aligned header in Android and a center-aligned header in iOS.
- Redistribution is easy, as it is found in app store.
- Downside ?
- High cost for building the app : Native apps developed for one platform will not run on another platform. An App built for Android will not run on iOS. We need to build a different App altogether for iOS. Because of this reason, we need to maintain multiple versions of the App.
- Even though you might publish native Apps, you’ll want to keep the mobile website well maintained, as mobile brings more traffic. So maintenance is higher.
Hybrid App
Hybrid Apps are a way to expose content from existing websites in App format. They can be well described as a mixture of Web App and Native App.
- Example ? Instagram, Wikipedia.
- Benefits ?
- Developing a Hybrid App is cheaper than developing a Native App. It can be built for cross-platforms, i.e., reduced cost for App development.
- Maintenance is simple, as there are not many versions to be maintained.
- It can take advantage of a few features available in the device.
- It can be found in the App Store, which makes the distribution easy.
- It has a browser embedded within the app only.
- Downside ?
- Graphics are less accustomed with the operating system as compared to Native Apps.
- Hybrid Apps are slower than Native Apps.