2026年10月15日 · 阅读 —

五类测试怎样落地:把设计、构建、跑批和复核做成工作包

Agent 与 Skills测试与评测

五类测试怎样落地:把设计、构建、跑批和复核做成工作包

五类测试都写进方案之后,下一步最容易卡住的不是“还缺哪种指标”,而是拿到一条题不知道怎样开始:条件谁确认,参考怎样制作,批量执行收集什么,人工复核从哪里定位,修复之后需要重跑哪些题。

可以把设计、构建、标注、跑批、review、归因与复测作为可验收工作包。每个包有输入、处理规则、产物和完成条件,用同一条用例贯穿,避免把“正在准备数据”写成无法判断完成的状态。

五类范围对应不同判定对象

测试范围准备的标准数据主要入口与方法完成时必须留下什么
权限六种授权集合、可信账号、策略版本、行外哨兵API固定认证主体,企微核对真实绑定;正负与撤权对照实际读取范围、无泄露证据、合法可用性
意图条件任务标签、规范条件、术语映射、参考时刻、逐轮状态明确条件、同义词、歧义和改口;分类与槽位检查漏提、多提、错值、完整匹配及澄清记录
数据准确性报表筛选台账、同水位参考、反例数据实际Hermes入口执行,查询契约及结果差分条件一致性、键和值差异、未知与责任
回答分析交付原始结果、原子事实、方法规则、文件与接收约定数字与图表对账、校准Judge、真实文件读取事实支持、分析依据、附件内容与归属
安全稳定性A-B合成标记、工具允许清单、故障点和遥测基线注入、副作用前后对照、消息重投与恢复禁止事件、幂等、明确终态和资源恢复

五类按主要风险归属统计Case,次级标签用于筛选。不应让一条跨区金额题因为包含三个标签就变成三条样本。人工核验的是不同断言,并不一定需要三个完整执行;若身份或前提改变,才需要形成有版本的独立场景。

把每一类的计划写成七个工作包

工作包输入处理操作输出与完成门
设计产品规则、现有失败、覆盖缺口写标准条件、允许与禁止行为、正负对照任务卡可以由另一人独立执行
构建批准的指标、权限和数据源采集参考、冻结快照、准备合成错误每个预期有独立依据与版本
标注用户问法与参考条件逐项核验语义、归一化值、裁定歧义不能确定的项单独挂起
跑批冻结题、可信入口、资源与预算执行并保存每次尝试与实际状态消息、查询、结果和交付能关联
人工复核差异报告与独立证据先关键失败,再看分歧和通过抽样结论、理由、证据引用完整
归因已复核差异与阶段记录区分业务、模型、数据、权限、环境和检查器根因假设有对应事实支持
复测交付批准修复与影响映射重跑原题、邻接反例、合法对照新trial保留,旧失败不覆盖

工作包之间不是机械传文件。标注发现报表条件含糊,应回到设计或参考构建;跑批发现身份未绑定,应该阻断相应执行,不能把后续错误交给人工逐条猜。复核也可能发现参考或Oracle错误,这时修订的是测试资产,产品不应背下所有失败。

flowchart LR
 A[覆盖缺口与规则] --> B[设计任务及断言]
 B --> C[构建独立参考]
 C --> D[标注与人工核验]
 D --> E[冻结并批量执行]
 E --> F[差异及人工复核]
 F --> G[归因和修复]
 G --> H[原题与影响集复测]
 F --> C

复核回到参考构建的箭头很重要。如果没有这条路径,所有差异只能被归成模型不好或人为接受答案。正确做法是留下争议、引用版本、审批修改,再以新版本重跑,保持历史结论可解释。

Case、trial 与参考答案,先各归各位

Case 是一条用例,包含任务输入、身份条件、数据前提和预期。trial 是该用例的一次完整执行。多轮任务从开始到终态可以算一次 trial,里面再按回合记录 turn。底层模型重试是内部尝试,不应未经约定就膨胀成新的独立用例。

一条题执行三次,意味着一个 Case、三个 trial。每次使用哪个数据集版本、模型、语义资产与权限配置,都要可回查。如果中途修改输入或参考,新的执行应指向新版本,不能让同一个用例标识在历史上代表不同问题而没有说明。

参考答案是独立判断依据,运行基线是某个被测版本的历史输出,两者不能互相替代。新版本与旧版本回答一致,只说明没有观察到差异;旧版本原本可能就错。回归比较同时需要独立参考,才能区分一致地错误与真正保持正确。

预期也不只是最终文字。可以按意图、过程、结果和回答四类组织:意图记录标准条件;过程记录必须发生或禁止发生的关键操作;结果记录业务数据或终态;回答记录数字、单位与交付要求。检查器只核验有证据的可见行为,不要求保存模型私有推理。

