XiTest · FAQ
XiTest 常见问题
40+ 问题一次问清
问完这些 · 你就是 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 覆盖哪些测试层级?
四层金字塔:
- Unit(单算法函数)
- Integration(算法链路 E2E)
- Regression(历史 Bug 不复发)
- 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 会分析 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 里看不到失败详情怎么办?
- 点击 PR 评论中的报告链接
- 或运行:
xitest logs <run-id> - 或本地复现:
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 硬件坏了怎么办?
xitest hil targets查看状态- 受影响 Job 自动切换到其他可用 HIL
- 硬件维修由 IT 团队处理
- 备用 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 假失败率高怎么排查?
- 查日志:是否
NETWORK_TIMEOUT/DOCKER_OOM - 看 Worker 健康:
xitest workers - 看 Prometheus:
xitest_false_failure_ratio - 若持续 > 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 不知道问题类型?
按场景快速跳转:
- 刚开始用 → 用户手册 第 1-2 章
- CI 集成失败 → API 规范 第 6 章"CI 集成模板"
- HIL 排队久 → 用户手册 第 6 章
- 报告看不懂 → 用户手册 第 5 章
- Enterprise 合作 → 定价策略 · 邮件
bd@xisound.com
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 产品中心 · 调音产品组