本文件目标是开源基础设施团队用于评估gitcode是否足以作为Mind,openEuler等社区的CI底座,通过分析,测试并评估 GitCode Actions 是否可以供各社区使用;
本文说明测试什么、为什么测试、由哪些 agent 生成测试用例,以及如何保证测试结论的质量。具体的 agent 操作、用例 schema 和执行脚本分别以 phase01.md、phase02.md 及其目录中的规则为准。
测试策略和场景选择以 phase01/inputs/ 中的专家材料为输入来源,而非以覆盖率指标为目标。主要输入及其用途如下。
| 输入类型 | 用途 |
|---|---|
| GitCode 规格与 API 参考 | 确定受测能力、边界、默认行为与可观察证据,这部分功能着重测试异常,边界场景,正向场景通过自动化尽可能覆盖 |
| GitHub 参考与真实 workflow 样本 | 识别迁移、语义和兼容性风险 |
| 安全知识与已知问题模式 | 包含两部分:1)历史ICSL,护网发现的问题;2)github security lab提供的安全最佳事件,通过最佳实践的场景进行测试 |
| 历史问题举一反三 | 包括两部分:1)26年H1已经发现的CI 流水线的功能问题 2)已经由infra团队提供的性能优化措施例如下载环境,编译缓存等,是否可以继续在gitcode action中使用,是否会导致CI耗时劣化 |
| 各社区当前的CI规格,并发情况 | 用于验证各社区规格之和,gitcode action平台的并发机制是否满足 |
上面的输入可持续补充,补充的新场景由phase01生成用例由phase02生成自动化脚本并验证
以下是外部验收优先覆盖的高风险场景类别。每个类别可按具体规格、专家输入和可用环境细化为少量代表性用例;只有输入形态、信任边界或故障模式会改变结论时才增加变体。
| 验收场景 | 计划 | 责任人 |
|---|---|---|
| 完成第一版测试用例的输出 | 7/21 | guoxiaozhen |
| phase2调通 | 7/21 | yulin |
| 打通phase01 + phase02,生成正确的yaml | 7/22 | chenqi |
| 用例并发执行 | 7/22 | yunlin |
| 区分用例自动/手动 | 7/23 | chenqi |
| 完善phase2的自动化工具,达到大部分用例都能自动化 | 7/24 | yunlin |
| 易用性,性能,安全用例完整输出 | 7/24 | guoxiaozhen |
| 用例检查,用例完整 | 7/25 | guoxiaozhen |
| phase01输出yaml完整无误 | 7/25 | chenqi |
| phsase02 用例自动化 | 7/25 | yunlin |
| GitCode action正向测试 + 异常场景覆盖 | 7/25 | |
| 安全场景测试 | 7/25 | |
| 历史功能问题举一反三,详见 inputs | 7/25 | |
| GitCode action的语法和github的差异有哪些,是否会导致明确的体验差异 | 7/25 | |
| 参考当前计算社区的规格,进行并发测试 | 7/25 | |
| 基本的稳定性测试 | 7/25 | |
| 文档易用性测试,常见action,api文档和使用文档,与github的对比 | 7/25 | |
| NPU资源池接入,是否可用,并支持联邦集群方案 | 7/27 | |
| 历史优化方案在gitcode action中是否仍然可用,同样的CI用例是否耗时会劣化 | 7/29 |
agent 团队覆盖从风险发现到结果取证的完整链路。只有前两组生成或治理测试场景;执行组不扩大测试范围,只负责可靠执行、采集证据和辅助分诊。
| 阶段 | 角色 | 负责内容 |
|---|---|---|
| 风险与场景生成 | 规格分析 agent | 将规格整理为能力、约束、默认行为和存疑点 |
| 风险与场景生成 | 兼容性 diff agent | 识别 GitCode 与 GitHub 或真实 workflow 的疑似语义差异 |
| 风险与场景生成 | 安全 agent | 从信任边界与敏感资产出发定义防御性风险场景 |
| 风险与场景生成 | 稳定性 agent | 定义可用性、边界、并发、故障和恢复场景 |
| 风险与场景生成 | 易用性 agent | 定义错误信息、可诊断性和迁移摩擦场景 |
| 质量治理与用例生成 | 测试架构师 / orchestrator | 汇总专家输入,确定优先级,识别重复与盲区 |
| 质量治理与用例生成 | 评审门禁 agent | 审查场景是否可测、是否有明确预期和证据,并拦截低价值或重复项 |
| 质量治理与用例生成 | 用例 writer / reviewer agent | 将准入场景写成可评审文本用例,并生成可执行 YAML |
| 执行与证据分析 | harness orchestrator | 按隔离与顺序要求协调执行、异常处理和证据留存 |
| 执行与证据分析 | YAML compiler | 将可执行用例转换为可在 GitCode 上运行的 workflow |
| 执行与证据分析 | failure analyst | 基于预期、日志和实际结果给出失败原因初判,不改变原始判定 |
每个已执行或已评估的场景只能采用下列结论之一。结论面向问题发现和风险沟通,不构成对 GitCode 发布的批准或否决。
| 结论 | 定义 | 报告要求 |
|---|---|---|
| 通过 | 自动化或人工测试完整执行,所有预期断言满足 | 记录用例、方法、关键证据和适用范围 |
| 未发现问题 | 已尝试测试,但仅获得有限或间接证据,未形成完整断言,也未发现异常 | 说明证据局限,不能表述为通过或风险消除 |
| 不可测试 | 自动化无法完成且人工也无法在当前条件下验证,或必要条件缺失 | 说明自动化与人工测试的阻碍、缺失条件和保留风险 |
发现与预期不符的问题时,报告应附最小复现条件、实际与预期结果、可观察证据、受影响场景和严重度判断;这些信息用于 GitCode 团队自行评估与处置。