用例示意:
  任务: 查询门店A九月净销售额
  条件预期: 指标和时间完整匹配
  过程预期: 授权通过后才允许提交查询
  结果预期: 独立快照中的300元
  回答预期: 明确金额单位并交付给发起主体
运行记录:
  用例编号: 示例C01
  执行编号: 示例T01
  参考版本: 示例R1
  数据版本: 示例S1

示意中的三百元为合成值,真实落地需要连接独立参考。字段名称只为解释职责,不能直接当作某个框架已支持这些自动断言的证明。适配时应复用框架既有用例协议,把领域核验规则留在项目评测包中,确有共性缺口再扩共享能力。

数据集先按用途分区,再冻结

至少区分开发调试、校准和验收用途。调试题可反复帮助优化提示与工具;校准题用于验证检查器和评分规则;验收题保留相对独立性,避免每次失败后马上把原题加入提示。不同用途混在一起,分数会越来越接近训练熟悉度。

分区要按同源语义分组,而非随手打乱行号。来自同一份报表条件的十种改写,应作为一组分配;同一多轮模板更换门店名,也可能高度相似。若它们跨分区,系统可能已经见过测试结构,验收结果应说明这种局限。

每条参考记录保留来源、采集时间、语义版本、数据水位和审阅状态。争议题暂不进入确定性结论,修订时保留变更原因。模型生成的问法和初标结果属于候选,人工确认后才具备基准价值,不能把自动生成数量直接报成已验证覆盖。

冻结前由有权人员审阅候选范围、关键断言和脱敏情况。人工批准应是真实动作,不能由 Agent 自动填身份或代替确认。冻结后产生版本摘要,执行清单绑定该版本。新增题、修改标准条件或调整关键预期,都需要形成新版本与审阅记录。

资产主要作用变更时要做什么
业务参考定义哪些结果正确核验口径与水位,保留版本
候选用例组织任务与断言人工审阅并补覆盖缺口
校准反例证明检查器能发现错误修改规则后重跑
冻结基准稳定版本比较变更后重新审阅
运行清单描述这次测了什么每批独立保存
失败归因推动修复和回归关联旧记录,不覆盖历史

执行前,先判断这批结果是否可比

运行清单需要记录目标版本、入口、模型与参数、语义与权限版本、数据快照、数据集摘要、检查器和 Judge 版本、并发、超时与预算。它们不是装饰信息:其中任一变化,都可能影响成功率、延迟或成本。

真实目标、隔离环境与参考未就绪时,先做协议验证是合理的,但结论只能写本地协议通过。模拟工具返回三百元,不能证明真实数仓、企业身份和渠道交付正确。报告应标注证据层级,避免把不同环境的绿灯拼成一个真实业务结论。

重复执行要控制变量。三次 trial 若跨了三个数据水位,不能直接归因模型随机性;两版本并发能力不同,也不能拿未说明条件的平均时延做公平比较。最好固定快照、相同输入与预算,并将运行顺序随机化或交错安排,减少时间和环境偏差。

失败重跑需要规则。修复后的执行可以作为新记录,不能删除首次失败;环境瞬断允许补跑,也要保留原终态和补跑原因。测试人员反复点到成功再只统计最后一次,会系统性抬高稳定性表现。

覆盖矩阵怎样进入自动检查

字段、角色、时间与异常可以无限组合,不能把笛卡尔积全部展开。先由业务和风险确定必需单元,再检查当前用例是否真正覆盖。没有独立预期的候选不算已覆盖;仅写了标签但没有对应断言,也不能自动认领。

通用任务包示意如下,不是现有框架Case格式。真实映射可以使用scenario_types、scenario_families及领域条件字段,但标签与检查器需要明确绑定。

工作包: 数据准确性基础对账
必要单元:
  - 指标净额与有效状态
  - 时间右端点
  - 一对多重复关联
  - 合法空集
产物:
  - 已批准条件和参考版本
  - 逐项独立断言
  - Oracle正负校准结果
  - 逐次执行差异与人工裁定
完成门: 必要单元有证据,无未决关键事实

按评测逻辑整理的教学实现,非业务项目源码。它按稳定用例编号去重,只接受有真值且有明确断言的覆盖声明,不把trial数或标签数量当作业务覆盖。


def coverage(required, cases):
    seen, covered = set(), set()
    for case in cases:
        if case["id"] in seen:
            raise ValueError("duplicate case id")
        seen.add(case["id"])
        if case["reference_ready"] and case["checks_ready"]:
            covered.update(set(case["cells"]) & set(required))
    return {"covered": covered, "missing": set(required) - covered}

required = {"date_end", "join_duplicate", "empty_result"}
cases = [{"id": "c1", "cells": ["date_end"], "reference_ready": True, "checks_ready": True},
         {"id": "c2", "cells": ["join_duplicate"], "reference_ready": True, "checks_ready": False}]
