目的

版本提测后,开发往往会说,影响范围比较大,做个主链路或者全量回归吧,我只改了几行代码,为什么要回归这么长时间?等等。

测试完成后,测试往往会说,测试保证测试用例全部执行到位,考虑不到的没办法。

代码改动后的 影响范围评估,以及测试完成后的 覆盖面评估 是个难题,目前大部分是依靠个人经验和业务熟悉度判断大概的范围。

这种评估方式以主观判断为主,缺乏数据支撑,希望能有系统工具提供客观数据,基于数据进行量化评估。

覆盖率只能表明代码是否覆盖,无法确保逻辑正确,且无法确保当前代码对所有调用方否符合预期

预期流程

需求修改代码 –> git diff 找到修改的文件、函数、变量 –> 找到函数上游的调用 –> 找到影响的接口 –> 找到相关的测试用例

依赖数据

  1. 代码调用链
    包含的内容
    • 函数
    • 包名
  2. ast解析
    补充信息
    • 函数所在文件

进一步:

  • **解析rpc调用,找到调用的rpc和gateway生成的接口path(找到http接口)
  • 分支的条件(提高用例推荐的准确性)

精准测试体系构建-腾讯云开发者社区-腾讯云 (tencent.com)