Our Engineers can Write as well
The Basics of Mobile Application Testing
In this mobile era, the launch of a new mobile device or an app is no more a “Breaking News”. According to the popular site statista.com, the number of mobile phone users in the world is expected to pass the five billion mark by 2019. China and India together are expected to contribute more than 2.6 billion mobile connections out of it.
Interestingly, the site also states that most of the mobile market growth can be attributed to the increasing popularity of smartphones and smartphone users are expected to reach a staggering 2.7 billion by 2019!
As the world goes mobile, the heat is now on the people behind all those inno-fabulous devices and apps. Mobile software/hardware designers, developers and testers are now constantly under pressure to remain relevant and keep up with the changing scenarios as consumers become more demanding and technology rapidly changing.
Given the background, we decided to bring a series of blogs in mobile technology and we encourage readers to make the most out of our tips on technology and usage. First in the series is the one explaining the basics of mobile app testing.
Before we proceed, let’s recollect that an application may be a categorized as:
- Web Application – A web application that is designed for use in desktop browsers only.
- Mobile Native Application – A stand-alone application which can be used in smart devices only.
- Mobile Enabled Web Application – A web application that is also designed for mobile browsers.
- Hybrid Application – An application combines the features of native and web applications.
Whatever type these apps may be, once designed and coded, they need to successfully clear the testing phase which involves rigorous testing on various parameters and business scenarios.
It is to be noted here that Mobile Testing Automation is still in its nascent stage irrespective of the number of tools available as it comes with a unique set of challenges arising out of varied usage in different devices operating on different versions of platforms connected through several types of networks. Perhaps, that’s the reason Mobile App testing is complex and needs exclusive expertise and experience.
When the fundamentals are strong, complexities can be addressed. Hence, let’s get to the basics of Mobile App testing. Please note that, though the QA process workflow looks similar, the parameters and scenarios differ for mobile apps.
To start with, find below the various type of testing involved in the mobile app design and development process.
- Functional Testing
- UI / UX Testing
- Platform Compatibility Testing
- Installation Testing
- Non-Functional Testing
Consider “Facebook”, one of the most frequented apps on a mobile device. The main function of this social networking site is to connect people. A user can
a. Create a personalised account
b. Connect with other known and unknown FB users
c. Post messages, pictures on his/her wall
d. Personalize his/her wall and set privacy for data
e. Wish and get Wishes on special occasions
f. Set alerts/ reminders etc. and do much more such social activities.
These are the typical functions which Facebook wants to perform effectively, day on day basis for every user accessing their app not only through a desktop browser but also through mobiles of diverse sizes and technologies across geographies. Exhaustive Functional Testing makes this possible.
As the name goes, functional testing is the most basic testing performed to confirm that the functionality of an application or system is behaving as expected in accordance with the given specifications.
User Experience Testing:
Consider Facebook again. Providing the same kind of experience in terms of usability, desirability, findability, accessibility and credibility to a mobile Facebook user as against a desktop FB user is easier said than done but very crucial in this mobile era as more and more people are accessing the app on their mobile, on the go, anywhere and anytime.
Here’s where User Experience testing for mobile apps play a crucial role. It is carried out in the initial stages of app design along with UI testing to deliver superior experience to Mobile app users.
User Interface Testing:
Smart devices come in numerous sizes and resolutions operating on different platforms. How to ensure ease of use, great look and feel, consistency and responsiveness across all devices and for all platforms? By designing and building simple, intuitive, effective and engaging UX based User Interface designs which are exclusively built to suit functionalities of the given devices.
The phase which involves testing a mobile app for these aspects involving screen resolutions/ orientations, touch screens, hard & short keys and touchpads along with the other unique functionalities that a device may possess is called UI Testing. It is undertaken to deliver users’ ease of use, visually consistent and engaging experience, quick accessibility and satisfactory performance.
Platform Compatibility Testing:
Some of the popular platforms / operating systems for mobile devices include:
Android OS (Google Inc.)
iOS / iPhone OS (Apple)
Blackberry OS (Research in motion)
MeeGo OS (Nokia and Intel)
Bada (Samsung Electronics)
Windows Mobile (Windows Phone)
Symbian OS (Nokia)
Amongst these, Android OS and iOS platforms are the ones that dominate the market with dazzling design and inspiring features.
With such a background where smart phone users have access to a myriad possibility of devices and operating systems, it becomes primarily essential to check the performance and behaviour of the app across all or some key platforms/ operating systems.
This cross-platform performance analysis of an app is previewed under Platform Compatibility Testing. It helps developers identify issues related to consistency, user interface, usability and performance of app that may vary with different OS/platforms / configurations.
Testing a mobile app for smooth installation, uninstallation or updates on a given device is termed as Installation Testing. For instance, downloading Facebook from various online stores such as “App store “(Apple phones) or “Play Store” (Android Phones) successfully in the user devices irrespective of the brand, operating system or version’ used, highly depends on the initial Installation test run by FB.
It’s given that Functional testing is a must for an app to run successfully for the intended functions, yet it is also equally important to test the app for non-functional elements to have a knock-on effect on its overall performance.
The non-functional aspects of the mobile app testing may cover endurance testing, load testing, stress testing, security testing, scalability testing, volume testing and network resilience testing. Typically, during a QA process, non-functional elements are clearly defined and benchmarked right at the beginning of the wireframe to ensure a holistic testing environment delivering a defect-free mobile app into production.
To conclude, we have seen the major types of testing undertaken for validating a mobile application.
In the next blog, we will explore the manual testing methodologies applied to execute the above types of testing during designing and building a mobile app.
Software Testing Engineer