西藏巴青项目

检疫站管理测试用例.md 12KB

检疫站管理 — 测试用例

依据:检疫站管理功能需求.md检疫站管理技术方案.md
接口 Base Path/livestock/quarantineStation;鉴权与若依一致(Cookie / Token)。

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

样本 名称 运营状态 要点
Q1 巴青县检疫站 正常(1) 有照片;负责人「张三」
Q2 碾压检疫站 停业(2) 无照片
Q3 测试注销站 注销(3) 名称模糊/状态筛选用

合法新增 Body 示例stationName=巴青东站detailAddress=西藏那曲市巴青县某某路1号personInCharge=李四contactPhone=13800138000operateStatus=1;照片先 /common/upload 再带 photoFileUrlphotoFilePath

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


一、单元测试用例

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-JYZGL-UT-001 参数校验 检疫站名称 单元测试 JUnit5 §3.5 空、11 字、10 字 trim 空/超长失败;合法通过
ZCZX-JYZGL-UT-002 参数校验 详细地址 单元测试 JUnit5 §3.5 空、201 字、200 字 空/超长失败;200 通过
ZCZX-JYZGL-UT-003 参数校验 负责人 单元测试 JUnit5 §3.5 空、11 字、10 字 空/超长失败;通过
ZCZX-JYZGL-UT-004 参数校验 手机号 单元测试 JUnit5 §3.5 10 位、11 位合法、非法 非法失败;合法通过
ZCZX-JYZGL-UT-005 参数校验 运营状态 单元测试 JUnit5 §2.3 0、4、1/2/3 非法失败;1~3 通过
ZCZX-JYZGL-UT-006 唯一性 名称重复 单元测试 JUnit5+Mockito §3.5 已有 Q1 名 validateUniqueName 失败
ZCZX-JYZGL-UT-007 参数校验 照片成对 单元测试 JUnit5 §3.4 仅 url 无 path、均空、均填 仅 url 失败;均空/成对通过
ZCZX-JYZGL-UT-008 Service 新增落库 单元测试 JUnit5+Mockito 正常 Mock Mapper insert 合法行 del_flag=0operate_status=1 默认
ZCZX-JYZGL-UT-009 Service 逻辑删除 单元测试 JUnit5+Mockito §3.5 Mock remove(id) del_flag=2
ZCZX-JYZGL-UT-010 Service 删除有关联 单元测试 JUnit5+Mockito §3.5 hasReference=true remove ServiceException
ZCZX-JYZGL-UT-011 Service 删记录清照片 单元测试 JUnit5+Mockito §3.4 有 photo_path remove 调用文件删除
ZCZX-JYZGL-UT-012 Mapper 名称模糊 SQL 单元测试 JUnit5 §3.6 检查 XML station_name LIKE CONCAT('%',…,'%')
ZCZX-JYZGL-UT-013 Mapper 状态精确 SQL 单元测试 JUnit5 §3.6 检查 XML operate_status = #{operateStatus}
ZCZX-JYZGL-UT-014 Mapper 列表排序 单元测试 JUnit5 §3.1 检查 XML create_time DESC, id DESC

