Extending Test Automation to Mobile Applications

Organizations need to implement automated testing strategies designed specifically for mobile applications.

Mobile device usage continues to gain momentum at increasing speed. Enterprises that delay mobile adoption face the danger of becoming competitively disadvantaged. But, before jumping in headlong, you need to be fully aware of the unique challenges that can arise when developing and implementing mobile applications—and be fully prepared.

Compared to the desktop environment, mobile applications have quite different user interface (UI) requirements, business process flows, and infrastructure dependencies. Coupled with the growing variety of mobile devices and operating systems, increased strain can be put on IT to build, port and maintain mobile applications, and this heightens the risk of quality and performance problems.

Functional Validation

Potential glitches can be avoided by putting certain mobile applications through what’s sometimes referred to as ‘functional validation’. In simple terms, functional validation is a way of testing mobile applications to ensure that they do what they are intended to do based on testing concepts such as test asset management, collaboration, reusability, accurate reporting and analysis.

The majority of testing on mobile devices is currently done manually. The problem with manually testing mobile applications is lack of accuracy, coverage and scalability, Manual testing also has considerable associated costs, especially if an application needs to be retested multiple times to ensure development and quality.

While a test engineer can manually key in a handful of transactions, he/she cannot continuously test and monitor the connection for application availability or test for all possible scenario permutations. Additionally, a tester is not able to quickly identify problems, fix them, and rerun all the tests required to validate the fix.

Using actual devices for testing

Many industry experts argue against using handsets for testing in favor of using a browser or emulator for multiple reasons. However, in order to ensure applications function and perform, they must be tested on mobile handsets and there are several reasons ranging from the theoretical to the practical.

Usability testing

Usability testing on emulators and browsers with any extension do not represent what will be shown on the actual device. With Android specifically, emulated “vanilla” environments almost never represent the actual behavior of the phone as vendors tend to modify the “source code” of the handset and add their own customization layer.

Environment related testing

Environmental testing is critical. Mobile applications rely on the location, accelerometer and network. Simply put, the test cannot be done in a simulated environment.

Interoperability testing

A mobile handset “lives” in a communicated environment and behaves accordingly, meaning an incoming phone call always receives priority over any application in use. Testing scenarios to see what happens to an application when a phone call is received is critical, as this often an everyday occurrence.

Network-related testing

Proper network related testing must be conducted. You can’t assume an application developed for Vodafone in the UK will work on the Verizon network in the US. Network neutrality has not been integrated in the cellular world, which means testing must be done taking into account the need for users to navigate multiple carriers.

Security

Security is a hot-button issue with mobile users. People are concerned about personal data, such as bank account numbers that remain on handsets, or passwords being displayed on the screen. Testing for these types of security concerns in a simulated environment is not a good use of time because what is required to be tested is the behavior of the actual handset. Not all handsets have the same security designs, so each device must be individually tested.

Performance Validation

A second issue facing IT when it comes to mobile applications is the need for performance validation – applications must be validated to ensure performance expectations are met. It’s worth remembering that the user expectations from these applications may even be higher than those of their desktop counter-parts. Performance validation for mobile applications is therefore crucial and, at times, more complex than for desktop applications.

In addition to this, mobile applications are affected by mobile network conditions such as bandwidth limitations that are more pronounced than land-line networks. These restrictions may adversely affect the communication between a handset and the back-end servers.

In order to reach the large number of simulated users that will be accessing the tested application at any given moment, performance validation needs to be automated, which can be achieved through simulated users running on emulators and browsers. Without this kind of automation it is virtually impossible to create a realistic load on the application servers and infrastructure.

When replicating the appropriate network conditions you need to assure that a simulated mobile user experiences the same bandwidth throttling and network delays that a real mobile user would. In order to complete the test, real handsets executing the relevant business processes should be running parallel to the automated performance test. This will allow the end user experience to be measured while also testing the behavior of the application’s servers and infrastructure under load.

In Conclusion

Automated functional and performance testing has a proven track-record in desktop-based applications. It helps companies deploy higher-quality software applications, reduce business risk, and accelerate problem to resolution. This will ultimately help organizations avoid costly interruptions and errors. The growing demand for instant information, especially through mobile applications, should encourage organizations to adopt automated testing strategies and solutions that are designed specifically for their mobile application needs. 

Edward
Edward has worked at HP since 2007 is currently Sector Head—Retail and Consumer Goods at HP Software. His responsibilities include: the vertical transformation of the UK go-to-market strategy, sales execution for HP Software and to build a trusted, secure and vertically credible external perception of HPSW.
Gal Tunik
Gal Tunik explains the necessity of test automation in mobile applications, citing the unique challenges that that platform raises.

The Related Post

What you need to know to get started Introduction to mobile application testing Gone are the days when the telephone was an appliance that sat in a corner and had to ring to get our attention, or a computer was a machine only few people used — these devices are now an extension of our ...
Here’s some good news: Jonathan Kohl has a new book out titled Tap Into Mobile Application Testing. This is a Leanpub release and is still in Beta, but the beauty of buying through Leanpub – you get all the author updates as they make them! However I will be keeping an eye out for the print-on-demand ...
25% of Americans own a tablet. Up from 11% of U.S. adults in July of 2011 to 18% in January of 2012. – Pew Internet & American Life Project Nigeria has close to 100 million mobile phone lines, making it Africa’s largest telecoms market. – Nigerian Communications Commission Google plans to sell 200 million Android ...
Great mobile testing requires creativity to find problems that matter. I’d like to take you through the thought process of testers and discuss the types of things they consider when testing a mobile app. The intention here is to highlight their thought processes and to show the coverage and depth that testers often go to.
What you need to know in order to have effective and reliable Test Automation for your mobile apps I realized that Test Automation interfaces are pivotal to effective and efficient Test Automation, yet very few people trying to test their mobile apps seemed to know how their automated tests connected with the apps they wanted ...
LogiGear Magazine, September 2015: Mobile Testing
Users aren’t likely to forgive and forget buggy apps. Mobile has big implications for business. The mobile experience is the customer experience, and you don’t get many second chances.
A sampling of some free, online, and easy-to-use mobile device emulators that can help get you started with testing. ScreenFly A free, customizable tool to test your website on any screen size, including desktops, tablets, televisions, and mobile phones.
Strategies to Approach Mobile Web App Testing Mobile web technology has been continuously changing over the past few years, making “keeping up” challenging. In this article, Raj Subramanian covers the latest trends and changes happening in the mobile web and how testers can prepare for them.
This is the second part of a two part article that analyzes the impact of product development for the internet of things (IoT) on software testing.  Part one of this article (LogiGear Magazine, Sept 2014) gave a wide view on the IoT, embedded systems, and the device development aspects of testing on these projects. This ...
Testing appears to be the least popular topic in Android development circles based on the relatively few books on Android app testing. Most tend to focus on development because, unfortunately (but true), application testing isn’t be something most developers think much about, or if they do, they don’t do it systematically (I’m guilty of this ...
Don’t make the mistake of assuming too many similarities. It is common knowledge that mobile applications don’t function in the same way as their web-based counterparts. The user experience is affected by a few other factors such as device and network capability. If you are building out a performance testing strategy for your mobile website ...

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe