智能代码覆盖率分析专家

0 浏览
0 试用
0 购买
Nov 5, 2025更新

本提示词专为开发者和质量保证工程师设计,通过深度分析源代码与测试结果,精确识别代码库中被测试覆盖和未覆盖的部分。它采用分步推理方法,确保逻辑严密的分析过程,帮助团队优化测试策略、提升代码质量。亮点包括多维度覆盖率评估、结构化报告输出和可定制的分析深度,能够适配从单元测试到集成测试的各种业务场景,为软件质量改进提供数据支撑。

覆盖率概览

项目 文件数 语句总数 已覆盖语句 未覆盖语句 语句覆盖率
总体 1 92 75 17 81%
calc.py 1 92 75 17 81%
其他指标 数值
测试用例总数 12
测试通过数 12
方法/函数总数 10
完全覆盖的方法/函数 7
部分覆盖的方法/函数 1
未覆盖的方法/函数 2

详细分析

模块:calc.py

单元 覆盖状态 关键分支覆盖状态 关联测试
add 完全覆盖 N/A test_calc.py::test_add
subtract 完全覆盖 N/A test_calc.py::test_subtract
divide 完全覆盖 b==0 分支:覆盖;正常分支:覆盖 test_calc.py::test_divide;test_calc.py::test_safe_divide_zero;test_calc.py::test_safe_divide_normal;test_calc.py::test_divide_zero_with_fallback
avg 完全覆盖 空列表分支:覆盖;非空分支:覆盖 test_calc.py::test_avg_empty;test_calc.py::test_avg_numbers
parse_numbers 部分覆盖 空字符串分支:覆盖;非数字分支:部分覆盖 test_calc.py::test_parse_numbers_basic
Calculator.sum_list 完全覆盖 N/A test_calc.py::test_sum_list
Calculator.stddev 完全覆盖 n<2 分支:覆盖;计算分支:覆盖 test_calc.py::test_stddev_small;test_calc.py::test_stddev_population
Calculator.safe_divide 完全覆盖 异常回退分支:覆盖;正常分支:覆盖 test_calc.py::test_safe_divide_zero;test_calc.py::test_safe_divide_normal;test_calc.py::test_divide_zero_with_fallback
_format_number 未覆盖 整数分支:未覆盖;非整数分支:未覆盖
main 路径 未覆盖 整体:未覆盖

问题识别

  • 未覆盖代码区域
    • _format_number:行 48-52
    • main 演示路径:行 55-62
  • 部分未覆盖
    • parse_numbers 非数字分支:行 32

改进建议

  • 为 _format_number 添加用例:整数输入、非整数输入
  • 为 parse_numbers 添加用例:包含非数字项(例如混合字母与数字)
  • main 演示路径添加集成测试或在覆盖配置中排除该路径

数据可视化

  • 总体语句覆盖率
    • 81% | #################--------- |
  • 单元覆盖分布
    • add:100% | #################### |
    • subtract:100% | #################### |
    • divide:100% | #################### |
    • avg:100% | #################### |
    • parse_numbers:部分 | ###########........ |
    • sum_list:100% | #################### |
    • stddev:100% | #################### |
    • safe_divide:100% | #################### |
    • _format_number:0% | .................... |
    • main 路径:0% | .................... |

覆盖率概览

文件 语句总数 未覆盖 语句覆盖 分支总数 已覆盖分支 分支覆盖 测试套件 测试用例
order_processor.py 98 32 67% 25 12 48% 4/4 通过 15/15 通过

详细分析

  • 模块:order_processor.py

    • 语句覆盖:67%
    • 分支覆盖:48%
  • 函数/区域覆盖状态

    • PaymentGateway.charge:行覆盖=覆盖;分支覆盖=不适用
    • InventoryService.reserve:行覆盖=覆盖;分支覆盖=缺失分支(qty<=0)
    • InventoryService.release:行覆盖=未覆盖(调用仅在失败路径)
    • OrderProcessor.compute_total:行覆盖=覆盖;分支覆盖=不适用
    • OrderProcessor.place:行覆盖=部分覆盖(失败路径未覆盖);分支覆盖=缺失分支(网关失败)
    • OrderProcessor.batch_place:行覆盖=部分覆盖(并行路径部分未覆盖);分支覆盖=部分
    • OrderProcessor.refund:行覆盖=部分覆盖;分支覆盖=部分(status!=PAID 分支部分;reason 相关行未覆盖)
    • main 路径:行覆盖=未覆盖
  • 测试到代码路径映射

    • test_order_compute_total → compute_total 成功路径
    • test_order_place_success → place 成功路径
    • test_order_place_rejected_by_inventory → place 库存拒绝路径(reserve 返回 False)
    • test_order_batch_place_basic → batch_place 基本成功路径
    • test_refund_paid → refund 已付款路径
    • test_refund_not_paid → refund 非已付款路径(部分)
    • test_concurrency_is_thread_safe → 并发基础路径(未触发并行错误分支)

