OpenQA

Not translated yet — showing the Chinese originals.

智能代码覆盖率与覆盖证据

智测 OpenQA 为每次代码变更给出覆盖证据:改动方法被哪些用例覆盖、能从哪些接口和页面触发、还缺哪些测试。现在可通过开源技能 codexqa-change-analysis 获得三档覆盖判定;代码行与分支的增量覆盖率系统规划中。

2 项能力中 1 项现已可用

什么是 覆盖率证据

覆盖率证据是回答“这次改动到底测到没有”的一组可核对数据:用例是否覆盖改动方法,改动能从哪些接口或页面触发,调用链上哪些路径被走到,代码行和分支执行了多少。一个全量行覆盖率百分比说明不了具体改动;OpenQA 按变更逐项给出结论,并把未覆盖的点列出来,交给人或 Agent 补测。

用 Coding Agent 提交大量改动、需要确认改动被测到的研发团队需要向评审或审计说明测试充分性的 QA 团队想把覆盖要求写进合并门禁的平台工程团队

核心能力

  • 01

    用例覆盖判定

    为每个改动方法召回已有用例,给出已覆盖、部分覆盖、未覆盖三档结论,并标出依据用例的文件与行号。现在可用。

  • 02

    入口与接口映射

    从改动方法沿调用关系反查上游入口,列出能触发它的 API 与页面,作为接口层回归的范围。现在可用。

  • 03

    缺口补测

    对未覆盖的点生成可运行的测试文件,只新增、不修改已有测试。现在可用。

  • 04

    代码行与分支增量覆盖

    智能代码覆盖率系统规划中,将合并单元、接口与 UI 测试的执行数据,统计本次改动的行与分支覆盖。

工作流程

4 个步骤,每一步做什么、依据什么,都写在这里。

现在能用什么

标为“可用”的能力现在就能使用;其余部分仍在内部使用或计划中,本页对它们的描述是设计目标。

可以获得什么

目标是让团队少花时间重复确认,把注意力留给证据不足和风险更高的变更。

常见问题

OpenQA 的覆盖率证据和 JaCoCo、Istanbul 有什么不同?

JaCoCo、Istanbul、Coverage.py 统计代码执行比例,是覆盖证据的一种来源。OpenQA 面向一次具体变更,把用例、接口入口和调用链与改动方法对应起来,回答这次改动测到没有、还缺什么。代码行与分支的增量统计将由规划中的智能代码覆盖率系统提供。

现在能用哪些能力?

现在可用的是开源技能 codexqa-change-analysis:差异索引、入口反查、用例召回、三档覆盖判定和补测文件生成,需要安装 codexqa CLI。多层增量覆盖率系统规划中。

方法级覆盖判定为什么不给百分比?

方法级判定只分已覆盖、部分覆盖、未覆盖三档,并写明依据的用例位置。百分比容易掩盖关键分支完全没测的情况,三档结论配合用例位置更容易核对。

相关方案

  • AI 测试与代码变更验证

    4 项能力中 3 项现已可用

    了解方案
  • 精准测试与变更影响分析

    3 项能力中 1 项现已可用

    了解方案
  • 智能测试用例生成

    3 项能力中 2 项现已可用

    了解方案