Testing OTA updates for Google Home Matter
integrations is done using the Google Home Developer Console.

## Prerequisites

For testing OTA, in addition to the
[OTA prerequisites](https://developers.home.google.com/matter/ota.md.txt#prerequisites),
you need to have:

- Access to a Linux system that has Docker Engine installed and access to the development board using USB
- A Matter integration that is ready for OTA testing.

Use your Connectivity Standards Alliance (Alliance)-assigned Vendor ID when testing OTA, *not*
a test VID. When building your OTA image, change the Vendor ID and Product ID to
match the integration to be tested.

## Vendor-specific instructions

We've provided Matter OTA testing procedures for specific
SoCs.

| Vendor | Platform | Guide |
|---|---|---|
| Espressif | [ESP32](https://www.espressif.com/en/products/devkits) | [Test OTA on Espressif ESP32](https://developers.home.google.com/matter/ota/test/vendors/espressif.md.txt) |
| Nordic Semiconductor | [nRF52840](https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-DK) | [Test OTA on Nordic](https://developers.home.google.com/matter/ota/test/vendors/nordic-semiconductor.md.txt) |
[*Table: Instructions for
specific silicon vendors for generating Matter test
certificates*]

## Channels

A channel defines the set of devices that an OTA update image is released to. A
device can only be assigned one channel at a time. There are three predefined
channels: **Test 1** , **Test 2** , and **Production**.
You can test on both of the test channels. A channel may be assigned only one
OTA update image at a time.

## Production channel

The Production channel is the channel which is used to push production releases
to consumer devices in the field. When you release an OTA image on the
Production channel, all devices *that are not on a Test channel* receive
the image.

## Test channels

To test an OTA image rollout, you must first configure one of the two test
channels, then release the image to the devices on that channel.

### Configure a test channel

1. Go to the **Manage** tab.

   ![Navigating to the manage tab on the console.](https://developers.home.google.com/static/matter/ota/images/GHDC-matter-ota-config-images-new.png) *Figure 1*: Navigating to test channels using the Manage tab
2. Click **Configure** next to the test channel.

3. Under **Channel name**, enter a name.

4. Under **Device Serial Number(s)**, enter one or more device serial numbers
   (maximum 1000).

5. Click **Save** to complete.

![Configuring a test channel on the console.](https://developers.home.google.com/static/matter/ota/images/GHDC-matter-configure-test-channel.png) *Figure 2*: Configuring a test channel

## Release an OTA image to a test channel

1. Go to the **Release** tab.

2. On the **Release** tab, select the test channel you want to use.

3. Select the OTA image from the **OTA Image** drop-down menu or add an OTA
   image by clicking **Add OTA Image**.

4. Rollout percentage represents the percentage of devices that will receive the
   OTA image. For this field, specify an integer from 1 to 100.
   Enter a value less than 100 if you prefer to release the OTA image
   in batches. For more information about how the
   rollout percentage works, as well as information about other OTA
   image-related tasks, see [Release an OTA image to
   Production](https://developers.home.google.com/matter/ota/release).

5. Click **Release** to test.

6. A confirmation dialog appears. Click **Release** to release the selected
   image to the specified channel.

7. Once you click **Release** , the channel, image, rollout status, rollout
   percentage, and release date and time appear in the
   **Released OTA Images** area.

   ![The OTA image has been released to a test channel.](https://developers.home.google.com/static/matter/ota/images/GHDC-matter-ota-test-channel-releases.png) *Figure 3*: OTA images released to test channels