西藏巴青项目

牧场管理管理测试用例.md 16KB

牧场管理 — 测试用例

依据:牧场管理功能需求.md牧场管理技术方案.md
接口 Base Path(示例)/dataModel/pasture;若含 context-path 或网关前缀须补齐。鉴权与若依一致(Cookie / Token)。

通用前置(无特殊说明):具备本模块菜单与按钮权限的账号已登录;可先调 POST /common/upload 取得照片 urlfileName(作 photoFilePath)。牧场性质1 个体、2 企业。经营状态1 正常、2 停业、3 注销(新建默认 1)。测试数据:合法个体身份证(如 11010519491231002X)、合法企业主体识别号(18 位)、11 位手机号、省/市/县三级选全;照片白名单 jpg/jpeg/png(≤10MB)。

界面(UI)测试Playwright + Chromiumchannel: 'chrome' 使用本机 Google Chrome)。


一、单元测试用例

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-MCGL-UT-001 参数校验 牧场名称长度 单元测试 JUnit5 1~10 字 空串、1 字、10 字、21 字 空/21 失败;1~10 通过
ZCZX-MCGL-UT-002 参数校验 简介字数 单元测试 JUnit5 选填≤50 null/空通过;51 字失败 符合 §5.1
ZCZX-MCGL-UT-003 参数校验 牧场性质枚举 单元测试 JUnit5 仅 1~2 pastureNature 为 1/2 通过;0、3、null 失败 与 §2.2 一致
ZCZX-MCGL-UT-004 参数校验 个体身份证 单元测试 JUnit5 §2.3 pastureNature=1 合法 18 位、17 位、校验位错误 仅合法通过;错误提示含「身份证」
ZCZX-MCGL-UT-005 参数校验 企业主体识别号 单元测试 JUnit5 §2.3 pastureNature=2 合法 18 位、15 位、含非法字符 仅合法通过;错误提示含「主体识别号」类
ZCZX-MCGL-UT-006 参数校验 联系电话 单元测试 JUnit5 大陆手机号 合法 11 位、10 位、非 1 开头 仅合法通过
ZCZX-MCGL-UT-007 参数校验 所属区域 单元测试 JUnit5 须选至县 缺省/市/县任一 code 或 name 失败;六级齐全通过
ZCZX-MCGL-UT-008 参数校验 详细地址/负责人 单元测试 JUnit5 选填上限 地址 51 字、负责人 11 字 失败;合法长度通过
ZCZX-MCGL-UT-009 参数校验 经营状态枚举 单元测试 JUnit5 1~3 bizStatus 为 1/3 通过;0、4 失败 与技术方案一致
ZCZX-MCGL-UT-010 附件校验 照片后缀 单元测试 JUnit5 白名单 .jpg 通过;.exe.bmp 失败 与 §5.1 一致
ZCZX-MCGL-UT-011 附件校验 照片成对 单元测试 JUnit5 url/path 仅 url 无 path;二者齐全或皆空 单字段失败;成对/皆空通过
ZCZX-MCGL-UT-012 业务默认 缺省经营状态 单元测试 JUnit5 新增默认正常 resolveBizStatus(null) 或 insert 未传 结果为 1
ZCZX-MCGL-UT-013 证件联动 性质切换校验 单元测试 JUnit5 §2.3 个体证号+企业性质 / 企业证号+个体性质 均失败
ZCZX-MCGL-UT-014 Service 新增落库 单元测试 JUnit5+Mockito 正常登记 合法实体 insert(pasture) del_flag=0biz_status 正确
ZCZX-MCGL-UT-015 Service 修改全字段 单元测试 JUnit5+Mockito §5.3 已存在 id update 改名称、状态、区划 更新成功
ZCZX-MCGL-UT-016 Service 经营状态互改 单元测试 JUnit5+Mockito 1↔2↔3 biz_status=2 update 改为 13 成功(默认允许)
ZCZX-MCGL-UT-017 Service 逻辑删除 单元测试 JUnit5+Mockito §5.4 Mock Mapper remove([id]) 调用 del_flag=2;非物理 DELETE
ZCZX-MCGL-UT-018 Service 删除清照片 单元测试 JUnit5+Mockito 删文件 photo_file_path remove([id]) Mock 验证 deleteFile(path)
ZCZX-MCGL-UT-019 Service 换照片删旧 单元测试 JUnit5+Mockito §5.3 旧 path 已知 update 换新 photoFilePath Mock 验证删除旧 path
ZCZX-MCGL-UT-020 Mapper 列表排序与删除过滤 单元测试 JUnit5 技术方案 检查 XML:ORDER BYdel_flag='0' create_time desc;列表带 del_flag=0

