Help us learn about your current experience with the documentation. Take the survey.

测试 AI 功能

本文档重点介绍了 AI 特定的测试注意事项,这些注意事项补充了 GitLab 标准测试指南。它侧重于 AI 功能为测试带来的挑战,例如来自第三方提供商的非确定性响应。每个测试级别都包含示例。

AI 驱动的功能依赖于 GitLab 单体之外的系统组件,例如 AI Gateway 和 IDE 扩展。 除了这些指南外,请查阅每个组件项目中记录的任何测试指南。

单元测试

遵循标准的单元测试指南。对于 AI 功能,始终模拟第三方 AI 提供商的调用,以确保快速、可靠的测试。

单元测试示例

集成测试

使用集成测试来验证 AI 提供商的请求构建和响应处理。模拟 AI 提供商的响应,以确保能够处理各种响应、错误和状态代码的可预测、快速的测试。

集成测试示例

前端功能测试

使用前端功能测试从最终用户的角度验证 AI 功能。模拟 AI 提供商以保持速度和可靠性。重点关注正常路径,并对高风险场景进行选择性负面路径测试。

前端功能测试示例

端到端测试

谨慎使用端到端测试来验证 AI 功能是否能与真实的提供商响应协同工作。关键注意事项:

  • 由于执行速度较慢且可能发生提供商故障,请保持测试最少。
  • 在测试设计中考虑 AI 的非确定性响应。例如,对聊天机器人名称等受控元素使用确定性断言,而不是 AI 生成的内容。

E2E 测试示例

实时环境测试

探索性测试

在重要里程碑之前进行探索性测试,以发现预期工作流程之外的错误和 UX 问题。这对于 AI 功能特别重要,因为它们会经历实验、测试版和正式发布阶段。

自食其果

我们自食其果所有功能。鉴于该领域的快速变化性质,这对于 AI 功能尤其重要。有关详细信息,请参阅自食其果流程