西藏巴青项目

数据资产服务中心测试用例.md 14KB

数据资产服务中心 — 测试用例

依据:数据资产服务中心功能需求.md数据资产服务中心技术方案.md
接口 Base Path(示例)/dataHub/dataSendRecord;若含 context-path 或网关前缀须补齐。鉴权与若依一致(Cookie / Token)。

通用前置(无特殊说明):具备本模块菜单与按钮权限的账号已登录(dataHub:dataSendRecord:list|query|add|edit|remove)。库表 biz_data_send_record 中至少存在 2 条 del_flag=0 样本,示例:

  • AsendTime=2025-06-01 10:00:00receiverName=县级政务平台sendContent=牧业产值月报
  • BsendTime=2025-06-15 14:30:00receiverName=合作银行数据中心sendContent=牦牛资产摘要

合法 Body 示例(新增)sendTime=2025-06-20 09:00:00sendContent=草场利用统计receiverName=第三方监管平台receiverAddress=https://api.example.com/v1/receive

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


一、单元测试用例

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-SJZCZX-UT-001 参数校验 发送时间 单元测试 JUnit5 非空 sendTime 为 null、合法 datetime null 失败;合法通过
ZCZX-SJZCZX-UT-002 参数校验 发送内容 trim 单元测试 JUnit5 §3.3.1 " abc "" "、2001 字、2000 字 空白失败;2000 通过;2001 失败
ZCZX-SJZCZX-UT-003 参数校验 接收方名称 单元测试 JUnit5 1~128 字 空串、129 字、1 字 空/超长失败;合法通过
ZCZX-SJZCZX-UT-004 参数校验 接收方地址 单元测试 JUnit5 1~512 字 空串、513 字、合法 URL 文本 空/超长失败;合法通过
ZCZX-SJZCZX-UT-005 参数校验 备注长度 单元测试 JUnit5 ≤500 remark 501 字、500 字 501 失败;500 通过
ZCZX-SJZCZX-UT-006 列表查询 发送日期区间 单元测试 JUnit5 §3.1.1 validateDateRangeForList12-01>06-01;仅起/仅止;合法闭区间 颠倒失败;合法通过
ZCZX-SJZCZX-UT-007 参数校验 全量保存 单元测试 JUnit5 validateRowForSave 合法 BizDataSendRecord 四必填 通过
ZCZX-SJZCZX-UT-008 参数校验 修改缺 id 单元测试 JUnit5 修改必填 updateid=null 失败
ZCZX-SJZCZX-UT-009 Service 记录不存在 单元测试 JUnit5+Mockito 异常 Mock selectById null update/delete ServiceException
ZCZX-SJZCZX-UT-010 Service 已逻辑删除 单元测试 JUnit5+Mockito §3.5.1 Mock del_flag=2 update/getById 失败或查无
ZCZX-SJZCZX-UT-011 Service 新增落库 单元测试 JUnit5+Mockito 正常登记 Mock Mapper insert(record) del_flag=0;四业务字段入库
ZCZX-SJZCZX-UT-012 Service 修改全字段 单元测试 JUnit5+Mockito §5.3 已存在 id update 改时间/内容/名称/地址 成功;update_time 刷新
ZCZX-SJZCZX-UT-013 Service 逻辑删除 单元测试 JUnit5+Mockito §5.5 Mock Mapper remove([id], updateBy) del_flag=2;非物理删
ZCZX-SJZCZX-UT-014 Service 列表日期非法 单元测试 JUnit5+Mockito §3.1.1 selectListstartDate>endDate 抛异常;不调 Mapper
ZCZX-SJZCZX-UT-015 Mapper 筛选与排序 单元测试 JUnit5 §3.3 检查 BizDataSendRecordMapper.xml del_flag='0'DATE(send_time) 闭区间;LOWER(receiver_name)send_time DESC,id DESC

