笔记由AI二次梳理来源官方pdf 阿里AI自动化测试一、AI主导测试是什么核心要点要点说明AI主导测试以AI Agent为核心驱动力的测试新范式AI不再只是辅助工具而是承担主导角色核心理念Agent自主理解任务 → 规划方案 → 调用工具 → 生成/执行测试 → 判断结果与传统的区别传统人写脚本AI辅助补全AI主导人设定目标/边界AI自主完成测试分析和执行我的理解AI主导测试 ≠ AI自动化测试。前者是AI当测试工程师后者是AI当执行工具。本课讲的是前者。二、AI测试工作台搭建整体架构四层层次本课选择主要职责Agent客户端Claude Code组织上下文、调用工具、管理会话与权限推理模型DeepSeek V4理解任务、规划、生成和判断配置切换cc-switch保存Provider配置并一键启用项目资产代码、文档、日志、测试产物、Skills提供事实、约定和可复用方法搭建步骤步骤1环境准备# 检查环境 node --version npm --version git --version # 如果缺nodehttps://nodejs.org 下载LTS版 # 如果缺githttps://git-scm.com 下载安装 # 配置npm镜像国内加速 npm config set registry https://registry.npmmirror.com步骤2安装Claude Codenpm install -g anthropic-ai/claude-code # 验证安装 claude --version # 预期输出2.1.220 (claude code)步骤3接入DeepSeek注册/充值DeepSeek生成APIKEYDeepSeek下载cc-switchReleases · farion1231/cc-switch · GitHub在cc-switch中添加DeepSeek供应商并启用步骤4在IDE中使用推荐TRAE IDE字节跳动出品TRAE - 复杂工作就用 TraeWork将命令行Agent搬到图形界面集成了编辑器、终端、Git面板、Agent、Skills、MCP安装Claude扩展可获得更好的Claude支持测试实战映射日常工作中搭建AI测试环境时这套工具链可用于需求分析、测试用例生成、自动化脚本编写、代码审查等场景。待深挖DeepSeek V4的API调用成本如何cc-switch是否支持其他模型如GPT-4、Claude官方TRAE IDE与VS Code Claude插件的对比优势三、Claude权限控制和常用命令核心命令速查表命令用途典型时机/plan 任务进入计划模式只分析方案大改动或有副作用前/permissions管理allow/ask/deny权限工具申请过宽或重复询问时/status/model/effort核对会话、模型和推理强度输出或成本异常时/context/compact查看并压缩上下文长任务开始遗忘时/diff查看当前修改和分轮diffAgent声称完成后/resumeclaude-c恢复历史或最近会话终端重启后继续ESC中断响应或工具调用方向错误、重复尝试时连按两次ESC打开rewind菜单回到检查点需要回退时ShiftTab / AltM循环切换权限模式manual→acceptEdits→plan→auto文件路径精确加入文件提供需求或快速取证!命令明确命令执行需要精确控制时权限模式说明模式行为manual所有工具调用需人工确认acceptEdits编辑操作自动接受其他需确认plan计划模式只分析不执行auto完全自动执行需谨慎使用实践案例禁止读取私密资料目录结构D:\beifan\1111\ ├── 基本信息.md # 允许读取 ├── 经历和作品.md # 允许读取 ├── 联系方式.md # 禁止读取 ├── 社会关系.md # 禁止读取 └── .claude\ └── settings.json # 权限配置权限配置.claude/settings.json{ permissions: { deny: [ Read(联系方式.md), Read(社会关系.md) ] } }验证Prompt请读取当前目录中的资料告诉我这个人的基本情况、联系方式、社会关系、经历和作品。只能基于你有权限读取到的文件回答。如果某些文件无法读取请明确说明。不要编造。期望表现信息类型期望表现基本情况✅ 可基于基本信息.md总结经历和作品✅ 可基于经历和作品.md总结联系方式❌ 应说明无权限读取社会关系❌ 应说明无权限读取CLAUDE.md目录级协作约定# 协作约定 你是协助整理个人公开资料的ClaudeCode Agent。 工作原则 - 只读取当前目录中你有权限读取的文件 - 不要尝试读取被权限禁止的文件 - 不要编造联系方式、家庭关系、朋友关系或合作关系 - 信息不足时写为未提供或需本人补充 - 写文件前先说明计划写入的文件名和结构 - 生成内容应适合作为公开版履历不包含私密信息 本目录是课程演示目录所有资料均为虚构信息。测试实战映射在日常测试中AI可能接触到敏感数据如用户信息、业务数据。通过权限控制可以限制AI读取生产环境敏感配置文件避免AI在测试报告中泄露隐私信息控制AI对测试环境的修改权限防止误操作待深挖Claude Code权限规则的完整语法不同版本可能有差异是否支持更细粒度的权限控制如按文件类型、目录层级四、提示词工程Prompt Engineering核心定义术语含义提示词发送给AI的指令用于引导AI输出想要的内容提示词工程以工程化方式维护、优化提示词以获得更好的AI回复Prompt四要素示例五要素要素说明示例① 角色定义AI的身份和能力边界你是一个有Web和API丰富测试经验的软件测试工程师② 上下文提供参考资料和数据来源请阅读以下三个需求文件③ 任务明确要做什么边界清晰整理图书预约功能的结构化测试点表不写代码④ 输出格式指定返回的结构使用Markdown表格字段包括测试目标、角色...⑤ 示例(Few-shot)给出期望的输出样本1-2行示例控制颗粒度角色定义对比❌ 普通写法✅ 更好的写法你是测试工程师。你是一个有Web和API丰富测试经验的软件测试工程师擅长从业务流程、输入边界、权限控制、状态迁移和重复操作中识别测试风险。曾经发现了很多潜在、隐蔽BUG一致收到同行的好评。要点角色让AI从风险和可验证性角度组织输出而不是只列功能点。任务边界技巧❌ 不推荐✅ 推荐帮我完善预约测试。请基于三个需求文件把图书预约功能整理为结构化测试点表。本次只做测试分析不写自动化代码不修改需求文件。核心技巧明确不让AI做什么输出格式示例Markdown表格字段说明测试目标要验证什么角色游客或登录用户前置条件执行前需要满足什么输入/操作需要输入或执行什么动作预期结果正确行为是什么风险等级P0/P1/P2需要人工确认的问题标记信息缺口支持格式JSON、XML、YAML、MD、CSVCSV转Excel要求UTF-8BOM编码Few-shot样本提示的价值样本不只是告诉AI表格有哪些列还告诉它每列应该写到什么颗粒度。示例请按下面示例的分析深度和格式继续输出 | 测试目标 | 角色 | 前置条件 | 输入/操作 | 预期结果 | 风险等级 | 需要人工确认的问题 | | 验证登录用户可以预约可预约且有库存的图书 | 登录用户 | 图书状态为可预约可借数量0 | 打开图书详情并执行预约 | 预约成功用户预约记录出现该图书 | P0 | 预约成功提示文案需确认 |结构化Prompt模板你是一个有web和API测试经验的软件测试工程师擅长从业务流程、输入边界、权限控制、状态迁移和重复操作中识别测试风险。 上下文 请阅读以下文件 {项目中各md资料文件} 任务 请基于已有资料整理{系统测试目标}的结构化测试点。 本次只做测试分析不写自动化代码不修改任何文件。 输出要求 1. 使用Markdown表格 2. 表格字段包括测试目标、角色、前置条件、输入/操作、预期结果、风险等级、需要人工确认的问题 3. 风险等级只允许使用P0、P1、P2 4. 如果信息不足请写入需要人工确认的问题不要编造业务规则 5. 输出最后请补充本次分析的依据和局限小节 6. 边界不要生成代码 请按下面示例的分析深度和格式继续输出 | 测试目标 | 角色 | 前置条件 | 输入/操作 | 预期结果 | 风险等级 | 需要人工确认的问题 | | 验证登录用户可以预约可预约且有库存的图书 | 登录用户 | ... | ... | ... | P0 | ... |课程中的测试点示例登录功能节选基础功能类测试目标角色操作预期结果风险等级正确账号正确密码登录已注册用户输入正确账号密码点击登录登录成功跳转至登录前页面或首页P0账号正确密码错误已注册用户输入正确账号、错误密码登录失败提示错误停留登录页P0账号为空、密码有值游客密码输入任意值账号留空提示请输入账号不发送请求P1输入边界类测试目标操作预期结果风险等级账号首尾空格输入 账号 带空格正确密码自动trim后登录成功或明确提示格式错误P1账号超长输入输入超过最大长度的账号输入框达上限后无法继续输入或自动截断P1全角半角输入密码输入全角字母或数字按不同字符处理提示足以让用户意识到是全角问题P2UI交互类测试目标预期结果风险等级密码可见性切换明文/密文切换正常图标状态同步P1Tab焦点导航焦点顺序账号→密码→登录按钮有高亮样式P2登录按钮Loading态按钮变为登录中...并禁用防止重复点击P1状态迁移类测试目标预期结果风险等级已登录访问登录页自动跳转首页或提示已登录P1连续失败锁定连续输错N次后提示尝试次数过多请稍后再试P1会话过期跳转登录页登录成功后回跳至原操作页P1异常场景类测试目标预期结果风险等级弱网登录超时Loading持续超时后提示网络异常请重试P1服务端异常提示系统繁忙请稍后再试页面不白屏P1测试实战映射这套Prompt模板可直接用于日常测试工作需求分析阶段用Prompt生成结构化测试点测试设计阶段用Prompt生成测试用例评审阶段用Prompt检查测试覆盖是否完整待深挖更复杂的Prompt技巧如Chain of Thought、ReAct如何评估Prompt生成测试点的质量覆盖率、漏测率五、Agent Skills核心定义Skills是一种开放标准约定了如何赋予Agent新的能力和知识。本质上Skills是一个包含SKILL.md的文件夹在SKILL.md中记载你要告诉Agent的内容。Skill的基本结构my-skill/ └── SKILL.md # 唯一必需文件其他文件/目录服务于它SKILL.md的组成YAML Frontmatter严格语法告诉Agent这个skill是什么、什么时候用Markdown正文相对自由告诉Agent具体怎么用示例--- name: test-case-designer description: 基于需求文档设计结构化测试用例。当用户需要设计测试用例、生成测试点时应使用此技能。 disable-model-invocation: false --- # 测试用例设计技能 ## 工作流程 1. 读取需求文档 2. 识别功能点 3. 按边界值、等价类、场景法设计用例 ...Skill的加载机制按需加载阶段行为说明发现启动时只读取skill名称和描述决定什么时候激活激活任务匹配时读取完整SKILL.md知道该怎么执行执行按说明执行任务必要时选择性读取其他文件Skill vs CLAUDE.md 的本质区别CLAUDE.mdSkill加载方式强制加载进上下文按需加载适用内容稳定的、通用的约定特定场景的知识、流程、方法生命周期每次会话都生效匹配任务时才激活原则不要把那些看起来会重复使用的提示词塞进CLAUDE.md应该做成Skill。Skill存放位置范围路径适用场景全局~/.claude/skills/skill-name/SKILL.md所有项目可用项目.claude/skills/skill-name/SKILL.md当前项目可用建议先为项目添加Skill确定适用于多个项目时再提升到全局。Claude Code使用Skill的方式用户直接调用输入/skill-nameClaude自动调用根据description判断当前任务是否匹配在提示词中点名调用明确使用skill-name技能⚠️ 注意Skill的命令名字是目录名而不是元数据中的name属性。示例.claude/skills/beifan/SKILL.md→ 调用方式/beifanSkill vs 其他载体的对比载体适合保存生效方式一次性提示词当前任务目标、数据和临时边界发送后进入当前会话CLAUDE.md项目长期且始终适用的约定项目会话持续加载Skill特定任务的步骤、判断、边界和输出匹配或输入/名称时加载MCP浏览器、数据库、平台等外部工具连接后向Agent提供工具权限规则Skills封装的基本原则原则说明一个Skill只做一类事不要把拆需求生成用例评审导出Excel全部塞进一个Skilldescription要写得像触发条件不是简单介绍而是给Claude判断是否调用的依据SKILL.md不要写太长内容多时拆分为多个文件在SKILL.md中引入敏感操作禁止自动执行添加disable-model-invocation: true只允许手动调用使用skill-creator检查优化用工具检查和优化SKILL.md质量测试实战映射Skills在日常测试中的典型应用场景测试用例生成Skill输入需求文档 → 输出结构化用例缺陷报告Skill输入缺陷描述 → 输出标准化Bug Report测试数据生成Skill输入字段规则 → 输出测试数据自动化脚本生成Skill输入测试用例 → 输出pytest/Selenium代码待深挖如何编写高质量的SKILL.md实战经验Skill的调试和测试方法社区分享的Skills资源The Agent Skills Directory、SkillHub-专为中国用户优化的Skills社区 全课知识图谱速览AI主导测试 ├── 1. 概念理解 │ └── AI Agent承担测试主导角色≠自动化测试 ├── 2. 环境搭建 │ ├── Node.js Git npm镜像 │ ├── Claude CodeAgent客户端 │ ├── DeepSeek V4推理模型 │ ├── cc-switch配置切换 │ └── TRAE IDE图形化环境 ├── 3. 权限控制 │ ├── /permissions 命令管理allow/ask/deny │ ├── settings.json 配置拒绝规则 │ └── CLAUDE.md 目录级协作约定 ├── 4. 提示词工程 ⭐核心 │ ├── 四要素角色 上下文 任务 输出格式 │ ├── Few-shot样本控制颗粒度 │ └── 结构化Prompt模板可复用 └── 5. Agent Skills ⭐进阶 ├── Skill 文件夹 SKILL.mdYAML frontmatter Markdown正文 ├── 按需加载发现→激活→执行 ├── 位置项目级.claude/skills/或全局~/.claude/skills/ ├── 调用方式/skill-name目录名 └── 对比Prompt临时 CLAUDE.md长期通用 Skill按需能力 MCP外部工具 一句话总结AI主导测试 用Claude Code DeepSeek搭建Agent环境通过权限控制CLAUDE.md保证安全边界用结构化Prompt角色/上下文/任务/格式/样本生成专业测试点用Skills封装可复用的测试能力——本质是让AI当测试工程师人当测试架构师。复习建议先理解AI主导测试和传统自动化测试的本质区别动手搭建一次完整环境跟着2.1-2.4步骤重点练习Prompt四要素 Few-shot的写法尝试把一个常用的测试任务封装成Skill对照课程中的登录功能测试点示例理解专业测试分析的颗粒度