跳转至
XiTest · FAQ

XiTest 常见问题

40+ 问题一次问清
文档编号:D2-P7-MAN-005 · 版本:v1.0 · 发布:2026-05-05
问完这些 · 你就是 XiTest 专家
40+
Q&A
7
类别
1 周
平均响应

XiTest 常见问题 FAQ

摘要

本文档收集 XiTest 用户(算法 / 硬件 / 工具 / QA)最常问的 40+ 问题,按 基础概念 / 用例编写 / CI 集成 / HIL / UI 回归 / 性能与配额 / 授权与商务 七大类别组织。 若本 FAQ 未覆盖您的问题,请联系 xitest-help@xisound.com


1. 基础概念

Q1.1 XiTest 和 XiTune 有什么区别?

  • XiTune:调音工具 · 面向 OEM/Tier1 的声学工程师 · 人工为主 · 输出预设
  • XiTest:测试平台 · 面向 Xisound 内部研发 · 全自动 · 输出通过/失败

两者互补不重叠。XiTune 的调音结果可作为输入喂给 XiTest 做回归。

Q1.2 为什么 XiTest 是内部工具而不直接对外卖?

  • v1.0(2027 Q4)阶段 XiTest 是 Xisound 内部质量红线工具
  • 对客户以 Tapeout 放行报告 等增值形式呈现
  • v2.0(2029 规划)起推出 Enterprise SaaS 对外版

Q1.3 XiTest 覆盖哪些测试层级?

四层金字塔

  1. Unit(单算法函数)
  2. Integration(算法链路 E2E)
  3. Regression(历史 Bug 不复发)
  4. UI(XiStudio / XiForge 界面回归)

Q1.4 XiTest 支持哪些编程语言?

  • 用例描述:YAML(主)· JSON
  • 自定义断言:Python · JavaScript
  • CI 脚本:Shell / Python / Groovy(Jenkins)
  • Client SDK:Python / Go / TypeScript / Java

Q1.5 XiTest 与 GitHub 的 CodeQL / SonarQube 有重叠吗?

不重叠:

  • CodeQL / SonarQube:静态代码扫描(语法 / 安全漏洞)
  • XiTest:动态算法验证(声学指标 / 运行时行为)

建议并存:静态扫描 + XiTest 动态回归。


2. 用例编写

Q2.1 用例最小应该包含哪些字段?

id: my-case       # 必填
category: ...     # 必填
description: ...  # 必填

input:
  audio: ...      # Integration 必填

expected:
  metrics: ...    # Integration 必填

其他字段可逐步补充。

Q2.2 金标 WAV 应该放多长?

  • 推荐 5-10 秒
  • 不超过 30 秒(影响 CI 速度)
  • 关键段截取即可(用 sox/ffmpeg)

Q2.3 容差应该怎么设置?

原则紧一级 > 松一级

指标 推荐容差 理由
频响 ±0.1 dB 人耳可分辨 0.3 dB
THD+N ±0.001% 高保真音频必要
SNR ±0.5 dB 硬件测量误差
延迟 ±10 samples 可接受抖动

Q2.4 一个 PR 提交后大概跑多久?

  • Smoke(50 用例):3-5 min
  • Integration(300 用例):15-20 min
  • 全量 Regression:1-2 h

Q2.5 参数化用例会展开多少个?

所有参数的笛卡儿积freq: [5] × gain: [5] = 25 个用例。

Q2.6 如何只跑改动影响的用例?

xitest run --affected --base main

XiTest 会分析 Git diff + 依赖图,仅运行受影响用例。

Q2.7 金标更新需要审批吗?

必须审批

  • 提交 PR 含新基线 + 测量报告 + 变更原因
  • 算法 Lead + QA Lead 双签
  • 合并后立即触发全量回归

Q2.8 用例可以跨仓库共享吗?

可以:

  • 放到 xisound/xitest-cases 公共仓库
  • 在业务仓库 Cases-include 引用

3. CI 集成

Q3.1 XITEST_TOKEN 怎么安全保存?

  • GitHub:Repository Secrets
  • GitLab:CI/CD Variables(Masked)
  • Jenkins:Credentials Plugin
  • 禁止:明文在 YAML / 代码中

Q3.2 CI 里看不到失败详情怎么办?

  1. 点击 PR 评论中的报告链接
  2. 或运行:xitest logs <run-id>
  3. 或本地复现:xitest run --case <id> --local --verbose

Q3.3 可以并行多个 Jobs 吗?

可以:

  • Unit Job(Docker)
  • Integration Job(Docker)
  • UI Job(需要更大资源)
  • HIL Job(调度到 HIL Runner)

推荐:拆分到不同 Job 并行提速。

Q3.4 CI 触发策略有哪些?

触发 建议套件 频率
push 到 feature 分支 smoke 每次
PR 打开 / 更新 integration 每次
merge 到 main regression 每次
schedule nightly-full 每日
release 标签 full + HIL 每次

Q3.5 XiTest Server 挂了 CI 会咋样?

  • CI Job 等待超时后 fail
  • 不会阻塞 merge(可配置 "Allow Failure" for XiTest)
  • Server 恢复后可手动重跑失败 Job

Q3.6 跨平台 CI 的差异怎么处理?

  • skip_if: "env.OS == 'macOS'" 条件跳过
  • xitest run --platform linux,macos,windows 矩阵执行

4. HIL(硬件在环)

Q4.1 HIL 和 模拟 Integration 有什么区别?

维度 Integration(软件) HIL(硬件)
运行环境 Docker · x86 真实 XiDSP 芯片
速度 快(秒级) 慢(分钟级)
真实性 算法逻辑 含硬件 delay / 量化
成本 高(硬件占用)
必要性 日常必跑 Tapeout / 发版前

Q4.2 Tapeout 前必须跑 HIL 多久?

标准流程:48 小时连续压测(含故障注入)。

Q4.3 HIL 硬件坏了怎么办?

  1. xitest hil targets 查看状态
  2. 受影响 Job 自动切换到其他可用 HIL
  3. 硬件维修由 IT 团队处理
  4. 备用 EVB 至少 20% 冗余

Q4.4 HIL 的金标是统一的吗?

  • 金标 WAV 统一(逻辑层面)
  • HIL 对比时容差略放宽(硬件量化 / 时钟抖动)
  • 具体参见 hil_tolerance 配置

Q4.5 能用自己的 DSP 芯片做 HIL 吗?

v1.0 仅支持 XiDSP-D1。v1.1+ 规划开放接口,第三方 DSP 可通过 HIL Driver Adapter 接入。


5. UI 回归

Q5.1 UI 测试会很脆吗?

不会,采用以下机制:

  • data-test 属性定位(非 CSS 选择器)
  • pixelmatch 阈值(默认 0.5%)
  • 动态等待(避免 race)
  • 重试 2 次

Q5.2 浏览器更新后截图差异怎么办?

  • 预期差异 → xitest run --ui --update-snapshots
  • 非预期 → 查 diff.png · 修复代码

Q5.3 字体渲染差异怎么办?

  • Docker 内固定字体(xisound/xitest-ui:latest 镜像含统一字体)
  • 截图容差可稍微放宽到 1% 对字体敏感页

Q5.4 XiStudio 的完整流程能全部覆盖吗?

  • v1.0 覆盖 100+ 核心场景
  • 目标:覆盖 Top 20% 高频使用路径 · 占总问题 80%

6. 性能与配额

Q6.1 单用户可以并发多少 Run?

v1.0 内部默认 10 · 可申请提升(QA Lead 审批)。

Q6.2 全量 Regression 超过 2 小时正常吗?

超过 2 小时属异常:

  • 检查 Worker 是否充足
  • 检查网络 / S3 是否慢
  • xitest metrics 查看瓶颈

Q6.3 Run 记录保留多久?

  • 报告 HTML:2 年
  • WAV 对比波形:90 天
  • 日志:90 天热 + 1 年冷存档
  • 金标版本历史:永久

Q6.4 假失败率高怎么排查?

  1. 查日志:是否 NETWORK_TIMEOUT / DOCKER_OOM
  2. 看 Worker 健康:xitest workers
  3. 看 Prometheus:xitest_false_failure_ratio
  4. 若持续 > 1%,联系 DevOps

7. 授权与商务

Q7.1 内部团队用 XiTest 需要付费吗?

完全免费。成本由 Xisound IT 预算承担。

Q7.2 什么时候能对外销售?

v2.0 · 2029 规划。具体商业化节奏以官方公告为准。

Q7.3 Enterprise 客户能私有化部署吗?

v2.0 规划支持

  • 私有化 K8s 集群部署
  • HIL 硬件现场交付
  • 年度订阅 + 一次性部署费

Q7.4 XiTest 支持哪些云?

  • 公有云:阿里云 / 腾讯云 / AWS / Azure
  • 私有云:自建 K8s 集群
  • 混合云:控制面公有云 + HIL 本地

Q7.5 XiTest 的数据放哪里?

  • 默认:Xisound 托管(国内数据中心)
  • Enterprise:客户指定区域
  • 合规:GDPR / 个保法 / ISO 27001(规划)

8. 规划版问题

Q8.1 XiMind AI 编排什么时候能用?

v1.1(2028 Q2 规划),具体以 XiMind 的发布节奏为准。

Q8.2 分布式 HIL 什么时候?

v1.1(2028 Q2 规划)· 首先支持多地 HIL 机柜统一调度。

Q8.3 支持 Python / Ruby / 其他语言算法吗?

  • 目前:C/C++(主)· 可通过 DLL/SO 接入
  • v1.2 规划:增加 Python 原生支持

9. 快速链接

9.1 不知道问题类型?

按场景快速跳转:

9.2 反馈渠道

  • 内部 Slack:#xitest-help
  • 邮件:xitest-help@xisound.com
  • Office Hours:每周四 15:00-16:00
  • 紧急(Tapeout 阻塞):xitest-oncall@xisound.com

10. 附录

10.1 关联文档

10.2 版本历史

版本 日期 要点
v1.0 2026-05-05 首版 · 40+ Q&A · 七大类别

faq.md · D2-P7-MAN-005 · v1.0 · 2026-05-05 · Xisound 产品中心 · 调音产品组