二、接口测试用例

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-SJZCZX-API-001 列表 默认分页排序 接口测试 Postman/curl §5.1.2 已登录;多条记录 GET /dataHub/dataSendRecord/list rows≤20;sendTime 新在前
ZCZX-SJZCZX-API-002 列表 发送日期区间 接口测试 Postman §2.4 含 A、B 样本 startDate=2025-06-01&endDate=2025-06-10 仅 A;含起止日当天
ZCZX-SJZCZX-API-003 列表 发送日期单日 接口测试 Postman 闭区间 B 在 06-15 startDate=endDate=2025-06-15 含 B
ZCZX-SJZCZX-API-004 列表 接收方名称精确 接口测试 Postman §2.4 已登录 receiverName=县级政务平台 仅名称完全一致记录
ZCZX-SJZCZX-API-005 列表 名称大小写不敏感 接口测试 Postman 技术方案 §3.1.1 库中名为 ABC平台 receiverName=abc平台 命中同一条
ZCZX-SJZCZX-API-006 列表 名称模糊不匹配 接口测试 Postman 精确非模糊 已登录 receiverName=政务(非全名) 无记录或空列表
ZCZX-SJZCZX-API-007 列表 组合筛选 接口测试 Postman 多条件 已登录 日期区间+receiverName 同时满足
ZCZX-SJZCZX-API-008 列表 发送日期区间非法 接口测试 Postman §7 已登录 startDate=2025-12-01&endDate=2025-01-01 失败;msg 可区分
ZCZX-SJZCZX-API-009 列表 不含已删除 接口测试 Postman 逻辑删除 已知 id 已删 GET list 列表无该 id
ZCZX-SJZCZX-API-010 新增 合法全字段 接口测试 Postman §5.2 已登录 POST 合法 Body code=200;详情四字段一致
ZCZX-SJZCZX-API-011 新增 内容首尾空白 接口测试 Postman trim 已登录 sendContent=" 摘要 " 成功;存库为 trim 后
ZCZX-SJZCZX-API-012 新增 缺发送时间 接口测试 Postman 必填 已登录 sendTime 失败
ZCZX-SJZCZX-API-013 新增 发送内容为空/超长 接口测试 Postman §3.3.1 已登录 sendContent="" 或 2001 字 失败
ZCZX-SJZCZX-API-014 新增 接收方名称非法 接口测试 Postman 1~128 已登录 空串或 129 字 失败
ZCZX-SJZCZX-API-015 新增 接收方地址非法 接口测试 Postman 1~512 已登录 空串或 513 字 失败
ZCZX-SJZCZX-API-016 详情 有效 id 接口测试 Postman §5.4 已登录 GET /dataHub/dataSendRecord/{id} 含四业务字段及审计字段
ZCZX-SJZCZX-API-017 详情 无效/已删 id 接口测试 Postman 异常 已登录 不存在或已删 id data 空或业务失败
ZCZX-SJZCZX-API-018 修改 合法全字段 接口测试 Postman §5.3 有记录 PUT 改时间/内容/名称/地址 成功;详情已更新
ZCZX-SJZCZX-API-019 修改 校验失败 接口测试 Postman 全量校验 有记录 PUT sendContent 仅空白 失败;库不变
ZCZX-SJZCZX-API-020 修改 不存在 id 接口测试 Postman 异常 已登录 PUT 伪造 id 失败
ZCZX-SJZCZX-API-021 删除 单条逻辑删除 接口测试 Postman §5.5 已登录 DELETE /dataHub/dataSendRecord/{id} 成功;列表不可见
ZCZX-SJZCZX-API-022 删除 重复删除 接口测试 Postman 幂等/异常 id 已删 再次 DELETE 同 id 失败或提示不存在
ZCZX-SJZCZX-API-023 端到端 CRUD 串联 接口测试 Postman §4 已登录 POSTlistGET/{id}PUTDELETE 每步成功
ZCZX-SJZCZX-API-024 鉴权 未登录 接口测试 curl 安全 无 Token GET .../list 401 或统一未登录
ZCZX-SJZCZX-API-025 权限 无新增权限 接口测试 Postman §6 仅 list 权限 POST .../dataSendRecord 无权限失败
ZCZX-SJZCZX-API-026 权限 无删除权限 接口测试 Postman §6 无 remove DELETE/{id} 无权限失败
ZCZX-SJZCZX-API-027 响应 失败可读 接口测试 Postman §7 已登录 触发日期颠倒、内容空、名称超长 codemsg 可区分

