pm-skills 实战:/test-scenarios 命令——把用户故事一键转化为 QA 可执行测试场景
2026/9/11 18:43:48 网站建设 项目流程

pm-skills 实战:/test-scenarios 命令——把用户故事一键转化为 QA 可执行测试场景

【免费下载链接】pm-skillsPM Skills Marketplace: 100+ agentic skills, commands, and plugins — from discovery to strategy, execution, launch, and growth.项目地址: https://gitcode.com/GitHub_Trending/pm/pm-skills

本指南围绕 pm-execution 插件中的/test-scenarios命令展开,讲解如何把用户故事、验收标准、PRD 片段等需求描述自动转化为覆盖快乐路径(happy path)、边界条件、错误处理、安全与性能场景的结构化测试文档。读完本文,你将掌握该命令的完整调用方式、四步生成工作流、可直接复制使用的输出模板,以及其底层 test-scenarios 技能的实现原理,让测试场景产出从"凭经验手写"升级为"按规范自动生成、QA 拿来即用"。

命令定位:从需求描述到测试场景的生成器

/test-scenarios是 pm-execution 插件提供的 11 个命令之一,位于 pm-execution/commands/test-scenarios.md。其命令前端的元数据定义如下:

--- description: Generate comprehensive test scenarios from user stories or feature specs — happy paths, edge cases, and error handling argument-hint: "<user stories, feature spec, or description>" ---
  • description声明命令能力:从用户故事或功能规格生成全面测试场景,覆盖快乐路径、边界情况与错误处理;
  • argument-hint明确输入形态:直接粘贴用户故事 / 功能规格 / 需求描述即可。

该命令的职责一句话概括:把"需求是什么"翻译成"QA 可以立即执行的一组测试脚本"。它不负责写代码,也不负责断言测试通过与否,而是把模糊的产品意图转译为可验证的行为清单——这正是产品经理与 QA 之间最关键的交接产物。

从仓库工程角度看,validate_plugins.py(validate_plugins.py)会对所有命令文件做规范化校验:description是命令 frontmatter 的必需字段,argument-hint是推荐字段;同时会检查命令中引用的技能是否真实存在于同插件内(validate_cross_references函数)。这意味着/test-scenarios的元数据与对技能的引用都受到仓库级质量约束,保证命令可被 Claude Code / Cowork 正确解析和加载。

三种典型调用方式

命令支持灵活的输入方式,从 test-scenarios.md 的 Invocation 一节可以看到三种典型用法:

/test-scenarios [paste user stories or acceptance criteria] /test-scenarios [upload a PRD or feature spec] /test-scenarios User can reset their password via email link
  • 直接粘贴:把用户故事或验收标准贴在命令后,最常用;
  • 上传文档:上传 PRD 或功能规格文件,命令会自动提取其中的需求要点进行分解;
  • 一句话描述:哪怕只有一个功能陈述(如"用户可以通过邮件链接重置密码"),命令也能展开为完整测试场景。

四步工作流:从输入到可交付文档

Step 1:接受输入

命令接受一切描述"预期行为"的输入,包括:用户故事、验收标准、PRD 章节、功能描述或任何规格说明。输入越具体,生成的测试场景越精准——这是整个流程的信息源头。

Step 2:应用 test-scenarios 技能生成场景

这是核心步骤。命令会应用test-scenarios技能(pm-execution/skills/test-scenarios/SKILL.md),对每一条用户故事或需求生成五类测试场景:

场景类别关注点
Happy Path Scenarios预期用户流程正确工作的主路径
Edge Cases边界条件、异常输入、并发操作
Error Scenarios系统出错时会发生什么
Security Scenarios(如适用)认证、权限、数据访问
Performance Scenarios(如适用)负载、超时、大数据量

技能的 8 步流程为场景生成提供了明确的方法论顺序:审阅用户故事与验收标准 → 定义测试目标 → 建立起始条件(系统状态、数据准备、配置)→ 识别用户角色 → 分解测试步骤 → 定义每步预期结果 → 考虑边界情况(无效输入、边界值)→ 输出可直接执行测试的详细场景。

