alphaspirit - Fotolia


AWS Device Farm testing doesn't give full performance picture

Mobile app users want a consistent experience for all apps -- on all devices. AWS Device Farm tests application features but doesn't give dev teams a full picture of performance.

Mobile applications need to perform the same across a range of device platforms. Testing and debugging those apps...

is time-consuming and expensive. AWS Device Farm enables developers to assess mobile app performance in real time -- before pushing it out to the consumer.

With AWS Device Farm, developers can access and interact with web-, iOS- and Android-based apps running on physical devices hosted in AWS. They can run automated Device Farm testing frameworks to debug and optimize new applications across a range of remote devices. They can also remotely access particular devices to load, run and use apps to understand how they will work in real time.

But because new devices and versions come to market all the time, developers must first determine that AWS Device Farm supports their device. New or lesser-known devices might have limited availability. AWS typically pools devices into common operating systems -- Android or iOS, for example. But users can create custom device pools, such as a group of the most popular or common devices that will use the app.

AWS Device Farm enables developers to assess mobile app performance in real time -- before pushing it out to the consumer.

After choosing a device pool, it's time to test. Developers typically define application testing regimens, and they can use different test types with AWS Device Farm. Compatible testing frameworks for Android, iOS and web development include Appium Java JUnit, Appium Java TestNG and Appium Python. Developers can also test with Calabash for Android and iOS, Explorer for Android and UI Automation for iOS. The Device Farm service also includes the fuzz test, which randomly selects user interface functions, sends choices to devices and then records and reports results.

Tools and plugins expand software build and delivery capabilities for AWS Device Farm. For example, one plugin integrates Device Farm with Jenkins for continuous integration, enabling Device Farm capabilities on a local server. Android developers can also use a Gradle plugin to integrate AWS Device Farm with the Gradle build system in Android Studio.

While mobile device apps and development heavily use APIs, testing frameworks might not provide adequate insight into API activity. For example, apps can call APIs, or a developer can invoke them to create a new project or test cycle. AWS CloudTrail captures and reports API activity logs from Device Farm, displaying requests that were made, where the requests originated -- such as a user or IP address -- and when the request was made. IT teams can optimize API use with CloudTrail logs and identify issues.

Device Farm limits the maximum app file size to 4 GB; the default limit for remotely accessing automated testing sessions is 60 minutes. Similarly, the maximum default number of devices that can test concurrently is five, but there is no limit to the number of devices included in Device Farm testing and no limit to the number of scheduled test runs.

Next Steps

Web app support adds feature to AWS Device Farm

AWS mobile app dev tools launch it to new heights

Terms to know for AWS mobile app development

Dig Deeper on AWS tools for development