三、界面测试用例(UI)

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

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-SJZCZX-UI-001 列表 默认分页排序 UI 测试 Playwright+Chrome §5.1.2 已登录;数据>20 进入「数据资产服务中心」菜单 默认每页 20;发送时间新在前
ZCZX-SJZCZX-UI-002 列表 发送日期筛选 UI 测试 Playwright+Chrome §2.4 有 A、B 样本 选发送日期起止→搜索 结果在闭区间内
ZCZX-SJZCZX-UI-003 列表 接收方名称筛选 UI 测试 Playwright+Chrome 精确匹配 有样本 输入全名「县级政务平台」→搜索 仅命中 A
ZCZX-SJZCZX-UI-004 列表 名称片段不匹配 UI 测试 Playwright+Chrome 非模糊 有样本 输入「政务」→搜索 无行或空状态
ZCZX-SJZCZX-UI-005 列表 组合与重置 UI 测试 Playwright+Chrome §5.1 已筛选 搜索→「重置」 条件清空;默认列表
ZCZX-SJZCZX-UI-006 列表 展示列完整 UI 测试 Playwright+Chrome §5.1.3 有数据 查看表头与首行 含发送时间、内容、接收方名称/地址、操作
ZCZX-SJZCZX-UI-007 列表 长文本省略 UI 测试 Playwright+Chrome §5.1.3 内容/地址较长 查看列表单元格 省略显示;悬停或详情可看全
ZCZX-SJZCZX-UI-008 新增 合法登记 UI 测试 Playwright+Chrome §5.2 已登录 新增→填四必填→确定 成功提示;列表新行
ZCZX-SJZCZX-UI-009 新增 发送时间默认当前 UI 测试 Playwright+Chrome §5.2.2 已登录 打开新增弹窗 发送时间默认为当前时刻(可改)
ZCZX-SJZCZX-UI-010 新增 缺必填项 UI 测试 Playwright+Chrome §5.2.3 已登录 留空发送内容或接收方→确定 字段校验失败;不关闭弹窗
ZCZX-SJZCZX-UI-011 新增 发送内容仅空白 UI 测试 Playwright+Chrome trim 已登录 发送内容填空格→确定 校验失败
ZCZX-SJZCZX-UI-012 新增 取消新增 UI 测试 Playwright+Chrome 取消 已登录 新增填一半→取消 弹窗关闭;列表无新行
ZCZX-SJZCZX-UI-013 列表 日期起晚于止 UI 测试 Playwright+Chrome §7 已登录 发送日期选颠倒区间→搜索 提示修正;不刷新或空结果
ZCZX-SJZCZX-UI-014 详情 字段完整只读 UI 测试 Playwright+Chrome §5.4 任意记录 点「查看」 四业务字段+审计信息;无保存按钮
ZCZX-SJZCZX-UI-015 修改 编辑成功 UI 测试 Playwright+Chrome §5.3 有记录 编辑→改接收方地址→保存 列表/详情已更新
ZCZX-SJZCZX-UI-016 修改 校验失败 UI 测试 Playwright+Chrome §5.3 有记录 编辑清空接收方名称→保存 校验失败;原数据不变
ZCZX-SJZCZX-UI-017 删除 确认删除 UI 测试 Playwright+Chrome §5.5 有记录 删除→确认 列表无该行
ZCZX-SJZCZX-UI-018 删除 取消删除 UI 测试 Playwright+Chrome 确认框 有记录 删除→取消 记录仍在
ZCZX-SJZCZX-UI-019 端到端 CRUD 串联 UI 集成 Playwright+Chrome §4 权限齐备 新增→搜索→查看→编辑→删除 全流程无报错
ZCZX-SJZCZX-UI-020 权限 只读账号 UI 测试 Playwright+Chrome §6 无 add/edit/remove 进入模块 无新增/编辑/删除或点击拒绝
ZCZX-SJZCZX-UI-021 权限 无菜单 UI 测试 Playwright+Chrome §6 无 list 角色 登录后找菜单 无「数据资产服务中心」入口

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

  • 安装:npm i -D @playwright/testnpx playwright install chromium;本机 Chrome:npx playwright install chrome
  • playwright.config.tsuse: { channel: 'chrome', headless: false, locale: 'zh-CN', baseURL: 'http://localhost:80' }storageState 复用登录态。
  • 路由:page.goto('/dataHub/dataSendRecord')(以菜单 component 为准)。
  • 发送日期:page.locator('.el-date-editor').filter({ hasText: '发送日期' }) 或按 label 定位 daterange;fill 起止 YYYY-MM-DD
  • 新增:page.getByRole('button', { name: '新增' });弹窗内 page.getByLabel('发送内容').fill('…');发送时间用 datetime 选择器。
  • 删除:page.getByRole('button', { name: '删除' }).first()page.getByRole('button', { name: '确定' })

覆盖对照

类别 单元 UT 接口 API 界面 UI
正常流程 UT-007、011~012、015 API-001~007、010~011、016、018、023 UI-001~009、014~015、019
异常流程 UT-001~006、008~010、014 API-008~009、012~015、017、019~022、024 UI-010~013、016~018
业务约束 UT-002~005、015 API-004~006、011、013~015 UI-003~004、007、011、013
逻辑删除 UT-010、013、015 API-009、021~022 UI-017~018
权限/鉴权 API-024~026 UI-020~021
名称精确/大小写 UT-015 API-004~006 UI-003~004
发送日期闭区间 UT-006、015 API-002~003、008 UI-002、013

功能需求追溯(自查)

需求章节 要点 主要对应用例
§5.1 列表 日期区间、名称精确、分页排序 API-001~009;UI-001~007、013
§5.2 新增 默认时间、必填、长度 UT-001~005、007、011;API-010~015;UI-008~012
§5.3 修改 全字段可改 UT-012;API-018~020;UI-015~016
§5.4 查看 只读全文 API-016;UI-014
§5.5 删除 确认、逻辑删除 UT-013;API-021~022;UI-017~018
§2.3~§2.4 逻辑删除、筛选口径 UT-010、015;API-005、009
§6~§7 权限、错误提示 API-024~027;UI-020~021
§4 流程 CRUD 串联 API-023;UI-019

修订记录

版本 说明
1.0 初版:单元 15、接口 27、UI 21;覆盖正常/异常/约束;Playwright+Chrome;编号前缀 ZCZX-SJZCZX