命令文件与技能文件的引用关系在仓库中可验证:validate_plugins.py通过正则\*\*(\w[\w-]+)\*\*\s+skill扫描命令中对技能的引用,并核对技能目录确实存在,确保/test-scenarios引用的 test-scenarios 技能始终可用。

Step 3:结构化输出

命令按固定模板组织输出(模板全文见下一节),并在最后以 markdown 文件形式保存,方便归档、评审或直接导入测试管理工具。

Step 4:提供后续建议

命令完成输出后,会主动给出衔接下一步的选项,构成完整的工作闭环:

  • "Want me togenerate the test datafor these scenarios?"
  • "Should Iadd more edge casesfor any specific scenario?"
  • "Want me tocreate the user storiesthat these scenarios test?"

输出模板逐字段解读(可复制直接使用)

命令的输出遵循下述模板,每条场景独立成节,最后附覆盖矩阵与测试数据需求:

## Test Scenarios: [Feature] **Source**: [user stories / PRD / description] **Total scenarios**: [count] **Coverage**: [happy path / edge cases / errors / security / performance] ### Scenario 1: [Title] **Tests**: [which story or requirement] **Preconditions**: [setup needed] **User role**: [who is performing this] | Step | Action | Expected Result | |------|--------|----------------| | 1 | [user action] | [expected system response] | | 2 | [user action] | [expected system response] | **Postconditions**: [state after completion] **Priority**: [Critical / High / Medium / Low] --- [Repeat for each scenario] ### Coverage Matrix | Requirement | Happy Path | Edge Cases | Error Handling | Notes | |------------|-----------|-----------|---------------|-------| ### Test Data Requirements [What test data is needed to execute these scenarios]

各字段的实操含义:

  • 头部元信息Source标明场景来源(故事/PRD/描述),Total scenarios给出总量,Coverage声明覆盖了哪些类别,方便评审时一眼判断覆盖面;
  • Scenario 头部Tests回链到被验证的需求或故事;Preconditions明确前置条件(系统状态、数据、配置),User role指明执行者角色;
  • 步骤表:每行一个"动作 → 期望结果"对,是 QA 逐行执行的最小单位;期望结果必须可观测(如"显示……""跳转到……""耗时 < 2s"),不能写含糊的"正常";
  • Postconditions / Priority:完成后系统状态 + 优先级(Critical / High / Medium / Low),供排期与回归分级使用;
  • Coverage Matrix:一张需求 ↔ 快乐路径 ↔ 边界 ↔ 错误处理的可追踪矩阵,确保每条验收标准都有归属;
  • Test Data Requirements:列出执行这些场景所需的测试数据,为后续generate-data命令提供输入。

底层技能精读:test-scenarios 的完整生成方法论

命令背后的 test-scenarios 技能 是方法论的真正载体,它定义了比命令更细粒度的场景模板,特点是把"测试目标"显式前置

**Test Scenario:** [Clear scenario name] **Test Objective:** [What this test validates] **Starting Conditions:** - [System state required] - [Data or configuration needed] - [User setup or permissions] **User Role:** [Who performs the test] **Test Steps:** 1. [First action and its expected result] 2. [Second action and observable outcome] 3. [Third action and system behavior] 4. [Completion action and final state] **Expected Outcomes:** - [Observable result 1] - [Observable result 2] - [Observable result 3]

技能还内置了一个完整的电商示例——"在产品页查看最近浏览商品"(View Recently Viewed Products on Product Page),可作为质量标杆:

  • 测试目标:验证"Recently viewed"区块正确展示且排除当前商品;
  • 起始条件:用户已登录或开启浏览历史;当前会话已浏览至少 2 个商品;当前停留在与其他浏览商品不同的产品页;
  • 用户角色:在线购物者(Online Shopper);
  • 测试步骤(5 步):导航到产品页 → 滚动到底部 → 校验缩略图信息 → 确认当前商品不在列表 → 点击卡片跳转;
  • 期望结果(6 条):仅在浏览过 ≥1 个商品后出现;展示 4–8 张完整信息卡片;当前商品被排除;每张卡片带"Viewed X minutes/hours ago"时间戳;点击跳转正确;性能:区块在 2 秒内加载完成。

