西藏巴青项目

补贴发放记录管理测试用例.md 14KB

补贴发放记录 — 测试用例

依据:补贴发放记录功能需求.md补贴发放记录技术方案.md
接口 Base Path(示例)/policy/subsidyRecord;若含 context-path 或网关前缀须补齐。鉴权与若依一致(Cookie / Token)。

通用前置(无特殊说明):具备本模块菜单与按钮权限的账号已登录。补贴类型1 农业生产、2 住房基建、3 民生保障。测试数据:合法 18 位身份证(含校验位)、11 位手机号、16~19 位数字银行账户、金额 > 0 且最多 2 位小数;发放日期默认 ≤ 当天。

界面(UI)测试:借助 Playwright 启动 Chromium(与 Google Chrome 同源内核);可配置 channel: 'chrome' 调用本机已安装的谷歌浏览器。


一、单元测试用例

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-BTJL-UT-001 参数校验 补贴项目名称长度 单元测试 JUnit5 1~20 字 空串、1 字、20 字、21 字 空/21 失败;1~20 通过
ZCZX-BTJL-UT-002 参数校验 受补贴人姓名长度 单元测试 JUnit5 1~10 字 空串、1 字、10 字、11 字 空/11 失败;1~10 通过
ZCZX-BTJL-UT-003 参数校验 补贴类型枚举 单元测试 JUnit5 仅 1~3 subsidyType 为 1/3 通过;0、4、null 失败 与技术方案 §2.2 一致
ZCZX-BTJL-UT-004 参数校验 身份证号 单元测试 JUnit5 18 位+校验位 合法号、17 位、非法校验位、含非法字符 仅合法通过
ZCZX-BTJL-UT-005 参数校验 联系电话 单元测试 JUnit5 大陆手机号 合法 11 位、10 位、非 1 开头 仅合法通过
ZCZX-BTJL-UT-006 参数校验 银行账户 单元测试 JUnit5 16~19 位数字 15 位、16 位、19 位、20 位、含字母 16~19 数字通过;其余失败
ZCZX-BTJL-UT-007 参数校验 补贴金额 单元测试 JUnit5 >0,2 位小数 0、-1、0.01、999999.99、三位小数 0/负/三位小数失败;合法正数通过
ZCZX-BTJL-UT-008 参数校验 发放日期 单元测试 JUnit5 非未来 明天、今天、昨天、非法格式 未来/非法失败;今天及过去通过
ZCZX-BTJL-UT-009 查询校验 日期区间 单元测试 JUnit5 §5.2 validateDateRange(start,end):start>end、仅 start、仅 end、相等 非法区间失败;合法通过
ZCZX-BTJL-UT-010 Service 新增落库 单元测试 JUnit5+Mockito 正常登记 合法实体 insert(record) 各字段与入参一致;有 create_time
ZCZX-BTJL-UT-011 Service 修改全字段 单元测试 JUnit5+Mockito §5.3 已存在 id update(record) 改金额/日期 更新成功;update_time 变化
ZCZX-BTJL-UT-012 Service 删除记录 单元测试 JUnit5+Mockito §5.4 Mock Mapper deleteByIds([id]) 调用删除;无文件清理逻辑
ZCZX-BTJL-UT-013 Service 列表排序 SQL 单元测试 JUnit5 技术方案 检查列表查询 ORDER BY grant_date DESC, create_time DESC
ZCZX-BTJL-UT-014 脱敏 身份证脱敏 单元测试 JUnit5 §3.4 可选 明文 18 位 maskIdCard(s) 前 4+后 4 可见,中间 *
ZCZX-BTJL-UT-015 脱敏 手机号脱敏 单元测试 JUnit5 §3.4 可选 11 位手机号 maskPhone(s) 前 3+后 4,中间 ****
ZCZX-BTJL-UT-016 脱敏 无特权详情脱敏 单元测试 JUnit5+Mockito 权限 用户无完整查看权 toListVo(record,false) 敏感字段为脱敏值