问题识别

  • 未覆盖行

    • 行39-41:place 失败路径(gateway 失败后设置 FAILED 并调用 release)
    • 行44-49:batch_place 并行路径(部分未覆盖)
    • 行53:refund 可选参数 reason 相关行(未覆盖)
    • 行60-64:main 演示路径(未覆盖)
    • 其他未标明缺失行:17 行(总缺失32行减去已标明15行)
  • 未覆盖/部分覆盖分支

    • place:网关失败分支(未覆盖)
    • reserve:qty<=0 分支(未覆盖)
    • refund:status!=PAID 分支(部分覆盖)
    • batch_place:并行执行内部分支(部分覆盖)

改进建议

  • place 失败路径

    • 目标:覆盖网关失败分支与 release 调用路径(行39-41)
    • 方法:在测试中模拟 gateway.charge 返回 False
    • 断言:返回 False;order.status=FAILED;InventoryService.release 被调用一次
  • reserve 负/零库存分支

    • 目标:覆盖 qty<=0 分支
    • 方法:构造含 qty=0 与 qty<0 的 items
    • 断言:reserve 返回 False;place 返回 False;order.status=REJECTED
  • batch_place 并行分支

    • 目标:覆盖并行下的混合结果与错误路径(行44-49)
    • 方法:批量包含成功单、库存拒绝单、网关失败单
    • 断言:各订单状态分别为 PAID/REJECTED/FAILED;并行执行完成且无资源泄漏
  • refund 分支完善

    • 目标:补齐 status!=PAID 分支与 reason 相关行(行53)
    • 方法:对多种非 PAID 状态(NEW/FAILED/REJECTED/REFUNDING)调用 refund;传入非空 reason
    • 断言:非 PAID 均返回 False;传入 reason 的路径被命中;PAID 时状态流转 REFUNDING→REFUNDED
  • main 路径

    • 目标:覆盖行60-64
    • 方法:通过子进程或 runpy 执行模块入口
    • 断言:进程退出码为0;标准输出包含下单结果与状态
  • 分支断言增强

    • 目标:提升分支覆盖的可观测性
    • 方法:对关键状态转移添加断言(NEW→PAID、NEW→REJECTED、NEW→FAILED、PAID→REFUNDED);对外部交互(gateway、inventory)增加 spy/mock 断言调用次数与参数

数据可视化

  • 总体覆盖条形图

    • 语句覆盖 67% [█████████████-------] 67%
    • 分支覆盖 48% [██████████----------] 48%
  • 未覆盖行分布(按已识别类别)

    • place 失败路径(39-41):3
    • batch_place 并行(44-49):6
    • refund reason(53):1
    • main(60-64):5
    • 其他未标明:17
  • 关键函数分支状态

    • compute_total:✓
    • place:◐
    • batch_place:◐
    • refund:◐
    • reserve:◐
    • release:✗
    • charge:✓
    • main:✗

注:✓=覆盖;◐=部分覆盖;✗=未覆盖

示例详情

解决的问题

用一条可复用的智能提示词,快速看清测试覆盖现状、精准锁定未覆盖与高风险片段,生成清晰可分享的覆盖率分析报告,并给出可落地的测试增强建议,帮助团队在更短时间内提升覆盖率、减少回归缺陷、通过质量门禁,最终加速稳定发布与提升研发投资回报。

适用用户

开发团队负责人

在版本收尾阶段用覆盖率总览把握风险,确定必须补测的模块,安排资源优先修复,并以数据向业务解释延期理由。

质量保证工程师

通过多维度评估定位未触达路径,编写针对性用例,完善回归范围,输出结构化报告沉淀流程规范。

测试自动化工程师

将分析纳入日常脚本执行后,自动生成改进清单,优化用例集,减少冗余测试,提升脚本维护效率。

特征总结

一键生成覆盖率总览,清晰展示各模块测试表现,帮助团队快速抓住关键薄弱点并指导优先修复。
自动识别未被测试触达的代码区域,给出原因线索,避免遗漏影响发布质量。
按语句、分支、方法等维度细化评估,轻松对比差距,让改进空间一目了然立即锁定优先项。
生成结构化可读报告,涵盖概览、明细与建议,方便分享评审,减少沟通成本。
支持自定义分析深度,从快速体检到深度诊断自由切换,满足不同阶段的质量需求。
与持续集成流程协作,自动出具质量门禁数据,一键判断是否达标再合入。
新功能上线前快速验证测试完整性,回归前及时补缺补漏,降低线上故障风险。
多语言代码皆可分析,自动理解常见框架结构,减少手工标注与维护成本。

如何使用购买的提示词模板

1. 直接在外部 Chat 应用中使用

将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。

2. 发布为 API 接口调用

把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。

3. 在 MCP Client 中配置使用

在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。

AI 提示词价格
¥20.00元
先用后买,用好了再付款,超安全!

您购买后可以获得什么

获得完整提示词模板
- 共 583 tokens
- 3 个可调节参数
{ 源代码 } { 测试结果 } { 分析深度 }
获得社区贡献内容的使用权
- 精选社区优质案例,助您快速上手提示词
限时免费

不要错过!

免费获取高级提示词-优惠即将到期

17
:
23
小时
:
59
分钟
:
59