精准测试
目的
版本提测后,开发往往会说,影响范围比较大,做个主链路或者全量回归吧,我只改了几行代码,为什么要回归这么长时间?等等。
测试完成后,测试往往会说,测试保证测试用例全部执行到位,考虑不到的没办法。
代码改动后的 影响范围评估,以及测试完成后的 覆盖面评估 是个难题,目前大部分是依靠个人经验和业务熟悉度判断大概的范围。
这种评估方式以主观判断为主,缺乏数据支撑,希望能有系统工具提供客观数据,基于数据进行量化评估。
覆盖率只能表明代码是否覆盖,无法确保逻辑正确,且无法确保当前代码对所有调用方否符合预期
预期流程
需求修改代码 –> git diff 找到修改的文件、函数、变量 –> 找到函数上游的调用 –> 找到影响的接口 –> 找到相关的测试用例
依赖数据
- 代码调用链
包含的内容- 函数
- 包名
- ast解析
补充信息- 函数所在文件
进一步:
- **解析rpc调用,找到调用的rpc和gateway生成的接口path(找到http接口)
- 分支的条件(提高用例推荐的准确性)