高质量测试 Skill 编写手册 -- 渐进式披露

简介: 渐进式披露是AI技能设计的核心原则:不一次性堆砌全部知识,而是按需分层加载——先给元数据(名称/描述),再依任务加载指令(SKILL.md),最后按需读取细节(references/脚本),显著降低上下文污染、提升准确率。

什么是渐进式披露
渐进式披露是高质量 Skill 中最基础也最重要的技巧之一。 用一句话表达就是:不要把所有的规则和知识都一股脑的写在提示词中交给大模型,而是只在必要的时候,加载对应的知识。

为什么需要渐进式披露
在大模型领域有一句话叫上下文腐坏,我通常喜欢叫它上下文污染,但意思都是一样的。当交给大模型的上下文过长的时候,这些内容就会让大模型产生误判,或者说让大模型的注意力转移,把真正重要的内容忽略掉(没办法,transform 模型本质上还是用注意力模式构建的)。 这一点在复杂任务下会尤其明显。

在我们的自动化测试工程中,通常都会由 AI 来完成代码生成的工作,但很多同学总会反馈 AI 生成的代码一次通过率很低,大模型总会在一些细枝末节的地方出纰漏,或者没有理解准确我的意思。 这很可能是长上下文带来的影响。

这其实很好理解,整个自动化测试的项目太大了, 我们历史上可能已经构建了数千条测试用例。这些测试用例之间可能由于场景特性,相近的功能,但用了略有差异的执行和验证方式。这些就会给大模型带来困扰。我们应该让大模型只去理解那些必要的知识,而非把所有东西一股脑扔给他。

要如何做到渐进式披露
概念好理解,但概念太虚了,我要怎么实操呢? 这里我们先给出一个例子。 在我的编写接口自动化测试的 SKILL.md 中, 最开头就有这样一段:

自动化测试用例编写 - 公共知识库

工作流(必须严格按顺序执行)

每次编写测试用例时,必须按以下工作流依次执行:

Step 1:阅读规则

  1. 阅读本文件,获取公共模块知识
  2. 根据用例所属功能域,读取 references/ 目录下对应的参考文件(见下方分层索引)
  3. 读取用例目标目录下的 .rules 文件,获取该目录的特定规则

Step 2:参考已有用例

  1. 在用例目标目录下,找到 1-2 个功能最相近的已有测试用例文件
  2. 阅读这些用例的完整代码,学习其基类、导入、写法、命名、步骤风格
  3. 新用例的风格必须与同目录已有用例保持一致

分层参考文件索引

根据要编写的用例所属功能域,必须读取对应的参考文件:

功能域 参考文件 对应用例路径
权限测试 references/auth.md cases/platform_management/auth/
计费测试 references/billing.md cases/platform_management/price/
提示词模板 references/prompt-tpl.md cases/prompt_templates/
模型广场 references/model-market.md cases/model_marketplace/
插件广场 references/plugin-market.md cases/plugin_marketplace/
多Agent模型 references/multi-agent.md cases/app_dev/multi_agent_model/

