西藏巴青项目

隔离圈位管理测试用例.md 13KB

隔离圈位管理 — 测试用例

依据:隔离圈位管理功能需求.md隔离圈位管理技术方案.md
接口 Base Path/tradeMarket/isolationPen;鉴权与若依一致(Cookie / Token)。

通用前置(无特殊说明):具备本模块权限的账号已登录(tradeMarket:isolationPen:list|query|add|edit|remove|config)。biz_isolation_pen 宜预置(del_flag=0):

样本 编号 备注 要点
P1 01 东侧一号栏 有备注
P2 02 (空) 无备注
P3 03 西侧临时圈 用于模糊/修改

合法新增圈位 Body{"remark":"测试圈位甲"}{}(无备注)。

合法保存配置 Body{"defaultDays":7,"remark":"常规检疫默认7天"}

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


一、单元测试用例

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-GLQWGL-UT-001 编号生成 首条编号 单元测试 JUnit5 §2.5 无未删圈位 PenCodeGenerator.next() 返回 01
ZCZX-GLQWGL-UT-002 编号生成 递增补零 单元测试 JUnit5 §2.5 最大号 08 next() 返回 09
ZCZX-GLQWGL-UT-003 编号生成 上限拒绝 单元测试 JUnit5 §2.5 最大号 99 next() 抛异常;提示编号上限
ZCZX-GLQWGL-UT-004 圈位校验 备注长度 单元测试 JUnit5 §3.1 51 字、50 字、空、仅空白 51 失败;50/空通过
ZCZX-GLQWGL-UT-005 配置校验 默认天数下界 单元测试 JUnit5 §3.2 01-1 0/负失败;1 通过
ZCZX-GLQWGL-UT-006 配置校验 默认天数上界 单元测试 JUnit5 §3.2 36503651 3651 失败;3650 通过
ZCZX-GLQWGL-UT-007 配置校验 非整数天数 单元测试 JUnit5 §3.2 7.5null、非数字 均失败
ZCZX-GLQWGL-UT-008 配置校验 配置备注长度 单元测试 JUnit5 §3.2 51 字、50 字 51 失败;50 通过
ZCZX-GLQWGL-UT-009 Service 新增圈位落库 单元测试 JUnit5+Mockito 正常 Mock Mapper insert 合法行 del_flag=0pen_code 非空
ZCZX-GLQWGL-UT-010 Service 修改禁改编号 单元测试 JUnit5 §3.1 记录 01 入参 penCode=99 更新 库仍为 01
ZCZX-GLQWGL-UT-011 Service 逻辑删除圈位 单元测试 JUnit5+Mockito §3.1 Mock remove(id) del_flag=2
ZCZX-GLQWGL-UT-012 Service 删除有关联 单元测试 JUnit5+Mockito §3.1 hasReference=true remove ServiceException
ZCZX-GLQWGL-UT-013 Service 配置首次保存 单元测试 JUnit5+Mockito §3.2 id=1 saveSetting INSERTid=1
ZCZX-GLQWGL-UT-014 Service 配置覆盖更新 单元测试 JUnit5+Mockito §3.2 已有 7 天 saveSetting(14) 仅一行;default_days=14
ZCZX-GLQWGL-UT-015 Mapper 模糊筛选 SQL 单元测试 JUnit5 §3.3 检查 XML LIKE CONCAT('%',…,'%')del_flag=0
ZCZX-GLQWGL-UT-016 Mapper 列表排序 单元测试 JUnit5 §3.1 检查 XML pen_code ASC, id ASC

