让 AI 写测试报告时,原始测试记录必须先成为标准源。摘要里的通过、失败和未执行数量都能回到用例ID,才能防止模型补出漂亮但没有依据的结果。
希望让AI整理测试结论的开发者或测试人员。本文使用 Python 3.11 或以上版本的标准库,先验证一组人工构造的小样本。AI 负责提出实现或解释差异,结果由本地检查决定;这里没有把模型回答当成真实运行结果。

从结构化记录生成测试摘要前,先定规则
本例记录只有passed、failed、skipped三种状态,每个case_id唯一。skipped代表未执行,不能计入passed。
失败项必须保留ID与原因;总数相等但失败名称遗漏仍不可作为完整报告。
程序汇总结构化事实,AI只负责把它写成清楚的说明,并引用这些用例,不得改状态。
给 AI 的输入要包含什么
把下面这份输入说明和你的实际样本一起交给可用的 AI 编程助手。示例只含虚构数据;对真实材料先去除账号凭据和个人信息。
根据给定case_id/status/reason记录写测试报告,先校验ID唯一、状态合法,统计passed/failed/skipped并列失败ID。不得把skipped当passed,不得编耗时与覆盖率。失败不为空时结论为需修复。
要求模型保留检查条件,并把它认为缺少的业务定义列出来。若回答改变了输入字段、忽略异常分支或直接删除原材料,先要求修正,再运行。提示词的作用是缩小任务范围,验收仍以代码和数据为准。
保存并运行最小验证程序
下方程序把关键规则和验证用例放在同一个可复跑示例中,便于先理解输入如何变成输出,再用它检查 AI 给出的实现。
新建一个空目录,把下面代码保存为 check.py,在该目录打开终端,运行 python -X utf8 check.py。代码自带示例输入,不需要安装第三方库。
from collections import Counter
rows=[{'case_id':'login-ok','status':'passed','reason':''},{'case_id':'expired','status':'failed','reason':'错误码不一致'},{'case_id':'offline','status':'skipped','reason':'环境未提供'}]
assert len({r['case_id'] for r in rows})==len(rows)
assert all(r['status'] in {'passed','failed','skipped'} for r in rows)
counts=Counter(r['status'] for r in rows)
failed=[r['case_id'] for r in rows if r['status']=='failed']
assert sum(counts.values())==3 and failed==['expired']
print('counts',dict(counts))
print('failed',failed)
def report_status(counts,failed):
return '需修复' if failed else ('已有执行项通过' if counts['passed'] else '没有执行通过项')
print('conclusion',report_status(counts,failed))
assert report_status(Counter({'skipped':1}),[])=='没有执行通过项'
assert report_status(Counter(),[])=='没有执行通过项'
怎样判断结果符合要求
数量为passed 1、failed 1、skipped 1,失败ID为expired,结论需修复。不能写成“三项验证全部完成”。
下方是这份最小示例在本地执行得到的输出。它验证示例程序与断言的关系,不代表任何 AI 模型一次就能生成同样代码,也不构成性能或生产可靠性结论。
counts {'passed': 1, 'failed': 1, 'skipped': 1}
failed ['expired']
conclusion 需修复
样本是虚构测试记录,不冒充本站实际产品结果。
真实记录还应包含执行时间、环境与程序退出码,用来识别旧记录或中断执行。
哪些失败必须停下来处理
全部skipped或没有执行记录时必须显示没有执行通过项,不能借没有失败生成成功结论。测试程序中断时未产生最终报告,不能根据已输出的passed行猜整体成功。
相同ID重复执行要定义重试口径,保留每次尝试,不能只取最后绿色结果隐藏波动。
接入自己的任务前再核对一次
让AI输出事实与建议两个段落,事实只引用真实记录,建议注明待验证。
报告绑定提交版本与测试输入,代码变化后重新运行,避免复用过期结论。
资料与适用范围
Counter按状态计数;是否通过应来自测试执行记录而非文案。以下链接核对于 2026-10-03;运行环境及额外依赖按本文前述说明。
相关基础可阅读 AI 提示词改动后怎么回归测试?用 promptfoo 保存断言与失败样例。本文的重点是从结构化记录生成测试摘要,可以把两项检查作为不同步骤保留。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/33385.html