> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.kodelabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# What is Functional Testing?

> Automate equipment testing and continuous commissioning with the Cloud BMS Functional Testing Tool (FTT).

The <Tooltip tip="Functional Testing Tool runs automated tests on HVAC equipment such as AHUs, VAVs, and FCUs.">Functional Testing Tool (FTT)</Tooltip> automates the testing and validation of building equipment directly from Cloud BMS. FTT replaces manual commissioning checks with digital workflows that command equipment, monitor sensor responses, and score results automatically.

Open FTT from the Cloud BMS portfolio or building sidebar.

## Example: how FTT decides if a heater works

An <Tooltip tip="Fan Coil Unit — terminal unit with a fan and heating/cooling coil that serves a zone or room.">FCU</Tooltip> heating workflow answers one question: can this unit deliver heat when commanded?

The workflow runs a fixed sequence:

1. **Check readiness** — confirm the unit is occupied and the fan is running. If not, the test stops and archives. This gate is not part of the scored sequence total.
2. **Stop cooling** — close the chilled water valve. Pass when discharge air temperature rises out of a cooled range.
3. **Stop heating** — close the hot water valve. Pass when discharge air temperature falls out of a heated range.
4. **Start heating** — open the hot water valve. Pass when discharge air temperature rises past the configured threshold within the time limit.
5. **Score the run** — divide passed sequences by total scored sequences. Two of three passed is **66.67%**. In KODE Library workflows, sequences are weighted equally. Custom workflows can change sequence weight when the logic exposes a weight parameter.

FTT does not rely on a visual check or a one-time site visit. It writes the commands, reads the sensors, and records pass or fail for each step.

## Why functional testing matters

Traditional commissioning requires a technician to inspect each piece of equipment and verify its operation. That process is time-consuming, expensive, and usually happens once during construction.

FTT shifts this to continuous, automated testing. You schedule recurring tests across your building, catch failing equipment before occupant complaints, and keep a digital record of every result.

## How the pieces fit together

FTT work follows this path:

1. **<Tooltip tip="The test logic for one equipment type and component, including commands, sensors, thresholds, and report text.">Workflow</Tooltip>** — the test logic for one equipment type and component (commands, sensors, thresholds, report text)
2. **<Tooltip tip="Assigns devices to a workflow, groups them by floor or count, and sets the schedule.">Project</Tooltip>** — assigns devices to a workflow, groups them (by floor or count), and sets the schedule
3. **Task** — one scheduled batch inside a project (for example, Floor 03 on Monday at 16:00)
4. **Test result** — the step-by-step report and score for one device run

You can also run a single on-demand test from a device without creating a project. See [What is Functional Testing?](/products/ftt/overview).

### Workflows

A workflow defines the end-to-end test sequence for a specific equipment type and component. Each workflow specifies the points to read, the commands to write, the success criteria, and the text output for the report.

Cloud BMS provides a pre-configured library covering common HVAC equipment:

* **<Tooltip tip="Variable Air Volume box — zone-level terminal unit that modulates airflow.">VAV</Tooltip>** (Variable Air Volume): damper operation, heating, airflow setpoint tracking, min/max damper
* **<Tooltip tip="Fan Coil Unit — terminal unit with a fan and heating/cooling coil.">FCU</Tooltip>** (Fan Coil Unit): heating operation, cooling operation, fan operation
* **<Tooltip tip="Air Handling Unit — primary airside equipment that conditions and supplies air.">AHU</Tooltip>** (Air Handling Unit): heating, cooling, damper operation, <Tooltip tip="Variable Frequency Drive — motor controller that adjusts fan or pump speed.">VFD</Tooltip> operation
* **Heat Pump**: heating and cooling operation

You can also create custom workflows with the drag-and-drop logic builder.

<Frame caption="The workflows list showing available testing workflows with descriptions and device types">
  <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-workflows-list.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=e15e2a5d71203dd3b9f643af2f5a1527" alt="FTT workflows list showing search results for FCU heating workflows with name and description columns" width="1024" height="533" data-path="images/kode-os/ftt/ftt-workflows-list.png" />
</Frame>

### Projects

A project assigns one or more devices to a workflow along with a schedule. Projects can span an entire building or selected floors and run over days, weeks, or months. You configure cadence, grouping, and notification recipients when you create a project.

<Frame caption="The Projects list showing scheduled and completed testing projects across a building">
  <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-projects-list.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=6a1001a725708a8ae249b6341663c1c1" alt="FTT Projects list showing columns for Project Name, Building, Workflow, Description, Schedule Type, Status, Recurrence, Start Date, and End Date with multiple V2 FCU Heating and Cooling projects" width="1024" height="543" data-path="images/kode-os/ftt/ftt-projects-list.png" />
</Frame>

### Test results

Each completed test produces a report. The report shows the step-by-step sequence, sensor feedback at each stage, and a pass or fail score for each component tested.

<Frame caption="The FTT dashboard providing an at-a-glance summary of test performance">
  <img src="https://mintcdn.com/kodelabs/i9tCc_I6OZNqDXAw/images/kode-os/ftt/ftt-dashboard-overview.png?fit=max&auto=format&n=i9tCc_I6OZNqDXAw&q=85&s=f322715d673ffa947415c37618270e14" alt="FTT dashboard showing Average Score 62 percent, Successfully Executed Tests 41 percent, Devices with Failures 92, Tested Device Types 1, Executed Tests 155, Tested Devices 155, Average Test Duration 9 minutes, with Workflows bar chart, Device Types donut chart, Average Score by Area bar chart, and Status gauge" width="1024" height="604" data-path="images/kode-os/ftt/ftt-dashboard-overview.png" />
</Frame>

## Prerequisites

FTT requires the following to produce valid results:

* **Correct device templating**: all points required by the workflow must be available on the device
* **<Tooltip tip="Points that accept write commands from Cloud BMS so the test can change setpoints, valves, or modes.">Writable points</Tooltip>**: the test engine must be able to write commands and receive feedback
* **Active equipment**: the device and any parent equipment (such as an upstream AHU) must be in an appropriate operating state

## Navigate to FTT

<Steps>
  <Step title="Open Cloud BMS">
    Log in to Cloud BMS and select a site from the sites list.
  </Step>

  <Step title="Access the FTT module">
    Select `FTT` from the left sidebar. The module opens to the test results dashboard.
  </Step>
</Steps>

## Next steps

<CardGroup cols={2}>
  <Card title="Run your first test" icon="graduation-cap" href="/products/ftt/overview" arrow={true}>
    Run an on-demand FCU heating test and read the score.
  </Card>

  <Card title="Test results" icon="clipboard-check" href="/products/ftt/test-results" arrow={true}>
    Review test scores, detailed reports, and device test history.
  </Card>

  <Card title="FTT projects" icon="folder-kanban" href="/products/ftt/projects" arrow={true}>
    Create and manage automated testing projects across your building.
  </Card>

  <Card title="Workflows" icon="workflow" href="/products/ftt/workflows" arrow={true}>
    Browse, create, and customize testing workflows.
  </Card>
</CardGroup>
