testcase-from-prd

Polar Sponsor
爱发电 赞助
.NET 9.0

从 PRD 需求文档(Figma 链接、本地文档或文字描述)中,运用等价类、边界值、场景法、判定表、错误推测等测试方法梳理测试用例,通过 lark-cli 在用户提供的飞书模板表格文档内复制模板工作表并写入。当用户提供需求文档或设计图并要求生成测试点/测试用例时使用。用法参考:帮我写一份测试用例,prd链接为...,飞书模板链接为...。

从 PRD 需求文档生成测试用例(飞书在线表格)

功能概述

从 PRD 需求文档生成测试用例(飞书在线表格)是一项面向实际任务的技能,主要用于流程 :前置检查 → 获取需求 → 搭整体结构 → 按测试方法写用例 → 自检 → 写入飞书表格;一、前置检查;

核心要点

  • 1.1 飞书模板表格(必须提供);
  • 用户必须提供飞书表格 URL: https://xxx.feishu.cn/sheets/{spreadsheet_token}?;
  • sheet={sheet_id};

使用与执行

未提供先索要,拿到前不要开。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

从 PRD 需求文档生成测试用例(飞书在线表格)

流程:前置检查 → 获取需求 → 搭整体结构 → 按测试方法写用例 → 自检 → 写入飞书表格

一、前置检查

1.1 飞书模板表格(必须提供)

  • 用户必须提供飞书表格 URL:https://xxx.feishu.cn/sheets/{spreadsheet_token}?sheet={sheet_id}。未提供先索要,拿到前不要开始生成用例。
  • 解析:/sheets/ 后的段为 spreadsheet_token,?sheet= 为模板 sheet_id(缺失时询问用哪个工作表)。
  • 用例写入该文档本身:复制模板工作表为新工作表(保留样式、下拉、高亮),不创建新文件,不改动任何已有工作表。
  • 需要文档编辑权限,写入报错时提示用户开通。

1.2 lark-cli 就绪(未就绪依次执行)

  1. lark-cli --version;未安装则 npm install -g @larksuite/cli。
  2. lark-cli auth status:
    • 无 appId → 后台运行 lark-cli config init --new --lang zh,把输出中的 https://open.feishu.cn/page/cli?user_code=... 链接发给用户,等待完成。
    • user 身份缺失 → 后台运行 lark-cli auth login --recommend,取输出中的授权链接,并用 lark-cli auth qrcode "<链接>" --output qrcode.png 生成二维码,链接 + 二维码一并发给用户,等待完成。
    • 完成后再查 auth status 确认 bot/user 均 ready,记下 user 的 openId 与 userName(写执行人用)。
  3. 注意:--output、@file 只接受当前目录内相对路径;文件内容优先走 stdin(--csv -、--cells -)。

二、获取需求

  • Figma 链接:用 Figma MCP get_design_context 获取说明与截图。/design/{fileKey}/ 段为 fileKey;node-id=51033-172112 → nodeId 51033:172112。
  • 本地文档:直接读取(md/docx/pdf 等);都没有时请用户粘贴需求要点与界面说明。
  • 项目内有相关业务知识库文档时先读取,沿用其中的术语、规则与状态定义。

三、先定整体结构,再填用例

按以下顺序搭结构,写完一个功能点再写下一个:

  1. 功能入口:有/无权限时入口是否显示、可点击。
  2. 整体页面:整体布局、区域、主要模块与设计图一致。
  3. 各功能点:先整块(如筛选功能),再块内子项(各筛选条件、列表字段、操作列等)。每个功能点内部固定顺序:界面显示 → 正常流程 → 异常流程 → 专项异常;界面验证写在功能点内,不单独设「界面与交互」大块。

四、测试方法(充实每个功能点)

方法 怎么用
等价类 每个输入项/状态/角色拆有效、无效等价类,各至少 1 条;有效预期成功,无效预期提示/拦截
边界值 有范围的取 最小值-1、最小值、中间值、最大值、最大值+1;长度/个数取 空、1、上限、上限+1
场景法 主流程端到端至少 1 条;关键分支(不同角色/状态/选择)各 1 条;前置不满足、顺序颠倒、重复操作各 1 条
判定表 多条件组合影响结果时(组合筛选、多开关叠加),列组合逐条验证
错误推测(专项异常) 防抖/重复提交、弱网超时、断网、中途刷新/离开、接口 4xx/5xx、越权与注入、多端并发、无权限/无数据空态

专项异常写在对应功能点内;全局性的(整站断网、整站权限)可单独一小节,不重复。

常见控件模板(识别到即至少覆盖,业务独有逻辑在此之上追加):