二、接口测试用例

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-BTJL-API-001 列表 默认分页排序 接口测试 Postman/curl §5.2 已登录;有多条不同发放日 GET /industryPolicy/subsidyRecord/list rows≤20;按 grantDate 新在前
ZCZX-BTJL-API-002 列表 姓名模糊 接口测试 Postman 姓名筛选 已登录 recipientName= 唯一片段 命中姓名含该片段记录
ZCZX-BTJL-API-003 列表 类型筛选-农业 接口测试 Postman 精确 已登录 subsidyType=1 均为农业生产
ZCZX-BTJL-API-004 列表 类型筛选-住房 接口测试 Postman 精确 已登录 subsidyType=2 均为住房基建
ZCZX-BTJL-API-005 列表 类型筛选-民生 接口测试 Postman 精确 已登录 subsidyType=3 均为民生保障
ZCZX-BTJL-API-006 列表 发放日期闭区间 接口测试 Postman start/end 已知 grantDate 样本 startDateendDate 含样本日 仅区间内记录
ZCZX-BTJL-API-007 列表 仅 startDate 接口测试 Postman ≥开始 已登录 只传 startDate 发放日 ≥ startDate
ZCZX-BTJL-API-008 列表 仅 endDate 接口测试 Postman ≤结束 已登录 只传 endDate 发放日 ≤ endDate
ZCZX-BTJL-API-009 列表 日期区间非法 接口测试 Postman 异常 已登录 startDate>endDate 失败;可读 msg;不返回业务数据
ZCZX-BTJL-API-010 列表 组合查询 接口测试 Postman 多条件 已登录 姓名+类型+日期 同时满足
ZCZX-BTJL-API-011 新增 合法全字段 接口测试 Postman §5.1 已登录 POST Body 八项必填合法 code 成功;详情可查
ZCZX-BTJL-API-012 新增 项目名称非法 接口测试 Postman 1~20 已登录 项目名空/21 字 失败;无新记录
ZCZX-BTJL-API-013 新增 姓名非法 接口测试 Postman 1~10 已登录 姓名空/11 字 失败
ZCZX-BTJL-API-014 新增 类型非法 接口测试 Postman 枚举 已登录 subsidyType=099 失败
ZCZX-BTJL-API-015 新增 身份证非法 接口测试 Postman 校验 已登录 错误 idCard 失败;提示身份证类错误
ZCZX-BTJL-API-016 新增 手机号非法 接口测试 Postman 校验 已登录 10 位或非手机号 失败
ZCZX-BTJL-API-017 新增 银行账户非法 接口测试 Postman 16~19 已登录 15 位或含字母 失败
ZCZX-BTJL-API-018 新增 金额非法 接口测试 Postman >0 已登录 subsidyAmount=0 或负数 失败
ZCZX-BTJL-API-019 新增 未来发放日 接口测试 Postman 日期 已登录 grantDate 为明天 失败
ZCZX-BTJL-API-020 详情 有效 id 接口测试 Postman §5.5 已登录 GET .../subsidyRecord/{id} 含八项业务字段及审计字段
ZCZX-BTJL-API-021 详情 无效 id 接口测试 Postman 异常 已登录 不存在 id 404 或业务失败
ZCZX-BTJL-API-022 修改 合法修改 接口测试 Postman §5.3 已登录;有记录 PUT 改金额、发放日 成功;详情已更新
ZCZX-BTJL-API-023 修改 校验仍生效 接口测试 Postman 异常 已登录 PUT 改手机号为非法 失败;原数据不变
ZCZX-BTJL-API-024 删除 单条删除 接口测试 Postman §5.4 已登录 DELETE .../subsidyRecord/{id} 成功;列表无该 id
ZCZX-BTJL-API-025 删除 批量删除 接口测试 Postman 批量 已登录;多条 id DELETE .../id1,id2 成功;均不可查
ZCZX-BTJL-API-026 端到端 CRUD 串联 接口测试 Postman §4 已登录 新增→查列表→详情→改→删 全流程成功
ZCZX-BTJL-API-027 鉴权 未登录 接口测试 curl 安全 无 Token GET .../list 401 或统一未登录响应
ZCZX-BTJL-API-028 权限 无写权限 接口测试 Postman 越权 仅 list 权限 POST .../subsidyRecord 无权限失败
ZCZX-BTJL-API-029 响应 失败可读 接口测试 Postman §7 已登录 触发身份证/区间等错误 Body 含 codemsg 且可区分
ZCZX-BTJL-API-030 脱敏 列表手机号(可选) 接口测试 Postman §3.4 普通角色已登录 GET list contactPhone 为脱敏格式(若已实现)

