软件测试负路径(Negative Path)介绍(正路径Happy Path)
LLM 输出校验graphs/llm_outputs.py三个图中全部 5 处裸 json.loads 改为 Pydantic model_validate_jsonschema 与 prompt 契约一一对应畸形或越界输出进入节点错误路径。新增 3 个负路径测试。文章目录负路径Negative Path是什么在你描述的上下文中的具体含义新增 3 个负路径测试的意思一句话总结“负路径”Negative Path是什么在软件测试中负路径Negative Path是指故意输入不合法、异常或边界情况的数据验证系统能否正确拒绝或优雅处理的测试路径。与之对应的是概念含义正路径Happy Path输入合法数据系统按预期正常执行负路径Negative Path输入非法/畸形数据验证系统能否正确报错、降级或拒绝在你描述的上下文中的具体含义你提到的改动是把 LLM 输出中的 5 处裸json.loads改为 Pydanticmodel_validate_json这意味着之前 LLM 返回的 JSON 是裸解析——不做 schema 校验假设 LLM 永远输出正确格式。这很危险因为 LLM 可能输出畸形 JSON语法错误比如缺少引号、括号不匹配{name:张三,age:25← 缺少闭合大括号和引号越界/不合规输出JSON 合法但字段不对比如该返回数字的地方返回了字符串或缺少必填字段{name:张三,age:twenty-five}← age 应该是 int 而非 string幻觉输出完全无关的内容LLM 返回了一段解释性文字而非结构化 JSON根据我的分析结果如下…… ← 根本不是 JSON新增 3 个负路径测试的意思就是要针对上述异常情况各写一个测试用例模拟 LLM 返回垃圾/畸形数据验证✅ Pydantic 能正确抛出ValidationError✅ 程序不会崩溃不会 unhandled exception✅ 畸形输出被路由到节点错误路径比如重试、降级、记录日志等✅ 不会把脏数据静默传递给下游节点一句话总结负路径测试 故意喂坏数据验证系统能优雅地失败而不是悄悄地出错。这是将 LLM 集成到生产系统时的关键防御手段——因为 LLM 的输出本质上是不确定的必须用 schema 校验 负路径测试来兜底。