二、接口测试用例

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-MCGL-API-001 列表 默认分页排序 接口测试 Postman/curl §5.2 已登录;有多条记录 GET /dataModel/pasture/list rows≤20;createTime 新在前
ZCZX-MCGL-API-002 列表 关键字-名称 接口测试 Postman 名称模糊 已登录 keyword= 唯一名称片段 命中含该片段记录
ZCZX-MCGL-API-003 列表 性质筛选-个体 接口测试 Postman 精确 已登录 pastureNature=1 均为个体
ZCZX-MCGL-API-004 列表 性质筛选-企业 接口测试 Postman 精确 已登录 pastureNature=2 均为企业
ZCZX-MCGL-API-005 列表 经营状态筛选 接口测试 Postman 精确 有停业样本 bizStatus=2 均为停业
ZCZX-MCGL-API-006 列表 组合查询 接口测试 Postman 多条件 已登录 keyword+pastureNature+bizStatus 同时满足
ZCZX-MCGL-API-007 列表 不含已删除 接口测试 Postman 逻辑删除 已知 id 已删 GET list 列表无该 id
ZCZX-MCGL-API-008 新增 合法全字段 接口测试 Postman §5.1 已登录;已上传照片 POST Body 合法 code 成功;详情字段齐全
ZCZX-MCGL-API-009 新增 最小必填无照片 接口测试 Postman 选填照片 已登录 POST 必填项齐全、无照片/简介 成功;bizStatus1 或入参值
ZCZX-MCGL-API-010 新增 缺省经营状态 接口测试 Postman 默认正常 已登录 POST 不传 bizStatus 落库 bizStatus=1
ZCZX-MCGL-API-011 新增 个体+身份证 接口测试 Postman §2.3 已登录 pastureNature=1+合法身份证 成功
ZCZX-MCGL-API-012 新增 企业+识别号 接口测试 Postman §2.3 已登录 pastureNature=2+合法主体号 成功
ZCZX-MCGL-API-013 新增 名称非法 接口测试 Postman 1~10 已登录 名称空/11 字 失败;无新记录
ZCZX-MCGL-API-014 新增 性质非法 接口测试 Postman 枚举 已登录 pastureNature=0 失败
ZCZX-MCGL-API-015 新增 个体证号非法 接口测试 Postman 校验 已登录 pastureNature=1+错误证号 失败;msg 可区分
ZCZX-MCGL-API-016 新增 手机号非法 接口测试 Postman 校验 已登录 10 位手机号 失败
ZCZX-MCGL-API-017 新增 区划未选全 接口测试 Postman 至县级 已登录 countyCode 失败
ZCZX-MCGL-API-018 新增 照片仅 url 接口测试 Postman 成对 已登录 有 url 无 path 失败
ZCZX-MCGL-API-019 详情 有效 id 接口测试 Postman §5.5 已登录 GET /dataModel/pasture/{id} 含区划、状态、照片及审计字段
ZCZX-MCGL-API-020 详情 无效/已删 id 接口测试 Postman 异常 已登录 不存在或 del_flag=2 的 id 业务失败或空数据
ZCZX-MCGL-API-021 修改 合法修改 接口测试 Postman §5.3 已登录;有记录 PUT 改名称、负责人 成功;详情已更新
ZCZX-MCGL-API-022 修改 性质变更重校证件 接口测试 Postman §2.3 个体记录 PUTpastureNature=2 且证号仍为身份证 失败
ZCZX-MCGL-API-023 修改 经营状态变更 接口测试 Postman 1↔2↔3 有记录 PUT bizStatus 从 1→3 成功
ZCZX-MCGL-API-024 修改 替换照片 接口测试 Postman 删旧 有旧照片 path PUT 换新 photo 成对 成功;旧 URL 不可访问(抽查)
ZCZX-MCGL-API-025 删除 单条逻辑删除 接口测试 Postman §5.4 已登录 DELETE /dataModel/pasture/{id} 成功;列表/详情不可见
ZCZX-MCGL-API-026 删除 批量删除 接口测试 Postman 批量 已登录 DELETE id1,id2 均不可查
ZCZX-MCGL-API-027 端到端 CRUD 串联 接口测试 Postman §4 已登录 新增(个体)→列表→详情→改企业证号→删 每步成功(改企业须换合法主体号)
ZCZX-MCGL-API-028 鉴权 未登录 接口测试 curl 安全 无 Token GET .../list 401 或统一未登录
ZCZX-MCGL-API-029 权限 无写权限 接口测试 Postman 越权 仅 list 权限 POST .../pasture 无权限失败
ZCZX-MCGL-API-030 响应 失败可读 接口测试 Postman §7 已登录 触发名称空、证号错等 Body 含 codemsg 且可区分