result = coverage(required, cases)
assert result["covered"] == {"date_end"}
assert result["missing"] == {"join_duplicate", "empty_result"}
ready = cases[1] | {"checks_ready": True}
assert "join_duplicate" in coverage(required, [cases[0], ready])["covered"]
try:
    coverage(required, [cases[0], cases[0]])
except ValueError:
    pass
else:
    raise AssertionError("duplicate case was counted twice")
print("缺断言不计覆盖,重复编号不能重复计数")

实际覆盖检查还需核验cells来自哪份需求与断言映射,不能任由候选生成器自报覆盖。某个时间端点只在组件层被测,也应与真实Agent层区别标记。覆盖率分母是已批准必要单元,不是临时把所有标签相加。

跑批和review,怎样交接才不会重复找资料

每条差异记录并排展示用户问题、标准条件、实际条件、参考版本、原始结果和最终回答。权限题增加策略与查询审计,交付题增加文件内容和实际接收对象,安全题增加前后状态。复核人员点开的是一个有上下文的任务,而不是一张孤立红色截图。

可以设置先处理严重事件,再处理不可判定和模型评分分歧,最后抽样通过项。通过抽样不是多余工作,它验证检查器有没有漏报。复核状态应区分待取证、待业务裁定、确认产品错误、确认测试错误和已完成复测,不要只有一个已处理勾选框。

归因写成可验证假设。例如“时间错了”应指向标准区间与实际参数,“数据晚到”应指向水位差异,“回答改数字”应指向原始结果和产物差值。没有这类证据时保留待确认,不能用一段模型生成的解释代替根因。

复测从影响映射选题。修改指标口径,就包含正常、状态、时间、关联与文件检查;修改身份,就包含合法、拒绝、撤权、缓存和真实渠道。原题通过后仍需要邻接反例,防止只针对一个固定问法修补。

五类指标怎样进入工作包

指标不是报告结束时临时补上的百分比。设计包先确定适用范围,构建包准备独立依据,执行包记录真实分母,复核包处理未知。下面列的是领域指标设计,不是框架读到字段后自动计算的承诺。

范围主要指标与含义计数要求未知怎样处理
权限越权事件率、合法成功率、误拒与有效拒绝trial为单位,确认泄露即使最终超时仍计事件缺审计不能填无读取,证据覆盖另列
意图Accuracy、类别Macro-F1、条件Precision/Recall/F1及ExactMatch任务分类与条件事实使用不同分母无法直接观察B1时标明间接证据
准确性执行结果正确率EX、结果行PRF、关键金额正确率同范围、水位、单位下与独立参考对账数据不齐或参考争议暂停业务裁决
回答交付事实支持率、无据断言率、关键事实整题通过、实际交付成功断言、整题和产物分别计数无法确认支持依据的事实单列
安全稳定性攻击成功率ASR、隔离违规、幂等违规、恢复成功率攻击trial、重复消息组和故障场景不能共用分母遥测缺失、查询状态未知不得记安全通过

Precision表示提取或预测内容中正确的比例,Recall表示应当识别内容中被找出的比例,F1综合两者。Macro-F1先逐类别算F1再平均,防止高频汇总题淹没少数澄清题;ExactMatch要求标准条件全部匹配。Oracle指独立判定规则,GT指经审核参考,rubric是Judge评分标准。LLM-as-Judge属于辅助语义评分,不能覆盖金额或权限的确定性失败。

工作包完成率也需明确口径。十条候选中八条已采集参考、七条已完成人审,不代表有八条可发布基准。分别报告参考就绪、审核完成与可执行覆盖;同源改写生成十种表达仍只增加问法,不增加十组独立业务条件。批量发送成功只完成执行操作,差异复核与争议关闭没有发生时,整个测试包仍未完成。

用一条任务检查七个包是否真的接通

选择“门店A九月净销售额”作为贯穿样本。设计包写明金额指标、完整月份和授权范围;构建包取得对应报表参考及水位;标注包确认口语改写未变成订单数;执行包发送问题且不附标准金额;复核包将实际条件、结果与参考并排;归因包依据差异定位;复测包保留新的运行及原始失败。

随后主动制造一次错误:把展示单位改为万元。数值查询本身应保持通过,回答或产物事实检查应失败。如果整题只有一个模糊红灯,工程师仍要从头查起;如果指标全部通过,说明断言漏了单位。工作包的完成门应要求这种故意错误能够定位,而非仅要求文件已经生成。

再制造一次参考争议,例如报表采用另一退款口径。正确处理是挂起数值裁决、修订参考版本,并保留原差异,不要求开发修改Agent去迎合错误答案。这种返回上游的分支必须进入流程,否则人工review会被迫把所有问题都压成通过或不通过。

经验感想

按工作包交接测试资产和证据:设计能执行,参考可复查,分母可追溯,失败可复测。用这些完成门组织工作,比只列场景名称更能发现实际缺项。

推荐标签

#智能问数 #Agent评测 #测试工程 #技术设计