# Test steps

The test steps put the calls to Nominal in your sequence, so you choose what gets logged and when. They need your API key in `StationGlobals.nominal_api_key`; see [Connect to Nominal](https://dev.nominal.io/ni-teststand.md#connect-to-nominal).

The steps follow the lifecycle of the LabVIEW® client: connect with your API key, locate a dataset by RID or find an asset and associate a dataset with it, open a stream, log against that stream, then close the stream and the connection.

For logging, [`Stream Points to Channel`](https://dev.nominal.io/ni-teststand/ref.md#ts-nominal-stream-points-to-channel "Stream Points to Channel"), [`Stream Array to Channel`](https://dev.nominal.io/ni-teststand/ref.md#ts-nominal-stream-array-to-channel "Stream Array to Channel"), and [`Stream Waveform to Channel`](https://dev.nominal.io/ni-teststand/ref.md#ts-nominal-stream-waveform-to-channel "Stream Waveform to Channel") cover data your sequence already holds as an array or a waveform. When a sequence produces one reading at a time, the point buffer and batch buffer collect values and flush them in a single call, which keeps array manipulation out of TestStand®. The batch buffer stores a channel name per series, so it suits several instruments at once, while the point buffer is the simpler choice for a single one.

The [example sequence](https://dev.nominal.io/ni-teststand/examples.md#test-steps) shows the whole arrangement end to end. The [Reference](https://dev.nominal.io/ni-teststand/ref.md) lists every step and its parameters.

## Variables the steps expect

Each step’s parameters default to these variables, so a sequence that declares them can use the steps without changing their parameters.

| Variable | Type | Holds |
| --- | --- | --- |
| `StationGlobals.nominal_api_key` | String | Your API key |
| `Locals.nominal` | Object Reference | The connection to Nominal |
| `Locals.asset`, `Locals.dataset`, `Locals.channel`, `Locals.run`, `Locals.event` | Object Reference | The asset, dataset, channel, run or event a step finds or creates |
| `Locals.stream` | Number | The stream |
| `Locals.pointbuffer`, `Locals.buffer` | Number | The point buffer and the batch buffer |