三、界面测试用例(UI)

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

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-BTJL-UI-001 列表 默认分页排序 UI 测试 Playwright+Chrome §5.2 已登录;数据>20 进入「补贴发放记录」 默认每页 20;发放日期新在前
ZCZX-BTJL-UI-002 列表 姓名模糊查询 UI 测试 Playwright+Chrome 姓名筛选 存在姓名含关键词记录 输入姓名→查询 表格含该行
ZCZX-BTJL-UI-003 列表 补贴类型筛选 UI 测试 Playwright+Chrome 精确 多类型均有数据 选「农业生产」→查询 类型列均为农业生产
ZCZX-BTJL-UI-004 列表 发放日期范围 UI 测试 Playwright+Chrome 闭区间 已知样本日期 选 start/end→查询 仅区间内记录
ZCZX-BTJL-UI-005 列表 日期区间非法 UI 测试 Playwright+Chrome 异常 已登录 start>end→查询 提示错误;列表不刷新或空
ZCZX-BTJL-UI-006 列表 组合与重置 UI 测试 Playwright+Chrome 恢复 已筛选 多条件查询→重置 条件清空;恢复默认列表
ZCZX-BTJL-UI-007 列表 操作按钮 UI 测试 Playwright+Chrome §6 有数据行 检查操作列 查看/编辑/删除可见(按权限)
ZCZX-BTJL-UI-008 新增 合法全字段提交 UI 测试 Playwright+Chrome §5.1 已登录 新增→填八项必填→确定 成功;列表出现新记录
ZCZX-BTJL-UI-009 新增 项目名空或超长 UI 测试 Playwright+Chrome 1~20 已登录 项目名空/21 字→提交 校验失败
ZCZX-BTJL-UI-010 新增 姓名超长 UI 测试 Playwright+Chrome 1~10 已登录 姓名 11 字→提交 校验失败
ZCZX-BTJL-UI-011 新增 身份证/手机非法 UI 测试 Playwright+Chrome 校验 已登录 填错误身份证或手机号→提交 明确错误提示
ZCZX-BTJL-UI-012 新增 金额与发放日 UI 测试 Playwright+Chrome 异常 已登录 金额 0 或发放日选明天→提交 校验失败
ZCZX-BTJL-UI-013 新增 类型必选 UI 测试 Playwright+Chrome 约束 可清空类型时 不选类型→提交 必选提示
ZCZX-BTJL-UI-014 详情 字段完整 UI 测试 Playwright+Chrome §5.5 任意记录 点「查看」 项目、类型、姓名、证件、账户、金额、日期齐全
ZCZX-BTJL-UI-015 详情 敏感信息脱敏(可选) UI 测试 Playwright+Chrome §5.5 普通角色 查看详情 身份证/手机/账户为脱敏展示(若已实现)
ZCZX-BTJL-UI-016 修改 编辑成功 UI 测试 Playwright+Chrome §5.3 有记录 编辑→改补贴金额→保存 列表/详情已更新
ZCZX-BTJL-UI-017 修改 保存校验失败 UI 测试 Playwright+Chrome 异常 有记录 清空银行账户→保存 校验失败
ZCZX-BTJL-UI-018 删除 单条删除确认 UI 测试 Playwright+Chrome §5.4 有记录 删除→确认 记录消失
ZCZX-BTJL-UI-019 删除 取消删除 UI 测试 Playwright+Chrome 确认框 有记录 删除→取消 记录仍在
ZCZX-BTJL-UI-020 删除 批量删除(若支持) UI 测试 Playwright+Chrome 批量 勾选多条 批量删除→确认 选中行均消失
ZCZX-BTJL-UI-021 类型 三类均可登记 UI 测试 Playwright+Chrome §2.1 已登录 各建类型 1/2/3 一条并筛选 筛选与展示正确
ZCZX-BTJL-UI-022 端到端 CRUD 串联 UI 集成 Playwright+Chrome §4 可新增 新增→查→看→改→删 全流程界面无报错
ZCZX-BTJL-UI-023 权限 只读账号 UI 测试 Playwright+Chrome §8 无 add/edit/remove 登录进模块 无新增/编辑/删除或操作拒绝
ZCZX-BTJL-UI-024 导出 导出按钮(可选) UI 测试 Playwright+Chrome 技术方案 有 export 权限 点导出 下载 Excel 或提示成功
ZCZX-BTJL-UI-025 表单 金额两位小数 UI 测试 Playwright+Chrome §5.1 已登录 输入 100.555→提交 前端或后端拒绝三位小数

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

  • 安装:npm i -D @playwright/testnpx playwright install chromium;本机 Chrome:channel: 'chrome'
  • 登录复用:storageState: 'auth.json'
  • 路由示例:page.goto('/policy/subsidyRecord')(以菜单配置为准)。
  • 日期:page.locator('.el-date-editor input').first().fill('2025-01-15') 或项目日期组件封装。
  • 断言:expect(page.getByText('农业生产')).toBeVisible()

覆盖对照

类别 单元 UT 接口 API 界面 UI
正常流程 UT-010~013 API-001~008、010~011、020、022、024~026 UI-001~004、008、014、016、018、021~022
异常流程 UT-001~009 API-009、012~019、021、023、029 UI-005、009~013、017、019
业务约束 UT-003~008、009 API-003~005、009、015~019 UI-003、005、011~013、025
脱敏/权限(可选) UT-014~016 API-030、027~028 UI-015、023、024

功能需求追溯(自查)

需求章节 要点 主要对应用例
§5.1 新增 八项必填、格式校验 UT-001~008;API-011~019;UI-008~013
§5.2 列表 姓名模糊、类型、日期区间、排序 UT-009、013;API-001~010;UI-001~006
§5.3 修改 全字段可改 UT-011;API-022~023;UI-016~017
§5.4 删除 单条/批量、确认 UT-012;API-024~025;UI-018~020
§5.5 详情 全字段、脱敏 API-020~021;UI-014~015
§6 操作矩阵 无状态限制 UI-007、023
§7 错误约定 code/msg API-029

修订记录

版本 说明
1.0 初版:单元 16、接口 30、UI 25;台账 CRUD 无发布下架;Playwright+Chrome;Base Path /industryPolicy/subsidyRecord