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

# 测试与验证

> 在交付设备集成之前，验证帧的正确性、生命周期行为和故障处理。

本页的核心目标是可靠性。

设备集成应能承受真实世界的情况，而不仅仅是一次干净的演示会话。

## 完成的标准

当以下所有条件都满足时，集成才算就绪：

| 检查项 | 需要验证 |
| - | - |
| 帧宽度 | 每一行的宽度与 `numEegChannels` 一致 |
| 通道顺序 | 顺序稳定且有文档说明 |
| 采样率 | 与设备真实输出一致 |
| 状态转换 | 连接、开始、停止、断开和故障都能清晰呈现 |
| 数据包处理 | 畸形或过短的数据包被安全拒绝 |
| 重连行为 | 会话能够恢复，或明确失败 |

## 最低测试集

<Steps>
  <Step title="正常路径">
    使用模拟的 BLE 或桥接测试数据验证 `connect -> start -> frames -> stop -> disconnect`。
  </Step>

  <Step title="畸形数据包处理">
    向解码器输入过短、损坏或不完整的数据包，确认它们被安全拒绝。
  </Step>

  <Step title="断开与重连行为">
    模拟设备丢失、浏览器断开以及重试行为。
  </Step>

  <Step title="固件差异">
    为受支持固件版本之间已知的协议差异添加测试数据。
  </Step>

  <Step title="元数据验证">
    确认通道名称、数量、采样率和时间戳处理。
  </Step>
</Steps>

## 优先测试什么

| 方面 | 为什么通常最先出问题 |
| - | - |
| 发现过滤条件 | 错误的过滤条件会隐藏设备或显示无关设备 |
| 特征值设置 | 一个错误的 UUID 或缺少通知步骤就会阻塞数据流 |
| 解码器假设 | 字节序、包大小或缩放错误会破坏数据行 |
| 会话拆除 | 残留的订阅会让重连不稳定 |
| 时间戳逻辑 | 样本看起来正常，但时序元数据可能是错的 |

## CI 建议

CI 不需要真实硬件。

使用模拟的蓝牙或桥接 I/O 以及稳定的数据包测试数据，让测试可重复且易于维护。

<Check>
  一套好的测试数据比在真实头带上手动测试一次更有价值。
</Check>

## 手动验证

自动化测试通过后，为每个受支持的固件版本在真实设备上验证一次。

| 手动检查 | 需要确认 |
| - | - |
| 初次配对 | 浏览器能干净地发现并连接 |
| 开始数据流 | 帧开始输出，且没有重复订阅 |
| 会话时长 | 数据流长时间保持稳定 |
| 中断 | 短暂断开的行为可预测 |
| 恢复 | 设备可以停止后再次开始 |

## 常见故障模式

<AccordionGroup>
  <Accordion title="帧看起来有效，但下游特征不对">
    在排查模型之前，先检查通道顺序、缩放和采样率。
  </Accordion>

  <Accordion title="第一次数据流正常，但重连失败">
    检查拆除逻辑。大多数重连问题来自残留的订阅或不完整的会话释放。
  </Accordion>

  <Accordion title="数据流开始了，但时序不一致">
    重新检查时间戳行为和数据包批处理。样本数值可能看起来正常，但时序元数据仍然错误。
  </Accordion>

  <Accordion title="集成只在一个固件上可用">
    将特定版本的数据包处理分开，并为每个受支持的固件分支添加测试数据。
  </Accordion>
</AccordionGroup>

## 发布就绪检查清单

在交付集成之前，确保你能清楚回答：

1. 测试了哪些设备和固件版本
2. 测试了哪些浏览器和平台
3. 仍存在哪些已知限制
4. 应用应预期什么样的恢复行为
5. 后续维护由谁负责

## 相关文档

* [传输协议](./transport-contract)
* [协议要求](./protocol-requirements)
* [提交与支持](./submission-and-support)
* [故障排查](/cn/sdk/operations/troubleshooting)

## 下一步

<CardGroup cols={2}>
  <Card title="准备交付" icon="arrow-right" href="./submission-and-support">
    为审核或合作方交付打包经过测试的集成。
  </Card>

  <Card title="返回指南索引" icon="arrow-right" href="/cn/integrate">
    回顾完整的集成流程。
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.