三、界面测试用例(UI)

测试工具Playwright + Chromiumchannel: 'chrome' 使用本机 Google Chrome)。

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-MCGL-UI-001 列表 默认分页排序 UI 测试 Playwright+Chrome §5.2 已登录;数据>20 进入「牧场管理」菜单 默认每页 20;创建时间新在前
ZCZX-MCGL-UI-002 列表 关键字查询 UI 测试 Playwright+Chrome 名称模糊 有名称含关键词记录 输入牧场名称→搜索 表格含该行
ZCZX-MCGL-UI-003 列表 牧场性质筛选 UI 测试 Playwright+Chrome 精确 个体/企业均有 选「个体」→搜索 性质列均为个体
ZCZX-MCGL-UI-004 列表 经营状态筛选 UI 测试 Playwright+Chrome 精确 多状态均有 选「停业」→搜索 状态列均为停业
ZCZX-MCGL-UI-005 列表 组合与重置 UI 测试 Playwright+Chrome 恢复条件 已多条件筛选 搜索→点「重置」 条件清空;恢复默认列表
ZCZX-MCGL-UI-006 列表 操作列与地图 UI 测试 Playwright+Chrome §5.6 不做 有数据行 查看操作列 有查看/编辑/删除;地图标点或置灰提示
ZCZX-MCGL-UI-007 新增 合法全字段 UI 测试 Playwright+Chrome §5.1 已登录 新增→填必填+选区划至县+上传 jpg→确定 成功;列表出现新记录
ZCZX-MCGL-UI-008 新增 无照片无简介 UI 测试 Playwright+Chrome 选填 已登录 仅必填项→确定 成功
ZCZX-MCGL-UI-009 新增 默认经营状态 UI 测试 Playwright+Chrome 默认正常 已登录 打开新增弹窗 经营状态默认「正常」
ZCZX-MCGL-UI-010 新增 个体与企业证件 UI 测试 Playwright+Chrome §2.3 已登录 分别选个体/企业并填对应证件→保存 均成功;错误证号有区分提示
ZCZX-MCGL-UI-011 新增 名称空或超长 UI 测试 Playwright+Chrome 1~10 已登录 名称留空或 11 字→确定 校验失败
ZCZX-MCGL-UI-012 新增 区划未选至县 UI 测试 Playwright+Chrome 三级 已登录 仅选省/市→确定 提示须选至县级
ZCZX-MCGL-UI-013 新增 手机号非法 UI 测试 Playwright+Chrome 校验 已登录 填 10 位手机→确定 校验失败
ZCZX-MCGL-UI-014 新增 照片格式非法 UI 测试 Playwright+Chrome §5.1 准备 .bmp setInputFiles 上传→确定 拒绝或明确错误
ZCZX-MCGL-UI-015 新增 性质切换证件 UI 测试 Playwright+Chrome 联动 新增弹窗 先选个体填身份证→改企业→确定 提示重新填写/校验主体号
ZCZX-MCGL-UI-016 详情 字段完整 UI 测试 Playwright+Chrome §5.5 任意记录 点「查看」 名称、性质、证件、区划、地址、负责人、手机、状态、照片齐全
ZCZX-MCGL-UI-017 修改 编辑成功 UI 测试 Playwright+Chrome §5.3 有记录 编辑→改牧场名称→确定 列表/详情已更新
ZCZX-MCGL-UI-018 修改 经营状态变更 UI 测试 Playwright+Chrome 状态互改 正常记录 改为「注销」→保存 列表显示注销
ZCZX-MCGL-UI-019 修改 替换照片 UI 测试 Playwright+Chrome §5.3 有照片 编辑→换 png→保存 详情为新图
ZCZX-MCGL-UI-020 删除 确认删除 UI 测试 Playwright+Chrome §5.4 有记录 删除→确认 列表无该行
ZCZX-MCGL-UI-021 删除 取消删除 UI 测试 Playwright+Chrome 确认框 有记录 删除→取消 记录仍在
ZCZX-MCGL-UI-022 删除 批量删除 UI 测试 Playwright+Chrome 批量 勾选多条 批量删除→确认 选中行均消失
ZCZX-MCGL-UI-023 端到端 CRUD 串联 UI 集成 Playwright+Chrome §4 可新增 新增→搜索→查看→编辑→删除 全流程无报错
ZCZX-MCGL-UI-024 权限 只读账号 UI 测试 Playwright+Chrome §6 无 add/edit/remove 登录进模块 无新增/编辑/删除或操作拒绝
ZCZX-MCGL-UI-025 导出 导出(可选) UI 测试 Playwright+Chrome 技术方案 有 export 权限 点「导出」 下载 Excel 或成功提示

