分析需求文档,生成结构化手工测试用例并写入 Excel 文件。工具:generate_cases(webtest-mcp)。
用例内容全部使用中文,包括 title、precondition、steps、expected、tags 字段。
用户指定项目名和需求文档路径即可触发:
给 huudi 项目生成用例,需求文档在 /path/to/specs.md
给 demo 项目生成用例,需求文档在 /path/to/specs.txt
参数规则:
project:用户指定的项目名,对应 projects/ 下的目录名{项目名}_cases_v1.xlsx,用户可指定-T,如 huudi → HUUDI-T,demo → DEMO-T禁止调用 list_projects_tool,直接使用用户指定的项目名。
generate_cases — 写入 Excel(webtest-mcp 提供)直接读取用户指定路径的需求文档,获取全部内容。
逐章节分析需求文档,识别每个功能模块和字段类型,按下方规则生成完整用例集。
遇到对应字段类型时,按规则生成完整用例集,不能遗漏。
必须覆盖:
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 字段-空值拒绝 | 输入校验 | 高 |
| 字段-最小长度N字符接受 | 边界值 | 高 |
| 字段-最小长度-1字符拒绝 | 输入校验 | 高 |
| 字段-最大长度N字符接受 | 边界值 | 高 |
| 字段-超过最大长度N+1字符拒绝 | 输入校验 | 高 |
| 字段-空格处理 | 输入校验 | 中 |
| 字段-换行符处理 | 输入校验 | 中 |
| 字段-XSS注入处理 | 安全性测试 | 高 |
| 字段-SQL注入处理 | 安全性测试 | 高 |
预期结果写法示例:
E1. 空值输入被拒绝
E2. 「字段名」输入框显示红色边框错误状态
E3. 显示错误提示:"该字段为必填项"
E4. 无法提交表单
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 邮箱-空值拒绝 | 输入校验 | 高 |
| 邮箱-标准格式接受([email protected]) | 功能测试 | 高 |
| 邮箱-带点号格式接受([email protected]) | 功能测试 | 中 |
| 邮箱-带加号格式接受([email protected]) | 功能测试 | 中 |
| 邮箱-无@符号拒绝(plainaddress) | 输入校验 | 高 |
| 邮箱-无用户名拒绝(@example.com) | 输入校验 | 高 |
| 邮箱-无域名拒绝(user@) | 输入校验 | 高 |
| 邮箱-域名以点开头拒绝([email protected]) | 输入校验 | 高 |
| 邮箱-XSS注入处理 | 安全性测试 | 高 |
| 邮箱-SQL注入处理 | 安全性测试 | 高 |
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 密码-空值拒绝 | 输入校验 | 高 |
| 密码-最小长度N字符接受 | 边界值 | 高 |
| 密码-最小长度-1字符拒绝 | 输入校验 | 高 |
| 密码-缺少大写字母拒绝 | 输入校验 | 高 |
| 密码-缺少小写字母拒绝 | 输入校验 | 高 |
| 密码-缺少数字拒绝 | 输入校验 | 高 |
| 密码-缺少特殊字符拒绝 | 输入校验 | 高 |
| 密码-满足全部条件接受 | 功能测试 | 高 |
| 密码-空格处理 | 输入校验 | 中 |
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 字段-空值拒绝 | 输入校验 | 高 |
| 字段-零值拒绝 | 输入校验 | 高 |
| 字段-负数拒绝 | 输入校验 | 高 |
| 字段-最小值接受 | 边界值 | 高 |
| 字段-最小值-1拒绝 | 输入校验 | 高 |
| 字段-常规值接受 | 边界值 | 中 |
| 字段-最大值接受 | 边界值 | 高 |
| 字段-最大值+1拒绝 | 输入校验 | 高 |
| 字段-非数字输入拒绝 | 输入校验 | 高 |
| 字段-一位小数接受(非整数字段) | 边界值 | 中 |
| 字段-两位小数接受(非整数字段) | 边界值 | 中 |
| 字段-超过两位小数拒绝(非整数字段) | 输入校验 | 中 |
在数值字段基础上额外增加:
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 金额-带货币符号输入处理(€100) | 功能测试 | 中 |
| 金额-千分位分隔符处理(1,000.50) | 功能测试 | 中 |
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 百分比-空值拒绝 | 输入校验 | 高 |
| 百分比-最小值0%接受 | 边界值 | 高 |
| 百分比-最大值100%接受 | 边界值 | 高 |
| 百分比-小于最小值拒绝(-1%) | 输入校验 | 高 |
| 百分比-大于最大值拒绝(101%) | 输入校验 | 高 |
| 百分比-常规值50%接受 | 边界值 | 中 |
| 百分比-带百分号符号处理(50%) | 功能测试 | 中 |
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 字段-未选择时提交拒绝 | 输入校验 | 高 |
| 字段-选择「选项A」(每个选项各一条) | 功能测试 | 高 |
| 字段-下拉展开显示全部选项 | 功能测试 | 中 |
| 字段-点击外部关闭下拉 | 功能测试 | 中 |
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 日期-空值拒绝 | 输入校验 | 高 |
| 日期-有效日期接受(YYYY-MM-DD) | 功能测试 | 高 |
| 日期-无效格式拒绝(2024/13/01) | 输入校验 | 中 |
| 日期-不存在日期拒绝(2024-02-30) | 输入校验 | 中 |
| 日期-过去日期拒绝(如要求未来日期) | 输入校验 | 高 |
| 日期-最小日期边界接受 | 边界值 | 高 |
| 日期-最大日期边界接受 | 边界值 | 高 |
| 日期-结束早于开始拒绝(日期范围) | 输入校验 | 高 |
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 电话-空值拒绝 | 输入校验 | 高 |
| 电话-有效格式接受(标准格式) | 功能测试 | 高 |
| 电话-带国家区号接受(+86...) | 功能测试 | 高 |
| 电话-包含字母拒绝 | 输入校验 | 高 |
| 电话-过短拒绝 | 输入校验 | 高 |
| 电话-全零拒绝 | 输入校验 | 中 |
单个复选框(如同意条款):
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 字段-勾选状态 | 功能测试 | 高 |
| 字段-取消勾选状态 | 功能测试 | 高 |
| 字段-未勾选时提交拒绝 | 输入校验 | 高 |
多选复选框组:
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 字段-选择「选项A」(每个选项各一条) | 功能测试 | 高 |
| 字段-多个选项同时选中 | 功能测试 | 高 |
| 字段-少于最少选择数量拒绝 | 输入校验 | 高 |
| 字段-超过最多选择数量拒绝 | 输入校验 | 高 |
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 字段-选择「选项A」 | 功能测试 | 高 |
| 字段-选择「选项B」 | 功能测试 | 高 |
| 字段-选项互斥验证(选A后B取消) | 单选项测试 | 高 |
| 字段-未选择时下一步禁用 | 输入校验 | 高 |
| 字段-选择后关联内容显示/隐藏 | 条件显示测试 | 高 |
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 按钮-初始状态禁用 | CTA按钮测试 | 高 |
| 按钮-满足条件后启用 | CTA按钮测试 | 高 |
| 按钮-点击后执行正确操作/跳转 | 功能测试 | 高 |
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 上传-必填未上传时提交拒绝 | 输入校验 | 高 |
| 上传-有效格式文件接受 | 功能测试 | 高 |
| 上传-不支持格式拒绝 | 输入校验 | 高 |
| 上传-超过大小限制拒绝 | 输入校验 | 高 |
| 上传-空文件拒绝 | 输入校验 | 高 |
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 列表-无数据时显示空状态提示 | 功能测试 | 高 |
| 列表-有1条数据时正确显示 | 功能测试 | 高 |
| 列表-达到最大条数时全部显示 | 边界值 | 中 |
| 列表-超过最大条数时显示"查看更多" | 功能测试 | 中 |
每个状态必须单独一条用例,覆盖:
| 用例标题 | 测试类型 | 优先级 |
|---|---|---|
| 流程-完整正向流程 | 多步骤流程测试 | 高 |
| 流程-步骤N单独验证(每步一条) | 功能测试 | 高 |
| 流程-返回上一步保留数据 | 多步骤流程测试 | 高 |
| 流程-中途退出处理 | 多步骤流程测试 | 中 |
case_id: 前缀-T四位编号(全局唯一,连续递增)