重要:编写特定领域用例时,必须先读取对应的 references/*.md 文件,获取该领域的基类、Service、测试模式等专用知识。
在 references 目录下的文件:

23e5a26b-f6c8-4a21-b576-b095c9e78d4b.png

在这段 skill 的工作流中,首先说明需要大模型根据测试场景, 和测试存放的目录进行分层读取:

首先,如果是一个权限相关的测试用例。 大模型根据 skill 指引,读取 references 下的 auth.md 文件,这里面记录的是什么呢?我们可以看一下:

三、权限测试标准流程

3.1 创建工作空间并添加子账号

self.start_step("使用主账号创建工作空间")
self.create_workspace_with_sub_account("权限测试工作空间名称")

self.workspace_id 和 self.sub_uin 自动设置

3.2 三种授权方式

权限系统支持三种授权对象,使用不同的 API:

授权对象 API 方法 说明
用户 AuthAPI.SetUserResourcePermissions 给用户直接赋予数据权限
组织 AuthAPI.SetSubjectResourcePermissions 给组织赋予数据权限,组织内成员继承
角色 AuthAPI.SetRoleResourcePermissions 给角色赋予数据权限,角色下用户继承

用户直接授权

from lib.lke_api.platform_management.auth.auth_api import AuthAPI
from cases.platform_management.auth.permissions import AppPermissions

res = AuthAPI.SetUserResourcePermissions(
SpaceId=self.workspace_id,
AccountUin=self.sub_uin,
Permissions=AppPermissions.adpAPP_no_permission, # 权限配置
account_name="Master_Default",
ResourceIds=[""], # "" 表示所有资源
ResourceType="app" # 资源类型
)
if"Error"in res["Response"]:
raise Exception(f"设置子账号权限失败. {res=}")

组织授权

SubjectType=1 表示组织

res = AuthAPI.SetSubjectResourcePermissions(
SpaceId=self.workspace_id,
SubjectId=self.dept_id, # 组织ID
SubjectType=1, # 1=组织
Permissions=AppPermissions.adpAPP_view,
ResourceIds=["*"],
ResourceType="app",
account_name="Master_Default"
)
if"Error"in res.get("Response", {}):
raise Exception(f"为组织设置权限失败. {res=}")
time.sleep(40) # 等待权限生效

角色授权

res = AuthAPI.SetRoleResourcePermissions(
SpaceId=self.workspace_id,
RoleId=self.role_id, # 角色ID
Permissions=AppPermissions.advance_custom_all,
ResourceIds=["*"],
ResourceType="app",
account_name="Master_Default"
)
if"Error"in res.get("Response", {}):
raise Exception(f"为角色设置权限失败. {res=}")
time.sleep(40) # 等待权限生效
上面那些是权限模块的公共方法, 但根据不同的场景, 它还有特定的知识, 比如根据角色设置权限的测试点和操作方法,与根据组织设置权限就会略有不同。所以 SKILL.md 中的工作流还会要求大模型去读取对应目录, 这些目录下的规则文件和相似的测试用例。 这些都是让大模型进行参考的重要知识。 所以在 SKILL.md 中才会在 step2 里规定:

Step 2:参考已有用例

  1. 在用例目标目录下,找到 1-2 个功能最相近的已有测试用例文件
  2. 阅读这些用例的完整代码,学习其基类、导入、写法、命名、步骤风格
  3. 新用例的风格必须与同目录已有用例保持一致
    在整个知识体系中,我们其实是分了三层的:

第一层:SKILL.md 定义工作流和公共知识.
第二层:references:该目录存放了多个文件,记录着每个模块特有的代码知识。
第三层:特定场景测试 case 存放的目录:该目录下也有 rule 文件记录特定场景知识,也会让大模型读取这里的测试文件,进行一定的参考。
以上, 就是我在接口自动化测试项目中的一个实践。

进一步的扩展
事实上,在整个 Agent 和 SKILL 的优化实践中,让 Agent 只理解必要的知识,减少无关的内容,是贯穿了整个设计的原则。 渐进式纰漏只是其中的一种。 在后面要讲的多 Agent 隔离, 执行结果持久化 也是这种思想的体现。

相关文章
|
7月前
|
人工智能 JSON 搜索推荐
从0到1搭建测试专用Skills库:自动断言+数据构造+多模态识别
本文探讨AI时代测试范式的根本变革:生成式测试兴起,传统“断言=预期”失效。测试资产正从一次性用例升级为可组合、可复用的“Skill”(能力单元),涵盖自动断言、智能数据构造与多模态识别三类核心技术,并提供落地路径与行业实践参考。
|
6月前
|
人工智能 监控 测试技术
AI 测试用例审核 Skill:把用例评审从“凭经验”变成“可评分”
本文介绍一种AI驱动的测试用例审核Skill,将资深测试负责人的评审经验封装为可复用、可量化、可批量执行的标准能力。它能自动检查逻辑完整性、预期明确性、前置条件、PRD覆盖度及边界异常,逐条评分、定位问题、给出修改建议,助力团队提升用例质量、统一评审标准、加速新人成长。
|
6月前
|
人工智能 测试技术 开发工具
你的同事已经开始用Skill写测试用例了,而你还在手点
本文揭示AI测试转型本质:非追求“写得更快”,而是将隐性经验工程化封装为可复用Skill。通过Agent+MCP架构,把测试设计(等价类、边界值、场景法等)拆解为标准化工作流,实现用例生成从“小时级手撸”到“分钟级闭环”的跃迁。核心竞争力正从操作AI转向构建AI可执行的测试资产。
|
9月前
|
人工智能 自然语言处理 测试技术
Prompt Engineering 进阶:如何写出让 AI 自动生成高质量测试用例的提示词?
AI赋能测试用例设计,关键在结构化Prompt:需明确角色、业务、技术栈与约束,并融入等价类、状态图等测试方法论;要求表格化/代码化输出,辅以少样本示例和异常场景深挖。本质是将测试经验精准传递给AI。
|
5月前
|
人工智能 JSON 测试技术
接口自动化测试的下一个十年:从脚本到Skills,让AI学会“如何测”
本文探讨接口自动化测试的范式升级:从低效脚本维护转向AI驱动的“技能(Skills)”模式。指出脚本堆积不等于测试能力,核心在于沉淀可推理的业务规则与契约。通过三层机制(业务知识层、策略生成层、执行反馈层),实现从“执行指令”到“理解意图”的跃迁。强调测试工程师的新价值——定义“如何测”,而非写多少行代码。
|
5月前
|
人工智能 测试技术 Shell
测试岗缩编30%后,活下来的人都悄悄搭了这套系统
本文直击测试团队AI焦虑,提出用Harness流水线为Claude Code构建“工程脊椎”——将AI测试从随意对话升级为可审计、可回滚、可度量的智能体系统。2小时即可落地,告别幻觉断言与不可复现,让AI真正可信可用。
|
5月前
|
人工智能 JSON 测试技术
3人团队搞定500+接口:用Skills构建可复用的“测试技能库”,复用率提升80%
本文直击接口自动化测试痛点:脚本重复率高、复用率不足20%、维护成本飙升。提出“测试技能库”新范式——将校验逻辑提炼为可检索、可组合、带契约的“技能”,实现从“代码复用”到“能力复用”的跃迁。含三层架构、落地三步法与真实订单案例,助团队降本增效。
|
5月前
|
人工智能 自然语言处理 前端开发
Playwright + 三大AI测试智能体实战:从用例生成到自动修复全记录(附可复现命令)
团队基于Playwright打造“测试智能体”三件套:用例生成器(RAG+自然语言)、执行自愈引擎(AI定位修复)、智能断言分析器(LLM比对结果)。三者协同使Web自动化测试编写与维护成本降60%,200个场景验证有效。
|
5月前
|
人工智能 前端开发 测试技术
Cursor 把内部代码审查工具放出来了,AI 写代码之后,质量风险变了
AI 编程提速明显,但代码“能跑”不等于“健康”。Cursor Team Kit 揭示新质量风险:复杂度飙升、结构混乱、可测性下降——问题正前移至PR阶段。测试需从功能验证转向质量门禁,在代码入主干前拦截可维护性与可测性风险。

热门文章

最新文章