Playwright 与谷歌浏览器(实施提示)

  • 安装:npm i -D @playwright/testnpx playwright install chromium;本机 Chrome:npx playwright install chrome
  • playwright.config.ts 示例:use: { channel: 'chrome', headless: false, locale: 'zh-CN', baseURL: 'http://localhost:80' }storageState 复用登录态。
  • 路由:page.goto('/dataModel/pasture')(以菜单 component 配置为准)。
  • 区划:page.locator('.el-cascader').click() 后逐级选择省/市/县(按项目组件封装调整)。
  • 上传:page.locator('input[type=file]').setInputFiles('fixtures/pasture.jpg')
  • 确认框:page.getByRole('button', { name: /确定|确认/ })

覆盖对照

类别 单元 UT 接口 API 界面 UI
正常流程 UT-012~016、020 API-001~012、019、021、023~027 UI-001~010、016~019、023
异常流程 UT-001~002、008 API-013~018、020、029 UI-011~014、021
业务约束 UT-003~011、013 API-003~005、015~018、022 UI-003~004、009~010、012~013、015、018
逻辑删除/附件 UT-017~019、020 API-007、024~026 UI-019~022
地图(不做) UI-006
权限/导出 API-028~029 UI-024~025

功能需求追溯(自查)

需求章节 要点 主要对应用例
§5.1 新增 字段、证件联动、照片选填 UT-001~013;API-008~018;UI-007~015
§5.2 列表 关键字、性质/状态、逻辑删除不可见 API-001~007;UI-001~006
§5.3 修改 全字段、换图、性质变更 UT-015~016、019;API-021~024;UI-017~019
§5.4 删除 逻辑删除、确认 UT-017~018;API-025~026;UI-020~022
§5.5 详情 全字段 API-019;UI-016
§5.6 地图 本期不做 UI-006
§6~§7 权限、错误提示 API-028~030;UI-024

修订记录

版本 说明
1.0 初版:单元 20、接口 30、UI 25;对齐功能/技术方案;Playwright+Chrome;编号前缀 ZCZX-MCGL