ROBO TESTING: Using Firebase

Overview

Robo test is Test tool that is integrated from the Firebase test lab. It analyzes the structure of our app’s UI and explores it methodically and automatically simulating user activities. Not like UI/Application Monkey test, the Robo test always simulates same user activity in same order when we use it to test app on specific device and configuration with same settings. It lets us use Robo test to initiate bug fixes and test regressions in the way that is not possible when we test with the UI/Application Monkey test.

Robo test capture the log files and saves series of annotated screenshots, and creates a video from those screenshots and to show the user operation that it performed. These logs,videos, and screenshots can help to determine root cause if app crashes, can also helps to find issues with our app’s UI.

Take Screenshots from Firebase Test Lab Tests:

The ability of taking the screenshots is already corporated into the test APK, appAf-debug-test.apk, for the sample app and screenshot are captured when we run Robo test. ter our test has run, we can review screenshots in the Android Studio or in Firebase console.

Scope:

  1. High availability
  2. Longer test durations
  3. Lower cost

Known issues:

Robo testing has currently the following known limitations:

  • UI framework support: Robo test is compatible with application that use UI element from Android UI frameworks (including View and the ViewGroup object, but also excluding WebView object).
  • Sign-in Captchas: Robo test cannot bypass the sign-in screen that required additional user actions apart from entering credentials for signing in (such as when completing a Captcha).

Best practices for testing our app

Virtual device increase our range of options when we are testing our app with Test Lab. We recommend following approaches to test our app throughout our app development lifecycle:

  • In Android Studio: During development of our app, use Android Studio emulator and or an attached physical device so to examine build for initial validation. We can also run these test from Android Studio on physical or virtual device provided by the Test Lab.
  • Use Test Lab with generic low-resolution medium (MDPI) virtual devices: We can run Robo test on our app quickly with the Test Lab low-resolution MDPI phone virtual devices rather than with other virtual devices. MDPI virtual device is available from API level 23 and up. To use this device use the Nexus LowRes model ID.
  • Use Continuous Integration (CI) on code change when working on the shared project: If we work on large project, or if we contribute to projects that are shared on GitHub or a similar site, we recommend to use Continuous Integration (CI) systems and test our app on virtual devices every time that CI system runs.

Before releasing any app update: We recommend using Test Lab for testing our app on physical device before we release app update with significant changes in UI or functionality. This will ensure that our app runs well on wide range of popular physical devices and ensures test coverage for app functionality that occur on physical device that are not simulated by virtual device.

Top