二、接口测试用例

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-JYZGL-API-001 列表 默认分页排序 接口测试 Postman §3.1 有 Q1~Q3 GET /list code=200;含 operateStatusName;时间倒序
ZCZX-JYZGL-API-002 列表 名称模糊 接口测试 Postman §2.6 有 Q1 stationName=检疫 含 Q1
ZCZX-JYZGL-API-003 列表 状态精确 接口测试 Postman §2.6 有 Q2 停业 operateStatus=2 仅含停业行
ZCZX-JYZGL-API-004 列表 组合筛选 接口测试 Postman §2.6 已登录 stationName=测试+operateStatus=3 同时满足
ZCZX-JYZGL-API-005 列表 模糊无匹配 接口测试 Postman §2.6 已登录 stationName=不存在xyz rows 为空
ZCZX-JYZGL-API-006 列表 不含已删除 接口测试 Postman 逻辑删除 id 已删 GET /list 无该 id
ZCZX-JYZGL-API-007 新增 完整含照片 接口测试 Postman §5.1 已上传图片 POST 合法 Body+照片字段 code=200
ZCZX-JYZGL-API-008 新增 无照片默认正常 接口测试 Postman §5.1 已登录 POST 无照片字段 成功;operateStatus=1
ZCZX-JYZGL-API-009 新增 缺必填 接口测试 Postman §5.1.4 已登录 stationName 或手机 失败
ZCZX-JYZGL-API-010 新增 名称超长 接口测试 Postman §5.1 已登录 stationName 11 字 失败
ZCZX-JYZGL-API-011 新增 名称重复 接口测试 Postman §5.1.4 已有 Q1 名 POST 同名 失败
ZCZX-JYZGL-API-012 新增 手机号非法 接口测试 Postman §2.4 已登录 contactPhone=123 失败
ZCZX-JYZGL-API-013 新增 状态非法 接口测试 Postman §3.5 已登录 operateStatus=9 失败
ZCZX-JYZGL-API-014 详情 有效 id 接口测试 Postman §5.4 有 Q1 GET /{id} 含全字段及照片 URL
ZCZX-JYZGL-API-015 详情 无效/已删 id 接口测试 Postman 异常 已登录 不存在/已删 失败或空 data
ZCZX-JYZGL-API-016 修改 改地址负责人 接口测试 Postman §5.3 有 Q2 PUTdetailAddress 成功
ZCZX-JYZGL-API-017 修改 改运营状态 接口测试 Postman §5.3 Q1 正常 PUT operateStatus=2 详情为停业
ZCZX-JYZGL-API-018 修改 换照片 接口测试 Postman §3.4 Q2 无图 PUT 新 url/path 成功;旧文件已删
ZCZX-JYZGL-API-019 修改 不存在 id 接口测试 Postman 异常 已登录 伪造 id PUT 失败
ZCZX-JYZGL-API-020 删除 单条逻辑删 接口测试 Postman §5.5 无关联新行 DELETE /{id} 成功;列表无
ZCZX-JYZGL-API-021 删除 有关联拒绝 接口测试 Postman §5.5 预置有关联 DELETE 失败
ZCZX-JYZGL-API-022 删除 重复删除 接口测试 Postman 幂等 已删 id 再次 DELETE 失败或不存在
ZCZX-JYZGL-API-023 端到端 CRUD 串联 接口测试 Postman §4 已登录 POSTlistGETPUTDELETE 每步 code=200
ZCZX-JYZGL-API-024 鉴权 未登录 接口测试 curl 安全 无 Token GET /list 401 或统一未登录
ZCZX-JYZGL-API-025 权限 无新增权限 接口测试 Postman §6 仅 list POST 无权限失败
ZCZX-JYZGL-API-026 权限 无删除权限 接口测试 Postman §6 无 remove DELETE 无权限失败
ZCZX-JYZGL-API-027 响应 失败可读 接口测试 Postman §8 已登录 触发重复名、手机错、缺地址 msg 可区分