控件 至少覆盖
输入框 默认文案、输入回显、长度限制、必填提示
下拉/级联选择 默认状态、选项与层级、选择回显、必填
图片/文件上传 点击上传、格式限制、大小限制、必填与回显
保存/提交按钮 全空点击提示、仅必填保存、全部填完保存、重复点击防抖
列表/表格+筛选 默认排序与分页、单条件筛选、组合筛选、空状态

五、书写规范(每条用例必守)

列 规则
用例名称 统一「验证xxx」
用例属性 主流程/界面/功能/接口
优先级 高/中/低
前置条件 写明页面与数据状态,可据此还原起点;从已登录、有权限之后写起
操作步骤 「在哪里 + 做什么 + 对象/取值」,他人可直接执行
预期结果 可观测可判断(具体文案、条数、状态),禁止只写「正常」「正确」「成功」
  • 一条用例一个场景:不合并多种输入或多种预期。
  • 枚举值必拆:状态、角色、类型、开关、页签等每个取值单独一条用例,各写自己的前置数据与预期。名称里出现「各个」「所有」「不同」或用「、」「/」连接多个取值即为未拆。
    • ❌ 验证任务状态-待执行、执行中、已执行各状态展示
    • ✅ 拆三条:验证任务状态-待执行 / -执行中 / -已执行,前置分别构造对应状态数据,预期分别写该状态的具体展示
  • 继承留空:同一「模块」「测试点」下多条用例,首行填写,同组后续行留空表示继承(写入后合并单元格);同组内「前置条件」「操作步骤」与上一条完全相同时也留空。内容有任何差异则必须完整填写。

六、自检(写入前必做)

  1. 去重:同一页面/控件的界面验证只保留一处(放在对应功能点内)。
  2. 拆分:名称或预期中含「各个」「所有」「不同」或并列多个取值的,按枚举值拆开。
  3. 覆盖率:每个控件按模板覆盖;主流程端到端至少 1 条;专项异常覆盖防抖、弱网/断网、报错、越权。
  4. 可用性:逐条检查步骤可执行、预期可观测、前置可复现,不满足则改写。

七、写入飞书在线表格(lark-cli)

模板布局:第 1 行表头(A~I 为 模块、测试点、用例名称、用例属性、优先级、前置条件、操作步骤、预期结果、备注,其后为执行时填写列)、第 2 行执行人、第 3 行需求目标,数据从第 4 行开始。写入前用 +csv-get 读模板前 4 行确认,布局不同以实际为准。

1. 复制模板工作表(返回的新 sheet_id 即写入目标;同名已存在时改用「{需求名}-日期」):

lark-cli sheets +sheet-copy --spreadsheet-token {spreadsheet_token} 
  --sheet-id {模板sheet_id} --title "{需求名}"

2. 写表头信息(A1:B3 一次写入,{} 表示不修改):

echo '[
  [{"value":"模块"}, {}],
  [{}, {"rich_text":[{"type":"text","text":"测试:用例&一轮执行人:"},{"type":"mention","mention_type":0,"mention_token":"{openId}","text":"@{userName}","notify":false},{"type":"text","text":"  二轮执行人:   "}]}],
  [{}, {"value":"{需求名}"}]
]' | lark-cli sheets +cells-set --spreadsheet-token {spreadsheet_token} 
  --sheet-id {新sheet_id} --range "A1:B3" --cells -

3. 写用例数据:先用 Python 把用例组织成 rows(每条一个 list,与 9 列对齐,继承列填 ""),写 CSV(csv.writer 自动转义换行与逗号):

import csv
rows = [
    ["题目列表-筛选", "题目ID筛选", "验证题目ID筛选-有效ID", "功能", "高",
     "列表中存在ID为1001的题目",
     "1.进入题目列表页n2.在题目ID输入框输入1001n3.点击查询",
     "列表仅展示ID为1001的1条记录", ""],
]
with open('/tmp/cases.csv', 'w', newline='', encoding='utf-8') as f:
    csv.writer(f).writerows(rows)
cat /tmp/cases.csv | lark-cli sheets +csv-put 
  --spreadsheet-token {spreadsheet_token} --sheet-id {新sheet_id} --start-cell A4 --csv -
# 校验返回 updated_range == A4:I{3+用例数}

4. 合并模块/测试点单元格:按 rows 计算 A、B 列连续同组区间(组内首行有值、后续为空,行号 = 数据下标 + 4),对每个跨多行区间执行:

lark-cli sheets +cells-merge --spreadsheet-token {spreadsheet_token} 
  --sheet-id {新sheet_id} --range "A4:A6"

5. 核对与汇报:+csv-get 回读首尾几行比对,确认数据区后一行为空;汇报新工作表链接 https://xxx.feishu.cn/sheets/{spreadsheet_token}?sheet={新sheet_id}、用例总数、各优先级/属性条数、覆盖的功能点、合并处数;清理临时文件(CSV、二维码等)。

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习