二、接口测试用例

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-GLQWGL-API-001 列表 默认分页排序 接口测试 Postman §3.1 有 P1~P3 GET /list code=200;≤20 条;penCode 升序
ZCZX-GLQWGL-API-002 列表 编号模糊 接口测试 Postman §2.6 有 P1 01 penCode=1 含 P1;penCode=01 亦命中
ZCZX-GLQWGL-API-003 列表 模糊无匹配 接口测试 Postman §2.6 已登录 penCode=不存在xyz rows 为空
ZCZX-GLQWGL-API-004 列表 不含已删除 接口测试 Postman 逻辑删除 某 id 已删 GET /list 无该 id
ZCZX-GLQWGL-API-005 新增 有备注 接口测试 Postman §5.1 已登录 POST remark=测试圈位 code=200;返回 2 位 penCode
ZCZX-GLQWGL-API-006 新增 无备注 接口测试 Postman §5.1 已登录 POST {} 成功;remark 为空
ZCZX-GLQWGL-API-007 新增 备注超长 接口测试 Postman §5.1.3 已登录 remark 51 字 code≠200msg 含长度
ZCZX-GLQWGL-API-008 新增 传编号无效 接口测试 Postman §3.1 已登录 POSTpenCode=88 忽略入参;按规则生成编号
ZCZX-GLQWGL-API-009 详情 有效 id 接口测试 Postman §5.4 有 P1 GET /{id} penCoderemark、审计字段
ZCZX-GLQWGL-API-010 详情 无效/已删 id 接口测试 Postman 异常 已登录 不存在或已删 id 失败或 data 为空
ZCZX-GLQWGL-API-011 修改 改备注 接口测试 Postman §5.3 有 P2 PUTremark 成功;penCode 仍为 02
ZCZX-GLQWGL-API-012 修改 传编号无效 接口测试 Postman §3.1 有 P1 PUT penCode=99 库仍为 01
ZCZX-GLQWGL-API-013 修改 不存在 id 接口测试 Postman 异常 已登录 伪造 id PUT 失败
ZCZX-GLQWGL-API-014 删除 单条逻辑删 接口测试 Postman §5.5 无关联新行 DELETE /{id} 成功;列表不可见
ZCZX-GLQWGL-API-015 删除 有关联拒绝 接口测试 Postman §5.5 预置 hasReference DELETE 失败;提示关联
ZCZX-GLQWGL-API-016 删除 重复删除 接口测试 Postman 幂等 已删 id 再次 DELETE 失败或不存在
ZCZX-GLQWGL-API-017 配置 未配置查询 接口测试 Postman §5.6.3 无 setting 行 GET /setting data 为空或字段 null
ZCZX-GLQWGL-API-018 配置 首次保存 接口测试 Postman §5.6 无配置 PUT /setting defaultDays=7 成功;再 GET 为 7
ZCZX-GLQWGL-API-019 配置 覆盖更新 接口测试 Postman §5.6 已有 7 天 PUT defaultDays=14 成功;仅一条;值为 14
ZCZX-GLQWGL-API-020 配置 缺默认天数 接口测试 Postman §5.6.5 已登录 PUTdefaultDays 失败
ZCZX-GLQWGL-API-021 配置 天数非法 接口测试 Postman §5.6.5 已登录 0/3651/7.5 各测 均失败
ZCZX-GLQWGL-API-022 配置 备注超长 接口测试 Postman §5.6.5 已登录 remark 51 字 失败
ZCZX-GLQWGL-API-023 端到端 圈位 CRUD 接口测试 Postman §4 已登录 POSTlistGETPUTDELETE 每步 code=200
ZCZX-GLQWGL-API-024 鉴权 未登录 接口测试 curl 安全 无 Token GET /list 401 或统一未登录
ZCZX-GLQWGL-API-025 权限 无新增权限 接口测试 Postman §6 仅 list POST 圈位 无权限失败
ZCZX-GLQWGL-API-026 权限 无配置权限 接口测试 Postman §6 无 config PUT /setting 无权限失败
ZCZX-GLQWGL-API-027 权限 无删除权限 接口测试 Postman §6 无 remove DELETE 无权限失败
ZCZX-GLQWGL-API-028 响应 失败可读 接口测试 Postman §8 已登录 触发备注超长、天数非法 msg 可区分场景