三、界面测试用例(UI)

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

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-JYZGL-UI-001 列表 默认展示 UI 测试 Playwright+Chrome §5.2.3 已登录;有数据 进入「检疫站管理」 含名称、地址、负责人、电话、状态、操作;地图标点
ZCZX-JYZGL-UI-002 列表 名称模糊筛选 UI 测试 Playwright+Chrome §2.6 有 Q1 名称填「检疫」→搜索 含 Q1
ZCZX-JYZGL-UI-003 列表 状态筛选 UI 测试 Playwright+Chrome §2.6 有 Q2 停业 运营状态选「停业」→搜索 仅停业行
ZCZX-JYZGL-UI-004 列表 重置 UI 测试 Playwright+Chrome §5.2 已筛选 搜索→重置 条件清空
ZCZX-JYZGL-UI-005 新增 必填与默认状态 UI 测试 Playwright+Chrome §5.1 有 add 新增→填必填→确定 成功;运营状态默认「正常」
ZCZX-JYZGL-UI-006 新增 上传照片 UI 测试 Playwright+Chrome §2.3 有合法 jpg≤10M 新增→上传照片→保存 列表/详情可见图
ZCZX-JYZGL-UI-007 新增 缺必填校验 UI 测试 Playwright+Chrome §5.1.4 新增 留空名称或手机→确定 校验失败
ZCZX-JYZGL-UI-008 新增 名称超 10 字 UI 测试 Playwright+Chrome §5.1 新增 名称超 10 字 无法输入或保存失败
ZCZX-JYZGL-UI-009 新增 取消 UI 测试 Playwright+Chrome §5.1.3 新增 填一半→取消 无新行
ZCZX-JYZGL-UI-010 详情 只读含照片 UI 测试 Playwright+Chrome §5.4 有 Q1 查看 只读;照片可预览;含审计
ZCZX-JYZGL-UI-011 编辑 改运营状态 UI 测试 Playwright+Chrome §5.3 Q1 正常 改「停业」→保存 列表显示停业
ZCZX-JYZGL-UI-012 编辑 更换照片 UI 测试 Playwright+Chrome §5.3 有图站点 编辑→换图→保存 详情为新图
ZCZX-JYZGL-UI-013 删除 确认删除 UI 测试 Playwright+Chrome §5.5 无关联行 删除→确认 行消失
ZCZX-JYZGL-UI-014 删除 取消删除 UI 测试 Playwright+Chrome §5.5 任意行 删除→取消 行仍在
ZCZX-JYZGL-UI-015 端到端 全流程 UI 集成 Playwright+Chrome §4 权限齐备 新增→名/状态筛选→看→改→删 无报错
ZCZX-JYZGL-UI-016 权限 只读角色 UI 测试 Playwright+Chrome §6 仅 list/query 进入模块 无新增/编辑/删除
ZCZX-JYZGL-UI-017 详情 从详情编辑 UI 测试 Playwright+Chrome §5.4 查看 Q1 点「编辑」 进入编辑弹窗
ZCZX-JYZGL-UI-018 列表 地图标点不做 UI 测试 Playwright+Chrome §5.6 有数据行 查看操作列 无「地图标点」或置灰暂未开放

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

  • 安装:npm i -D @playwright/testnpx playwright install chrome
  • 配置:use: { channel: 'chrome', locale: 'zh-CN', baseURL: 'http://localhost:80' }storageState 复用登录态。
  • 路由:page.goto('/livestock/quarantineStation')(以菜单 component 为准)。
  • 筛选:page.getByLabel('检疫站名称').fill('检疫')page.getByLabel('运营状态').click() 后选选项。
  • 上传:在新增弹窗内选择 input[type=file] 或组件封装的上传按钮,限制 image/jpegimage/png

覆盖对照

类别 单元 UT 接口 API 界面 UI
正常流程 UT-008 API-007~008、014、016~018、023 UI-005~006、010~012、015
异常流程 UT-001~005 API-009~013、015、019、021~022 UI-007~009、013~014
业务约束 UT-006~007 API-002~005、011、017 UI-002~004、008
运营状态 UT-005 API-003、013、017 UI-003、005、011
照片 UT-007、011 API-007~008、018 UI-006、010、012
逻辑删除 UT-009 API-006、020~022 UI-013
地图不做 UI-001、018
权限/鉴权 API-024~026 UI-016

功能需求追溯(自查)

需求章节 要点 主要对应用例
§5.1 新增 字段、照片、默认正常 UT-001~008;API-007~013;UI-005~009
§5.2 列表 名称模糊+状态精确 UT-012~013;API-001~006;UI-001~004
§5.3 修改 全字段可改 API-016~019;UI-011~012、017
§5.4 详情 只读 API-014~015;UI-010、017
§5.5 删除 逻辑删 UT-009~011;API-020~022;UI-013~014
§2.2 运营状态 三档 UT-005;API-003、017;UI-003、011
§5.6 地图 本期不做 UI-001、018
§6 权限 按钮级 API-024~026;UI-016

修订记录

版本 说明
1.0 初版:单元 14、接口 27、UI 18;覆盖 CRUD、双维筛选、照片、运营状态;无地图标点;Playwright+Chrome;前缀 ZCZX-JYZGL