Skip to content

Most visited

Recently visited

navigation

Test Cases for Android Apps on Chrome OS

The following table includes a set of test cases that you can use in your own test plan. The test cases cover a wide array of common scenarios that Android apps should be prepared for if they are expected to run on Chrome OS devices.

Test type

Test case

App scenario

Success case

Find app in Play Store

All

App exists in Play Store, accessed from a Chromebook (no issue if working as intended)

Install app

All

App installs on the Chromebook with no issues

Clamshell: Launch app

All

App opens without crashing, hanging, or throwing ANR (app not responding). App content is upright.

Window Management

Clamshell: Resize window

All

If the window resize button is available, resize the window. App doesn't crash / hang / ANR. App content scales. Try this in various pages of the app. The active cursor should stay in place and page content should not change (except to adjust to larger screen layout).

Window Management

Clamshell: Free form resizing

All

Try dragging the corner of the window to resize the window. App doesn't crash / hang / ANR. App content scales. Try this in various pages of the app. The active cursor should stay in place and page content should not change (except to adjust to larger screen layout).

Window Management

Clamshell: Reopen app

All

If the window resize button is available, resize the window and close the app, then reopen. App should launch in the expected window size and orientation (last activity since opened).

Window Management

Clamshell: Minimise & restore

All

Minimise and restore the app. App doesn't crash / hang / ANR, and content reappears unchanged.

Window Management

Clamshell: Fullscreen app

All

The full screen key on the Chrome OS keyboard should put the app in full screen (i.e. no top bar). App doesn't crash / hang / ANR. App content scales

Mouse + Trackpad

Clamshell: Trackpad = Click

All

Use trackpad to click on a touch control. App should respond as if there was a touch in precisely this location, with no lag.

Mouse + Trackpad

Clamshell: Trackpad = Right Click

All

Use trackpad to right click (two finger tap) on a touch control. App should respond as if there was a touch in precisely this location, with no lag.

Mouse + Trackpad

Clamshell: Trackpad = Scroll

All

In a scrollable area of the app (e.g. a list), use two finger scroll action on trackpad. App content should scroll.

Mouse + Trackpad

Clamshell: Trackpad = Zoom

All

In a zoomable area of the app (e.g. an image or a map), use the trackpad to zoom. App content should zoom.

Mouse + Trackpad

Clamshell: Mouse = Click

All

Using a mouse device, click on a touch control. App should respond as if there was a touch in precisely this location, with no lag.

Mouse + Trackpad

Clamshell: Mouse = Right Click

All

Using a mouse device, right click on a touch control. App should respond as if there was a touch in precisely this location, with no lag.

Mouse + Trackpad

Clamshell: Mouse = Scroll

All

In a scrollable area of the app (e.g. a list), use the scroll wheel. App content should scroll.

Mouse + Trackpad

Clamshell: Mouse = Scroll to zoom

All

In a zoomable area of the app (e.g. an image or a map), use the scroll wheel. App content should zoom.

Mouse + Trackpad

Clamshell: Touchscreen = Click

All

Using your finger, push on a touch control. App should respond as if there was a touch in precisely this location, with no lag.

Mouse + Trackpad

Clamshell: Touchscreen = Right Click

All

Using your finger, long hold on a touch control. App should respond as if there was a touch in precisely this location, with no lag.

Mouse + Trackpad

Clamshell: Touchscreen = Scroll

All

In a scrollable area of the app (e.g. a list), use the one or two finger scroll action. App content should scroll.

Mouse + Trackpad

Clamshell: Touchscreen = Zoom

All

In a zoomable area of the app (e.g. an image or a map), use fingers to zoom on touchscreen. App content should zoom.

Stylus

Clamshell: Stylus = Click

All

Using a stylus, click on a touch control. App should respond as if there was a touch in precisely this location, with no lag.

Stylus

Clamshell: Stylus = Scroll

All

In a scrollable area of the app (e.g. a list), use the stylus swipe/scroll action. App content should scroll.

Input

Clamshell: Physical Keyboard

All

While in clamshell mode, click on a text input box, type text with the keyboard. Onscreen keyboard should not show. Typed text should show in the input box with no lag.

Buy in-app content

IAP enabled

While signed in, try to purchase some in-app content. Content should appear in app as appropriate. Purchase should appear in Play purchase history.

Suspend/Resume

All

While app is running, close Chromebook. After 5-10 seconds, reopen Chromebook. App should connect back in the same state.

Wi-Fi connectivity

All

Turn the wifi off. Observe that the app complains about lack of internet connection. Turn WiFi back on. Observe that the app connects back to internet and is functional.

Window Management

Transitions between clamshell and touchview

All

Open an app in clamshell mode and then change the device to touchview mode. The window size and orientation should update as expected.

Touchview: Launch app

All

App opens without crashing, hanging, or throwing ANR (app not responding). App content is upright. Try this in both landscape and portrait.

Window Management

Touchview: Resize window

All

If the window resize button is available, resize the window. App doesn't crash / hang / ANR. App content scales. Try this in various pages of the app. The active cursor should stay in place and page content should not change (except to adjust to larger screen layout). Try this in both landscape and portrait.

Window Management

Touchview: Reopen app

All

If the window resize button is available, resize the window and close the app, then reopen. App should launch in the expected window size and orientation (last activity since opened). Try this in both landscape and portrait mode.

Window Management

Touchview: Minimise & restore

All

Minimise and restore the app. App doesn't crash / hang / ANR, and content reappears unchanged.

Window Management

Touchview: Rotate device

All

While in tablet mode, rotate the device 90 degrees. App should either not rotate OR it does rotate and window and content resizes appropriately. The active cursor/page should stay in place.

Input

Touchview: Touchscreen = Click

All

Using your finger, push on a touch control. App should respond as if there was a touch in precisely this location, with no lag.

Input

Touchview: Touchscreen = Right Click

All

Using your finger, long hold on a touch control. App should respond as if there was a touch in precisely this location, with no lag.

Input

Touchview: Touchscreen = Scroll

All

In a scrollable area of the app (e.g. a list), use the one or two finger scroll action. App content should scroll.

Input

Touchview: Touchscreen = Zoom

All

In a zoomable area of the app (e.g. an image or a map), use fingers to zoom content. App content should zoom.

Input

Touchview: Stylus = Click

All

Using a stylus, click on a touch control. App should respond as if there was a touch in precisely this location, with no lag.

Input

Touchview: Stylus = Scroll

All

In a scrollable area of the app (e.g. a list), use the stylus swipe/scroll action. App content should scroll.

Input

Touchview: Virtual Keyboard

All

While in tablet mode, tap on an area in the app that takes text input and type text. Onscreen keyboard and text should show as expected. Please try in portrait and landscape orientation (and the transitions in between).

Camera

Touchview: Taking a photo

Communication

App opens the camera and the preview images are scaled and oriented correctly. The resulting picture taken is scaled and oriented correctly. Try this in both portrait and landscape mode.

Touchview: Recording a video

Communication

App opens the camera and the preview images are scaled and oriented correctly. Starting the recording, the preview is scaled and oriented correctly. Playback is smooth and performs as expected (no lag in audio/video, video is at speed in which it was recorded at). Try this in both portrait and landscape mode.

Window Management

Touchview: Changing orientation while camera is on

Communication

Open the app's camera. Rotate the device 90 degrees. App should not crash, hang, ANR (app not responding). App should either not rotate OR it does rotate and window and content resizes appropriately.

Create content

Content creation

Output (drawing, text, audio) records in the app as expected (no lags)

Save content

Content creation

App saves the content (either locally or in the cloud), and content is recreated faithfully when reopened

Share content

App shares content with 3rd party. 3rd party can receive and open content

1:1 communication

Communication

Send one of every possible message type to another user (e.g. email, text message, phone call, video call etc). Verify transmission.

1:many communication

Communication

Post one of every possible type to a group (e.g. newsfeed post, forum post, chat group). Verify transmission.

Camera

Clamshell: Taking a photo

Communication

App opens the camera and the preview images are scaled and oriented correctly. The resulting picture taken is scaled and oriented correctly.

Camera

Clamshell: Recording a video

Communication

App opens the camera and the preview images are scaled and oriented correctly. Starting the recording, the preview is scaled and oriented correctly. Playback is smooth and performs as expected (no lag in audio/video, video is at speed in which it was recorded at).

Camera

Clamshell: Camera retries after app resumes

Communication

Open the app's camera. Close the lid of the device. Open the lid of the device. The app should now continue to allow the user to take a photo, or be able to allow the user to retry to take a photo without restarting the app.

Input

Touch to draw

Drawing / Handwriting

Use a finger to input drawing strokes into the app. Strokes should appear on canvas as expected with no lag.

Stylus

Stylus to draw

Drawing / Handwriting

Use the stylus to input drawing strokes into the app. Strokes should appear on canvas as expected, with no lag

Video Playback

Communication / Social & Media

Play a video within the app. The playback should be smooth with no lags. Sound should also be clear

Sound volume

Communication / Social & Media

If the app has volume controls, try changing it while media (with sound) plays. The volume should adjust accordingly.

Tilt Motion

Games

Tilt the device while playing a motion-sensing game. The app should respond accordingly.

Location finding

Weather / Maps / Navigation

App should be able to find general location of user (even without GPS hardware)

Other app specific functionality not captured

All

Use this only if one of the above actions test cases does not fit

UI

Large screen layout

All

If the app's UI should take advantage of the extra real estate of the screen (content should take up the full width of the screen on the device and/or content should be appropriately sized)

Mouse + Trackpad

Clamshell: Trackpad = Drag and drop

All

Drop a piece of content (e.g. an image) into an area of the app where this might make sense using trackpad. Dropped object should execute (e.g. upload).

Mouse + Trackpad

Clamshell: Mouse = Drag and drop

All

Using a mouse, drop a piece of content (e.g. an image) into an area of the app where this might make sense. Dropped object should execute (e.g. upload).

Input

Clamshell: Touchscreen = Drag and drop

All

Using your finger, drop a piece of content (e.g. an image) into an area of the app where this might make sense. Dropped object should execute (e.g. upload).

Stylus

Clamshell: Stylus = Drag and drop

All

Using the stylus, drop a piece of content (e.g. an image) into an area of the app where this might make sense. Dropped object should execute (e.g. upload).

Keboard Shorcuts + Nav

Clamshell: Special keys: arrow

All

The arrow keys on the Chrome OS keyboard should work exactly as expected within the app

Keboard Shorcuts + Nav

Clamshell: Special keys: tab

All

The tab key on the Chrome OS keyboard should work exactly as expected

Keboard Shorcuts + Nav

Clamshell: Special keys: cut and copy

All

In a text input box (e.g. message input, high score name), select some existing text. Cut with CTRL+X. Paste into another app with CTRL+V. Retest with Copy instead of Cut.

Keboard Shorcuts + Nav

Clamshell: Special keys: ESC key

All

The ESC key corresponds to closing active window or go back to the previous page.

Keboard Shorcuts + Nav

Clamshell: Special keys: enter key

All

Pressing Enter will trigger the selected button, or Pressing Enter while editing an input field in a form with multiple fields, submits the form.

Keboard Shorcuts + Nav

Clamshell: Special keys: enter to send

All

In a text input box (e.g. message input, high score name), input some text, then hit enter. Text should be submitted to the app.

Keboard Shorcuts + Nav

Clamshell: Special keys: app hot keys

All

Try pressing any commonly used keyboard shortcuts for the app. The app should respond as expected.

Keboard Shorcuts + Nav

Clamshell: Special keys: back

All

The back key on the Chrome OS keyboard should work exactly as the back button on Android.

Keboard Shorcuts + Nav

Clamshell: Special keys: refresh

All

Head to any area in the app with live/perishable content. The refresh key on the CrOS keyboard should refresh the view.

Keboard Shorcuts + Nav

Clamshell: Special keys: dock window

All

Use ALT+[ or ALT+] to dock the app to one side of the screen. App should dock, similar to behaviour of Chrome browser.

Desktop Functionality

Offline mode

All

Turn the wifi off from the settings menu. Try to use a feature of the app that is available offline. Observe if the offline feature is functional.

Input

Touchview: Touchscreen = Drag and drop

All

Using your finger, drop a piece of content (e.g. an image) into an area of the app where this might make sense. Dropped object should execute (e.g. upload).

Stylus

Touchview: Stylus = Drag and drop

All

Using the stylus, drop a piece of content (e.g. an image) into an area of the app where this might make sense. Dropped object should execute (e.g. upload).

Stylus

Stylus pressure

Drawing / Handwriting

Use the stylus to input drawing strokes or erasing drawing strokes of various pressure sensitivity. Strokes should appear on canvas with variable weight as expected.

Stylus

Stylus erase

Drawing / Handwriting

Select the erase option and use the stylus to erase parts of a drawing. Markings should disappear as expected. Important for drawing apps, but note taking apps are typically exempt from this

Stylus

Stylus only (reject finger)

Drawing / Handwriting

Select the option to be in "stylus mode" only. Try drawing using the stylus and then using the finger. The canvas should only have markings when using the stylus, and not when using the finger.

Stylus

Stylus touch cancel

Drawing / Handwriting

While using stylus to draw, place palm against the touchscreen. No additional markings should appear on canvas due to hand being placed there (palm rejection)

Desktop Functionality

Multi-Tasking function

Background apps

Open app, engage function, open any other app. App continues background function (e.g. background audio, stopwatch)

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)