Amazon Device Farm Service
Start course

This is an introductory course for the Amazon Device Farm service. In this course, we are going to start with some important terminology. Then we will discuss the Amazon Device Farm service and its features. We will talk about the benefits of the service. Next, we will talk about why we would use the Amazon Device Farm service. And then, we will discuss how to locate the Device Farm service in the AWS console and describe the basic steps for setting it up. Finally, we will discuss a use case scenario for the Amazon Device Farm service.

Intended Audience

This is a beginner level course intended for anyone who is interested in learning the basics about the Amazon Device Farm service. Before attending this course, you may want to attend the “Benefits of Cloud Computing," and “Fundamentals of AWS” Learning Paths, or attend the “What is Cloud Computing?” and “Technical Fundamentals of AWS” courses. While these are not required to attend this course, they include helpful concepts that might make the content of this course a little easier to understand.

Learning Objectives

  • Describe the features and benefits of the Amazon Device Farm service.
  • Explain when to use the Amazon Device Farm service.
  • Locate the Device Farm service option in the AWS console and discuss how to configure it.
  • And give examples of use case scenarios for Amazon Device Farm service.

In this next section, we'll describe the Amazon Device Farm Service and talk about how and why we should use it.

What is Amazon Device Farm? By definition, AWS Device Farm is an app testing service that lets you test and interact with your Android, iOS, and web apps on many devices at once, or reproduce issues on a device in real time. View video, screenshots, logs, and performance data to pinpoint and fix issues before shipping your app. So what does that mean?

Device Farm can replace that collection of devices that application developers and companies must purchase and maintain for app testing. It can be used for all stages of testing applications whether iterative changes or cumulative and there are hundreds of both iOS and Android devices to choose from. It can also be used to reproduce any reported issues about application performance. Device Farm can also be used through a remote access session which allows developers and testers to interact with a device through a browser, emulating the same experience they would get as they were testing the physical device.

With so many variables like the wide variety of phones on the market, a multitude of tablet options, different operating systems and OS versions, carrier and manufacturer modifications to firmware, along with environmental factors such as signal strength, it's no wonder that developers struggle with building quality into their mobile applications. Purchasing the hardware for testing is expensive. Plus, it must be maintained and updated and technology changes so quickly that old devices must be replaced with new ones to keep up with the latest innovations. On top of that, the mobile application market is highly competitive. Users discard a malfunctioning app for a functioning one and a customer is lost. On top of losing a customer, poor ratings can affect the ranking of an application and make discoverability more difficult.

Now let's take a look at some important features of Amazon Device Farm. The Device Farm service enables you to test applications on real mobile devices, not emulators. Amazon provides a wide variety of Android and iOS phones and tablets to choose from.

Device Farm offers flexible testing methods. You can perform automated tests using the built-in tests or custom scripts or use compatible open source frameworks like Appium, Calabash, Espresso, and more. The automated testing feature allows you to run many tests across many devices in parallel with results returned in minutes. You can also test manually with the remote access option. During a remote access session, you can interact with a device as if it was on your desk, but you use your browser instead. You can rotate the device, install applications, swipe and gesture, as well as other interactions.

In Device Farm, devices are secured on both the hardware and the software side. The physical devices in the farm cannot take video or photos of other devices in the farm. They can't connect or communicate with each other over a WiFi connection. Each has a dedicated WiFi connection. Devices do not share any kind of network infrastructure, LAN, WAN, or internet. In a standard testing environment, the mobile device is usually connected to a host machine like a laptop or a server, and then tests are run against the device from the host machine. Device Farm offers a similar configuration. You have dedicated devices for your session. Once you have completed your session, the host is wiped clean or destroyed to ensure that you have a clean environment that is not affected by another customer's test or even yours from a previous session.

Amazon provides non-rooted iOS and Android devices on which you can install any appropriate applications necessary. You can choose different languages and locations and other features to simulate the real world environment that your users experience when they use the application.

You can also catch potential issues during the development process. Device Farm includes service plugins and APIs that can be configured to automatically initiate tests from IDEs and continuous integration systems like Jenkins, Android Studio, and more.

Device Farm also provides reports containing pass/fail information, crash reports, both the test and device logs, and they can contain screenshots based on when you want to take those screenshots. You can download testing logs and performance data. The reports provide detailed data per device and also high-level information like how many occurrences there were of a specific problem.

About the Author

Sarah is an educator and instructional designer. She started her career doing computer training, Microsoft Certified training, then telephony training for a local Indianapolis start up. She has a passion for helping others to learn and writing engaging content. When she is not working, she loves to travel with her family, walk her dog, or curl up somewhere with a good book.