三、界面测试用例(UI)

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

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-GLQWGL-UI-001 列表 默认展示 UI 测试 Playwright+Chrome §5.2.3 已登录;有 P1~P3 进入「隔离圈位管理」 含圈位编号、备注、操作;有「设置隔离天数」
ZCZX-GLQWGL-UI-002 列表 编号模糊筛选 UI 测试 Playwright+Chrome §2.6 有 P1 01 编号填 1→搜索 列表含 P1
ZCZX-GLQWGL-UI-003 列表 无结果 UI 测试 Playwright+Chrome §2.6 已登录 输入不存在编号→搜索 空列表或空状态
ZCZX-GLQWGL-UI-004 列表 重置 UI 测试 Playwright+Chrome §5.2 已筛选 搜索→重置 条件清空;列表恢复
ZCZX-GLQWGL-UI-005 新增圈位 有备注保存 UI 测试 Playwright+Chrome §5.1 有 add 权限 新增→填备注→确定 成功提示;列表新行有 2 位编号
ZCZX-GLQWGL-UI-006 新增圈位 无备注保存 UI 测试 Playwright+Chrome §5.1 已登录 新增→备注留空→确定 成功;备注列为空或「—」
ZCZX-GLQWGL-UI-007 新增圈位 备注超长 UI 测试 Playwright+Chrome §5.1.3 新增 输入超 50 字或保存 无法输入或校验失败
ZCZX-GLQWGL-UI-008 新增圈位 编号只读 UI 测试 Playwright+Chrome §2.2 打开新增 查看圈位编号控件 禁用/占位「保存后自动生成」
ZCZX-GLQWGL-UI-009 新增圈位 取消 UI 测试 Playwright+Chrome §5.1.2 新增 填备注→取消 弹窗关闭;无新行
ZCZX-GLQWGL-UI-010 详情 只读展示 UI 测试 Playwright+Chrome §5.4 有 P1 点击查看 编号、备注只读;含审计信息
ZCZX-GLQWGL-UI-011 编辑 改备注 UI 测试 Playwright+Chrome §5.3 有 P3 编辑→改备注→确定 列表备注已更新;编号不变
ZCZX-GLQWGL-UI-012 编辑 编号不可改 UI 测试 Playwright+Chrome §5.3 编辑 P1 查看编号控件 只读
ZCZX-GLQWGL-UI-013 删除 确认删除 UI 测试 Playwright+Chrome §5.5 无关联行 删除→确认 行消失
ZCZX-GLQWGL-UI-014 删除 取消删除 UI 测试 Playwright+Chrome §5.5 任意行 删除→取消 行仍在
ZCZX-GLQWGL-UI-015 配置 首次设置天数 UI 测试 Playwright+Chrome §5.6 无配置;有 config 设置隔离天数→填 7→确定 成功提示;再次打开回显 7
ZCZX-GLQWGL-UI-016 配置 覆盖更新天数 UI 测试 Playwright+Chrome §5.6 已配置 7 天 改为 14→确定 再次打开为 14
ZCZX-GLQWGL-UI-017 配置 天数必填/非法 UI 测试 Playwright+Chrome §5.6.5 打开配置弹窗 留空或填 0→确定 前端校验失败
ZCZX-GLQWGL-UI-018 配置 取消 UI 测试 Playwright+Chrome §5.6.4 已配置 改天数→取消 不保存;再打开仍为原值
ZCZX-GLQWGL-UI-019 端到端 全流程 UI 集成 Playwright+Chrome §4 权限齐备 设天数→新增→模糊查→看→改→删 无报错
ZCZX-GLQWGL-UI-020 权限 只读角色 UI 测试 Playwright+Chrome §6 仅 list/query 进入模块 无新增/编辑/删除/设置隔离天数
ZCZX-GLQWGL-UI-021 详情 从详情编辑 UI 测试 Playwright+Chrome §5.4 查看 P1 点「编辑」 进入编辑弹窗;编号只读

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

  • 安装:npm i -D @playwright/testnpx playwright install chrome
  • 配置:use: { channel: 'chrome', locale: 'zh-CN', baseURL: 'http://localhost:80' }storageState 复用登录态。
  • 路由:page.goto('/tradeMarket/isolationPen')(以菜单 component 为准)。
  • 模糊搜索:page.getByLabel('圈位编号').fill('1')page.getByRole('button', { name: '搜索' }).click()
  • 设置隔离天数:page.getByRole('button', { name: '设置隔离天数' }).click()page.getByLabel('默认隔离天数').fill('7') → 确定。

覆盖对照

类别 单元 UT 接口 API 界面 UI
正常流程 UT-009、013~014 API-005~006、009、011、017~019、023 UI-005~006、010~012、015~016、019
异常流程 UT-003~008 API-007、010、013、015~016、020~022 UI-007、013~014、017
业务约束 UT-001~004、010 API-002~004、008、012、021 UI-002~004、008、012
编号 01~99 UT-001~003 API-005、008、012 UI-008、012
模糊筛选 UT-015 API-002~003 UI-002~003
逻辑删除 UT-011 API-004、014~016 UI-013
默认隔离天数 UT-005~008、013~014 API-017~022 UI-015~018
权限/鉴权 API-024~027 UI-020

功能需求追溯(自查)

需求章节 要点 主要对应用例
§5.1 新增圈位 备注、编号自动 UT-004、009;API-005~008;UI-005~009
§5.2 列表 编号模糊、分页 UT-015~016;API-001~004;UI-001~004
§5.3 修改 仅备注、编号不可改 UT-010;API-011~013;UI-011~012
§5.4 详情 只读 API-009~010;UI-010、021
§5.5 删除 逻辑删、关联 UT-011~012;API-014~016;UI-013~014
§5.6 设置隔离天数 全局单份配置 UT-005~008、013~014;API-017~022;UI-015~018
§2.2 编号 2 位自动 UT-001~003;API-005;UI-008
§6 权限 含 config API-024~027;UI-020

修订记录

版本 说明
1.0 初版:单元 16、接口 28、UI 21;覆盖圈位 CRUD、模糊筛选、全局隔离天数、权限;Playwright+Chrome;前缀 ZCZX-GLQWGL