Connecting Test Automation to Specific App Features and Devices

Having the right Test Automation plan helps bridge gaps and fragmentations in the complex mobile environment.

Figuring out the best Test Automation plan is one of the biggest frustrations for today’s digital teams.

Organizations struggle to develop cross-platform Test Automation that can fit with their Continuous Integration cadence, their regression cycles and other elements of their software development lifecycle (SDLC).

On top of the known complexities associated with mobile environments such as the network, the various OS versions, competing apps, there’s also the growing disconnect between the application being tested, the Test Automation scripts and the device.

When an application vendor develops its Android or iOS app, usually the mobile app development team would mark in the property files what features it uses and supports (i.e. GPS, TouchID, Doze, etc.) and what permissions this app requires, such as HTTP connection, GPS and File system.

For the app developer, once these property files are developed, his role in defining the app capabilities is done — which now pushes the test responsibility to the testing teams.

The problem that now arises is, how do these testing teams associate the right test cases based on the app capabilities that are only supported by certain mobile devices?

The screenshot below is taken from a Google Android Developer guide. It’s an example of a line that would usually be in an application Manifest.MF file within the App.APK file. What it’s showing here is that this specific app would require the use of the phone’s camera – this will trigger the user to allow camera access in the app’s first launch post-installation.

While that’s a common case, what would a tester do in a case where the requirement is for TouchID, ForceTouch, Android Doze or Multi-Window (coming in next Android N release)?

These features would complicate the test scenarios and Test Automation because only specific devices and/or OS versions would support these new OS capabilities. Without automatically planning and knowing which test should be executed against which device/OS combination, there is simply no way to manage these tests in today’s mobile app landscape. As a result, many organizations will lean on manual testing as a way to overcome the test delta for newer features that are unique to device/OS combinations. But when this gap grows, test cycles slow down and if not addressed quickly, the balance between manual and automation tests weighs toward manual as more enhancements are introduced in the app.

Break the App-Device-Test Disconnect

The main point here is to continuously make sure that the Test Automation suite supports all app capabilities, and is able to be executed against the right mobile platforms based on all the supported capabilities. So how can you overcome this challenge? Continuing to add to your “manual testing debt” is definitely not a sustainable solution.

Development and testing teams should work together closely, especially when a new supported feature, permission request or other capability is added to the Android app Manifest.MF file (see example to the left) or Apple Info.plist files. Whenever this happens there should be a call to action that requires updating the test execution rules and redirecting existing or newly developed tests for the right devices and platforms.

There are a few ways of addressing this call-to-action:

  • Testing teams receive a new developer build with a change log (pointing to the manifest.mf and info.plist changes)
  • Testing teams validate that there are existing tests for the above changes

⇒ Exists –> OK

⇒ Doesn’t exist –> Implement delta related cases (see the Facebook example above)

  • Testing teams, including developers, are synced on the right target devices (smartphones, tablets, wearables) that match the new and older test cases
  • Schedule test execution with proper rules and redirections to the right devices

In the case of an Android app that supports TouchID within the app Manifest.MF

(uses-permission android:name=”android.permission.USE_FINGERPRINT” /)

the dedicated Test Automation script will only be targeted against Samsung Galaxy S7 as a supported device.

For an iOS application that would use ForceTouch or 3D Touch through the UIApplicationShortcutItems, the developer would typically identify which of the menu options will be exposed to the user for testing to make the test plan easier to frame and develop.

Keeping Test Automation, Apps and Devices Aligned

As mobile operating systems evolve and introduce new functionalities, Test Automation suites are expected to become more fragmented. In order to not lose any existing investment in automation and at the same time increase Test Automation coverage and reduce Manual Testing, it’s important to identify the test suite gaps in your automation and pinpoint the devices that support your unique app features.

By doing this, you’ll be able to synchronize your test elements, your apps being tested and the devices in your test lab.

It’s important to note that “test coverage” will be defined differently based on a company’s industry, its organizational maturity in the digital space and its application types (mobile web, responsive web and/or native apps).

Eran Kinsbruner
Eran Kinsbruner is the mobile evangelist at Perfecto and the author of The Digital Quality Handbook, as well as a monthly columnist at InfoWorld.com. He is a software engineering professional with nearly twenty years of experience at companies such as Matrix, Sun Microsystems, General Electric, Texas Instruments and NeuStar. He holds various industry certifications from ISTQB, CMMI, and others. Eran is a recognized mobile testing influencer and thought leader, as well as an experienced speaker in the major software engineering conferences. He is also a patent-holding inventor for a test exclusion automated mechanism for mobile J2ME testing, public speaker, researcher, and blogger. He can be found all over social media, including on Facebook, Twitter (@ek121268), LinkedIn, and his professional mobile testing blog.

The Related Post

Mobile testers need to take a different approach when it comes to Test Automation.
This is part 2 of a 2-part article series; part 1 was featured in the September 2020 issue of the LogiGear Magazine, and you can check it out here. Part 1 discussed the mindset required for Agile, as well as explored the various quadrants of the Agile Testing Quadrants model. Part 2 will delve into ...
Test automation can provide great benefits to the software testing process and improve the quality of the results…. but its use must be justified and its methods effective. The reasons to automate software testing lie in the pitfalls of manual software testing… As we all know too well, the average manual software testing program:
The following is a transcript of a May 7, 2008 interview with Hung Q. Nguyen, founder and CEO of LogiGear Corporation and coauthor of the best selling textbook Testing Computer Software. Interviewer: When it comes to software testing, what concerns or issues are you hearing from software developers? Hung Q. Nguyen: The most pressing concern ...
Bringing in experts can set you up for automation success. Test automation isn’t easy when your testing gets beyond a few hundred test cases. Lots of brilliant testers and large organizations have, and continue to struggle with test automation, and not for lack of effort. Everyone understands the value of test automation, but few testing ...
For this interview, we talked to Greg Wester, Senior Member Technical Staff, Craig Jennings, Senior Director, Quality Engineering and Ritu Ganguly, QE Director at Salesforce. Salesforce.com is a cloud-based enterprise software company specializing in software as a service (SaaS). Best known for its Customer Relationship Management (CRM) product, it was ranked number 27 in Fortune’s 100 ...
This book isn’t for everyone, but everyone can get some value out of it. What I mean by that rather confusing statement is that folks working in Agile environments will likely want to throw the book across the room while folks in more bureaucratic environments like CMMI or other waterfall environments will likely get a ...
One of my current responsibilities is to find ways to automate, as much as practical, the ‘testing’ of the user experience (UX) for complex web-based applications. In my view, full test automation of UX is impractical and probably unwise; however, we can use automation to find potential UX problems, or undesirable effects, even in rich, ...
Has this ever happened to you: You’ve been testing for a while, perhaps building off of a branch, only to find out that, after all of this time, there is something big wrong. It’s a bad build and now you have to go backwards, fix something, and get a new build. Basically, you just wasted ...
People who know me and my work probably know my emphasis on good test design for successful test automation. I have written about this in “Key Success Factors for Keyword Driven Testing“. In the Action Based Testing (ABT) method that I have pioneered over the years it is an essential element for success. However, agreeing ...
Take 5 and test your knowledge on the Software Testing essentials covered in our March 2019 issue. Good luck!
From automotive Software Testing standards, testing techniques, and process, this article is an in-depth guide for those looking to transfer their existing skills to this exciting industry. For the Software Car, autonomous driving gets most of the hype, but most overlook the fact that there is so much more to Software Testing for the automotive ...

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe