The Google Home Developer Console provides a **Test** page where you can
configure and run tests against your Cloud-to-cloud
integration using the Google Home Test Suite. The
Test Suite is a separate application built into the
Developer Console that handles all integration testing.

> [!NOTE]
> **Note:** You can test an integration that hasn't yet been submitted for certification within the same project you used to develop the integration. However, if you are testing a previously-submitted project, you need to test it in a separate project. See [Test an approved Cloud-to-Cloud integration](https://developers.home.google.com/cloud-to-cloud/test/update.md.txt) for more information.

The Test Suite can be run on a set of devices that belong to
a specific Cloud-to-cloud project configuration. *It is very
important to run the Test Suite on your integration(s) to
ensure that everything is working properly.*

> [!NOTE]
> **Note:** Some device traits and attributes require manual testing. See the [Manual Testing](https://developers.home.google.com/cloud-to-cloud/test.md.txt#manual_testing) section for more information.

On the **Test** page, Cloud-to-cloud integrations that are
complete and ready to test are listed in the **Ready to test**.

Cloud-to-cloud integrations that have been tested are listed in
the **Tested** section.

Use the Test Suite in the Developer Console to
submit test results for certification. If you want to run the
Test Suite for testing purposes during development, see the
[Google Home Test Suite](https://developers.home.google.com/cloud-to-cloud/tools/test-suite.md.txt) page for the
standalone version.

## Create a test plan

**Before creating a test plan for certification, make sure you have done the
following:**

1. [Created a company profile](https://developers.home.google.com/cloud-to-cloud/project/profile.md.txt).

**If you have not completed this for your integration, an integration
created for certification testing *cannot be certified*.** You will have
to create a new integration, which means redoing the Test and Certify steps.

You will also have to create a new integration and start over **if you want to
update your branding before an integration is certified.**

To create a test plan:

[Go to the Developer Console](https://console.home.google.com)

1. From the list of projects, click **Open** next to the project you want to
   work with.

2. In the navigation menu on the left side of the page, go to
   **Cloud-to-cloud** \> **Test**.

3. Click **Test** for the integration to test.

4. On the **Configure your test** screen, provide a name for your test and
   select the devices to test from the list of devices.

5. Click the **Next: Test plan** button.

6. On the **Create a test plan** page, in the **Test suites** section, select
   the test suites you want to run.

## Add testers to your integration

If your integration requires alpha testing, the test actions will remain
hidden until all the following steps are completed:

1. Add the tester as a **Viewer/Editor** through the Google Cloud project that backs the Cloud-to-cloud integration. See [Roles and permissions](https://cloud.google.com/iam/docs/roles-overview) to learn more.
2. The tester can access the project through the Developer Console.
3. Once the tester clicks the **Test** tab, and depending on the state of the integration, they will click either the **Test** or **Retest** button and be taken to the **Test Suite** page with an "Unlinked action".
4. Once the previous steps are complete, the integration will be visible in the Google Home app (GHA) for the tester and they can begin testing.

If you exit out of the Test Suite, click
**Return to Developer
Center**.

## Run the test plan

In the Test Suite, from the **Create a test plan** page,
click **Run Test** . The **Test environment** page appears, with the status and
logs of all tests.

Your test results appear once the tests complete. The status of each test suite
execution appears next to it (Passed, Failed).

The **Logs** pane shows the status of each individual test execution.

To retest a test plan from the **Test environment** page, click
**Retest** at the top
after test execution has completed.

Once finished:

- Click **Done** to go to the **Test history** page, or
- Click **Submit** to [submit the test results for
  certification](https://developers.home.google.com/cloud-to-cloud/test/submit).

## View and interpret your test results

On the **Test history** page in the Test Suite, you may view
previous test results for a development plan or an unsubmitted certification
test plan by clicking **Retest** for the chosen test plan in the **Test plans**
section. This takes you to the **Test Environment** page which displays the
results of that test.

For a submitted certification plan, click **Results** in the **Saved for
certification** section to view the test results report.

Test results may also be accessed for an integration from the **Test**
tab in the Developer Console. Click **View** for the *Test history* of
any integration listed on that page to be taken to the **Test history**
page in the Test Suite.

## Console statuses

The following Console statuses are encountered in the Test phase:

| **Section** | **Status** | **Description** | **Requirement** | **What to do next** |
|---|---|---|---|---|
| Ready to test | Ready | This integration is ready to test. | N/A | [Test](https://developers.home.google.com/cloud-to-cloud/test.md.txt) this integration. |
| Tested | Ready | This integration was tested and can be submitted for certification. | Integration was tested and saved. All failed test cases include justifications for Google to review. | [Retest](https://developers.home.google.com/cloud-to-cloud/test.md.txt#run), if necessary. |

## Manual Testing

There are few traits and attributes that aren't supported by
Test Suite and will require manual testing.

These are the following traits and attributes that will need manual testing:

- Traits:
  - [CameraStream](https://developers.home.google.com/cloud-to-cloud/traits/camerastream.md.txt)
  - [Locator](https://developers.home.google.com/cloud-to-cloud/traits/locator.md.txt)
  - [ObjectDetection](https://developers.home.google.com/cloud-to-cloud/traits/objectdetection.md.txt)
  - [RunCycle](https://developers.home.google.com/cloud-to-cloud/traits/runcycle.md.txt)
- Command or query only scenarios
  - [Brightness](https://developers.home.google.com/cloud-to-cloud/traits/brightness.md.txt): `commandOnlyBrightness`
  - [Channel](https://developers.home.google.com/cloud-to-cloud/traits/channel.md.txt): `commandOnlyChannels`
  - [ColorSetting](https://developers.home.google.com/cloud-to-cloud/traits/colorsetting.md.txt): `commandOnlyColorSetting`
  - [EnergyStorage](https://developers.home.google.com/cloud-to-cloud/traits/energystorage.md.txt): `queryOnlyEnergyStorage`
  - [FanSpeed](https://developers.home.google.com/cloud-to-cloud/traits/fanspeed.md.txt): `commandOnlyFanSpeed`
  - [HumiditySetting](https://developers.home.google.com/cloud-to-cloud/traits/humiditysetting.md.txt): `commandOnlyHumiditySetting` or `queryOnlyHumditySetting`
  - [InputSelector](https://developers.home.google.com/cloud-to-cloud/traits/inputselector.md.txt): `commandOnlyInputSelector`
  - [Modes](https://developers.home.google.com/cloud-to-cloud/traits/modes.md.txt): `commandOnlyModes` or `queryOnlyModes`
  - [OnOff](https://developers.home.google.com/cloud-to-cloud/traits/onoff.md.txt): `commandOnlyOnOff` or `queryOnlyOnOff`
  - [OpenClose](https://developers.home.google.com/cloud-to-cloud/traits/openclose.md.txt): `commandOnlyOpenClose` or `queryOnlyOpenClose`
  - [Rotation](https://developers.home.google.com/cloud-to-cloud/traits/rotation.md.txt): `commandOnlyRotation`
  - [TemperatureControl](https://developers.home.google.com/cloud-to-cloud/traits/temperaturecontrol.md.txt): `commandOnlyTemperatureControl` or `queryOnlyTemperatureControl`
  - [TemperatureSetting](https://developers.home.google.com/cloud-to-cloud/traits/temperaturesetting.md.txt): `commandOnlyTemperatureSetting` or `queryOnlyTemperatureSetting`
  - [Timer](https://developers.home.google.com/cloud-to-cloud/traits/timer.md.txt): `commandOnlyTimer`
  - [Toggles](https://developers.home.google.com/cloud-to-cloud/traits/toggles.md.txt): `commandOnlyToggles` or `queryOnlyToggles`
  - [Volume](https://developers.home.google.com/cloud-to-cloud/traits/volume.md.txt): `commandOnlyVolume`
- Anything with [second user verification](https://developers.home.google.com/cloud-to-cloud/enhancements/secondary-user-verification.md.txt) enabled

The certification team will either test your device remotely or ask you to
provide a video or screenshot of your device.
You must link the same device ID used in the Test Suite
to your test account so that the certification team can run the manual test
on the same device.