这个例子示范了两条高质量场景的黄金法则:每条期望结果都必须可观测可量化(数量、时间戳、加载时长),边界与性能也被显式纳入期望,而不是事后补测。

与相邻命令/技能的协同闭环

/test-scenarios不是孤立命令,它在 pm-execution 的流水线中与多个命令、技能互相咬合:

  1. 上游:写故事——/write-stories 把功能拆分为用户故事/工作故事/WWA 格式,每条故事自带验收标准;这正是/test-scenarios的理想输入。反过来,/test-scenarios完成后也会建议"Want me tocreate the user storiesthat these scenarios test?"。支持的三种故事格式分别对应 user-stories(3 C's + INVEST)、job-stories(When…I want…so I can)、wwas(Why-What-Acceptance),其验收标准均可直接被测试场景引用;
  2. 下游:造数据——/generate-data 生成符合约束的哑数据集(CSV/JSON/SQL/Python 脚本),正好填充输出模板末尾的Test Data Requirements;它完成时也会反问"Want me towrite test scenariosthat use this data?",形成双向循环;
  3. 并行:需求源头——/write-prd 产出的 PRD 章节可直接上传给/test-scenarios作为输入。

这种"命令产出 = 另一命令输入"的设计,正是根目录 README 强调的"Commands are designed to flow into each other":写完故事生成测试,测完生成数据,数据反过来喂养测试。

设计要点与使用注意事项

原命令文档的 Notes 部分总结了四条核心设计原则,值得在实际使用中严格遵循:

  • 先快乐路径,再叠加边界:先确保基本流程可跑通,再测试边界——不要在快乐路径没验证时就扎进极端情况;
  • 每条验收标准至少映射一个测试场景:原故事中的每一条验收标准都必须能在场景矩阵中找到落点,这是可追踪性的底线;
  • 正反测试并重:既要有正向测试(it works),也要有负向测试(it fails gracefully),验证"优雅失败"与验证"正常成功"同等重要;
  • API 场景特殊处理:针对 API,至少覆盖限流(rate limiting)、超时(timeout)、畸形请求(malformed requests)与认证失败(auth failures)四类场景;
  • 主动标注环境依赖:对需要特定测试环境或第三方服务 mock 的场景,必须在文档中显式标记,避免 QA 拿到场景却无法执行。

如何安装并使用

/test-scenarios属于 pm-execution 插件。通过 Claude Code CLI 安装:

claude plugin marketplace add phuryn/pm-skills claude plugin install pm-execution@pm-skills

安装完成后即可在对话中直接以/test-scenarios <需求描述>调用。非开发者的 Claude Cowork 用户可在Customize → Browse plugins → Personal → +中添加phuryn/pm-skills市场,9 个插件(含 pm-execution)会自动安装;命令文件以/command形式触发,而 test-scenarios/SKILL.md 遵循通用技能格式,也可复制到 Gemini CLI、OpenCode、Cursor、Kiro 等其他工具中使用(详见根目录 README 的安装章节)。

小结

/test-scenarios解决的是产品交付链路中一个高频且高成本的问题:需求到测试之间的翻译损耗。它用"命令编排 + 技能沉淀"的方式,把五类测试场景(快乐路径、边界、错误、安全、性能)的生成标准化、模板化,并通过覆盖矩阵保证每条验收标准可追踪。配合 /write-stories 生成故事、/generate-data 生成测试数据,PM 可以在一次对话内走完"故事 → 场景 → 数据"的完整测试准备闭环,把精力留给真正需要人工判断的测试设计决策。

【免费下载链接】pm-skillsPM Skills Marketplace: 100+ agentic skills, commands, and plugins — from discovery to strategy, execution, launch, and growth.项目地址: https://gitcode.com/GitHub_Trending/pm/pm-skills

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询