The mobile boom is obvious and it is pretty clear they are here to stay. The smart-phones are rapidly becoming the primary method of interaction for consumers and businesses worldwide, with thousands of app being generated each day. Mobile goes beyond smart-phones and tablets. Apps are now being incorporated into cars, wearable tech and home appliances
The phenomenal growth of mobile devices has opened up avenues for organizations to integrate them into the computing environment. Today’s mobile applications deliver complex functionality on platforms that have limited resources for computing. Diversity presents unique challenges that require unique testing strategies.
What will you learn in this article?
In continuation with the detailed and quite insightful article Beginner’s guide to Mobile Testing, we will here understand the various challenges which are faced when performing mobile testing and what are the current solutions available in the market to tackle them all.
According to the Cap Gemini Quality Report (Mobile Testing), 18% of responding companies say that they do not have enough time to test mobile apps, and 65% do not have the right tools. Also, 52% cite lack of devices as a reason not to do mobile testing. These all are real-time challenges faced by the organizations to successfully perform mobile testing.
Fig 1 – Challenges to mobile testing
Let us in here, list and understand one by one the real-time challenges for the mobile testing:
What You Will Learn:
#1 Multitude Mobile Devices
Over 500m Android devices shipped since Android 1.0, about 220m iOS devices have been shipped since 2007. These huge number of mobile devices availability ranging from handsets to smartphones, to tabs, to pads and wearable tech provides a huge diversity of environments which your mobile app faces.
Further, the quality team cannot guarantee that if a tested application works well on a given device, it will work 100% on another device even if it’s from the same product family because the screen resolution, CPU, Memory, OS optimization and hardware could be different.
Fig 2 – Number of Devices for testing mobile apps
The question to ask in here is, “Whether testing on 5-8 devices is enough? The answer is “Yes”if reaching only 25% of the customer base is “OK” for your CEO.
#2. Device Fragmentation & Various OS Platforms
Perhaps the most difficult aspect of the mobile testing matrix is device fragmentation. Though the iOS device matrix is growing more than ever, fragmentation is especially an issue for the Android operating system. Take, for example, the image below-
(Click on images to enlarge)
Fig 3 – Devices and OS platforms
This is a data chart by OpenSignal of nearly 12,000 separate Android device models encountered in July 2013. (In comparison, the same chart from 2012 found nearly 4,000 devices.) If you’re concerned with quality on cross-platform apps, you’ll encounter a similarly complicated matrix. Although less daunting than the hardware matrix, the variety of mobile operating systems also poses a challenge for engineering teams whose goal is to provide a consistent user experience across platforms.
Mobile application testing is also challenging, due to compatibility issues as a mobile application can be deployed across devices which have different-
- Operating systems like iOS, Android, Blackberry, Windows etc.
- Versions of an operating system such as iOS 4.X, iOS 5.X, BB 4.X, 5.X and 6.X.
#3. Different Mobile App Types
A mobile app can be a native app, a web app or a hybrid app which has both contents. Testing of each such app type is different than another as their implementation is quite different from one another.
Fig 4 – Types of mobile apps
As we see each app behaviour from installation to functionality is different from one another, we understand that their testing and test coverage will also be different. For more details on it, you can refer to the Beginner’s guide to Mobile Testing
#4. Numerous Test Interfaces
Mobile emulators and simulators are the important testing tool and they enable us to verify general functionality and perform regular regression testing. The very character of emulators and simulators means testing is being conducted in an environment which is not real.
The advantages of such tools are limited in scope, and should never be considered a substitute for real-world. Using emulators and simulators in tandem with in-the-wild testing will give you the best results.
#5. Variety of Testing Tools
Summarizing the daunting complexity of mobile test automation, even more, daunting is the huge availability of mobile test automation tools in the market. Free/Paid. For native app or web app? For Android or for iOS, so which is the one automation tool for your mobile test automation needs, or the question is – Is there a single tool for our Mobile Test automation needs?
Fig 6 – Mobile test automation tools
So what is that ideal solution for your mobile testing needs? What are the different measures you ought to take up? Let us have a look at some of them –
#1. Mobile Test Lab
If your mobile test needs are immense and often, a good idea is to invest in creating your own mobile test lab.
Or one can as well look for solutions to hire an external test lab or explore the cloud mobile lab solutions. Many companies have already started venturing into it. Some of the websites of these companies are –
Mobile App Testing Labs in Secure Private Cloud:
One ought to create a proper sampling of effective mobile device availability which appropriately covers the larger segment of the variety needed. You are required to have this lab to ensure that you have not simply tested your app on an emulator or simulator but on the actual real device. Also, you have catered well the variability of OS, device type, fragmentation, screen, memory and other factors which can impact your application functioning on the mobile device.
#2. The Right Testing Solution
So what exactly are you looking for in the mobile testing solution? An IDE so that scripting is reduced, a keyword-driven approach so that even manual testers can effectively use it, integration with a mobile cloud to help you overcome device challenges, a tool which helps you identify object both based on property and on an image as well. Many solutions are available in the market- Robotium, Appium, Calabash from open source, and in commercial – eggplant, perfecto etc.
Below given is a comparison table, taken from an informative blog, to help you understand the features available with tools-
(Click on images to enlarge)
Table 1 – Mobile Test automation solutions comparison
The above article is an extension to the beginners, where the aim was to specifically highlight the real-time challenges faced in the world of mobile testing, and present a comparison matrix of these solutions to help the tester make an informed choice about the approach and solution for their mobile test needs.
About the author: This is a guest article by Pallavi Sharma. With overall 9 years of professional experience, she is in the software testing field for the last 7.5 years in the domain of functional, non-functional testing and automation tools like Webdriver, QTP, Sahi, Watir, SoapUI, openSTA, and RPT. Now she is handling lead and project management roles of varied teams following the SCRUM methodology.
In our next article, we will discuss more on Why Mobile Testing is Tough?