Files
ccdi/doc/test-data/purchase_transaction

采购交易信息管理 - 测试说明

1. 测试环境说明

1.1 系统环境

  • 操作系统: Windows/Linux
  • Java版本: JDK 17
  • 数据库: MySQL 8.2.0
  • 后端框架: Spring Boot 3.5.8
  • 前端框架: Vue 2.6.12 + Element UI 2.15.14

1.2 服务地址

2. 测试账号信息

2.1 管理员账号

  • 用户名: admin
  • 密码: admin123
  • 权限: 拥有所有权限

2.2 获取Token

使用以下接口获取访问令牌:

POST /login/test
Content-Type: application/json

{
  "username": "admin",
  "password": "admin123"
}

响应示例:

{
  "code": 200,
  "msg": "操作成功",
  "token": "Bearer eyJhbGciOiJIUzI1NiJ9..."
}

3. 接口测试说明

3.1 接口列表

采购交易管理模块共10个接口

序号 接口名称 方法 路径 权限标识
1 查询采购交易列表 GET /ccdi/purchaseTransaction/list ccdi:purchaseTransaction:list
2 获取采购交易详情 GET /ccdi/purchaseTransaction/{purchaseId} ccdi:purchaseTransaction:query
3 新增采购交易 POST /ccdi/purchaseTransaction ccdi:purchaseTransaction:add
4 修改采购交易 PUT /ccdi/purchaseTransaction ccdi:purchaseTransaction:edit
5 删除采购交易 DELETE /ccdi/purchaseTransaction/{purchaseIds} ccdi:purchaseTransaction:remove
6 导出采购交易 POST /ccdi/purchaseTransaction/export ccdi:purchaseTransaction:export
7 下载导入模板 POST /ccdi/purchaseTransaction/importTemplate 无需权限
8 导入采购交易 POST /ccdi/purchaseTransaction/importData ccdi:purchaseTransaction:import
9 查询导入状态 GET /ccdi/purchaseTransaction/importStatus/{taskId} ccdi:purchaseTransaction:import
10 查询导入失败记录 GET /ccdi/purchaseTransaction/importFailures/{taskId} ccdi:purchaseTransaction:import

3.2 接口测试工具推荐

  1. Postman: 图形化接口测试工具
  2. Swagger UI: 在线接口文档和测试工具
  3. curl: 命令行工具

3.3 接口测试要点

3.3.1 分页查询测试

# 测试分页查询
GET /ccdi/purchaseTransaction/list?pageNum=1&pageSize=10

# 测试条件查询
GET /ccdi/purchaseTransaction/list?projectName=测试&applicantName=张三

# 测试日期范围查询
GET /ccdi/purchaseTransaction/list?params[beginApplyDate]=2025-01-01&params[endApplyDate]=2025-12-31

3.3.2 数据验证测试

  • 测试必填字段校验purchaseId为必填
  • 测试字段长度限制
  • 测试数值类型字段(金额、数量等)
  • 测试日期格式校验

3.3.3 异步导入测试

# 1. 提交导入任务
POST /ccdi/purchaseTransaction/importData?updateSupport=false
Content-Type: multipart/form-data
# 上传Excel文件

# 2. 获取返回的taskId
# 响应: {"code": 200, "msg": "导入任务已提交任务IDtask-xxx"}

# 3. 轮询查询导入状态
GET /ccdi/purchaseTransaction/importStatus/task-xxx

# 4. 如果有失败记录,查询失败详情
GET /ccdi/purchaseTransaction/importFailures/task-xxx

4. 前端功能测试说明

4.1 页面访问测试

  1. 登录系统后,在左侧菜单找到"CCDI管理" -> "采购交易管理"
  2. 点击菜单,确认页面正常加载
  3. 确认表格、查询条件、操作按钮正常显示

4.2 查询功能测试

  1. 基础查询:

    • 输入项目名称进行模糊查询
    • 输入标的物名称进行模糊查询
    • 输入申请人进行模糊查询
  2. 日期范围查询:

    • 选择申请日期范围
    • 点击"搜索"按钮
    • 验证查询结果是否在指定日期范围内
  3. 分页查询:

    • 切换每页显示条数10/20/50/100
    • 点击页码切换
    • 验证分页数据正确性
  4. 重置查询:

    • 输入查询条件后点击"重置"
    • 验证查询条件清空,列表恢复全部数据

4.3 新增功能测试

  1. 点击"新增"按钮
  2. 填写表单数据(测试不同场景):
    • 正常数据: 填写完整正确信息
    • 必填验证: 不填写purchaseId提交时验证提示
    • 字段长度: 输入超长字符串,验证长度限制
    • 数值字段: 输入负数、小数点等
    • 日期字段: 选择各个日期,验证日期顺序
  3. 点击"确定"提交
  4. 验证成功提示和列表刷新

4.4 编辑功能测试

  1. 点击某条记录的"编辑"按钮
  2. 验证表单数据回显正确
  3. 修改部分字段
  4. 提交保存
  5. 验证修改成功和数据更新

4.5 详情功能测试

  1. 点击某条记录的"详情"按钮
  2. 验证详情对话框显示完整
  3. 验证所有字段正确显示
  4. 验证金额格式化显示(千分位)
  5. 验证日期格式化显示

4.6 删除功能测试

  1. 单条删除:

    • 点击某条记录的"删除"按钮
    • 确认删除提示
    • 验证删除成功
  2. 批量删除:

    • 勾选多条记录
    • 点击"删除"按钮
    • 确认删除提示
    • 验证批量删除成功

4.7 导出功能测试

  1. 点击"导出"按钮
  2. 验证Excel文件下载
  3. 打开Excel文件验证:
    • 表头正确
    • 数据完整
    • 格式正确(日期、金额等)
    • 字典项显示正确

4.8 导入功能测试

  1. 下载模板:

    • 点击"导入"按钮
    • 点击"下载模板"链接
    • 验证模板文件包含下拉框
  2. 填写导入数据:

    • 使用下拉框选择字典值
    • 填写测试数据(包含正常、异常数据)
  3. 导入测试:

    • 上传Excel文件
    • 选择是否更新已存在数据
    • 提交导入
    • 验证异步导入提示
    • 等待导入完成
    • 查看导入结果(成功/失败数量)
    • 如果有失败,查看失败原因
  4. 导入验证:

    • 刷新列表,验证数据导入成功
    • 验证数据正确性
    • 验证字典值正确

5. 导入导出测试说明

5.1 导出功能测试要点

  1. 全部导出:

    • 不设置任何查询条件
    • 点击导出
    • 验证导出所有数据
  2. 条件导出:

    • 设置查询条件
    • 点击导出
    • 验证只导出符合条件的数据
  3. 数据格式验证:

    • 金额字段显示为数字格式保留2位小数
    • 日期字段:格式为 yyyy-MM-dd
    • 字典字段:显示字典标签而非值

5.2 导入功能测试要点

5.2.1 模板验证

  1. 下载模板,验证包含所有必填字段
  2. 验证字典字段包含下拉框(使用@DictDropdown注解
  3. 验证字段列顺序与实体类一致

5.2.2 正常数据导入测试

准备包含以下特征的测试数据:

  • 完整填写所有字段
  • 使用下拉框选择字典值
  • 日期格式正确
  • 金额数值合理

5.2.3 异常数据导入测试

准备包含以下错误的数据:

  1. 必填字段缺失:

    • purchaseId为空
    • 验证导入时提示必填
  2. 字段长度超限:

    • 项目名称超过200字符
    • 验证导入时提示长度超限
  3. 数据格式错误:

    • 日期格式不正确
    • 金额填写非数字
    • 验证导入时提示格式错误
  4. 重复数据:

    • purchaseId重复
    • 测试"是否更新"选项:
      • 不更新:跳过重复数据
      • 更新:更新已有数据

5.2.4 批量导入测试

准备1000+条测试数据:

  • 验证导入性能
  • 验证异步导入不阻塞
  • 验证导入进度提示
  • 验证导入结果统计正确

5.2.5 导入失败验证

导入后:

  1. 查看导入结果对话框
  2. 验证显示成功/失败数量
  3. 如果有失败:
    • 查看失败记录列表
    • 验证显示行号
    • 验证显示具体错误信息
    • 修正错误数据后重新导入

6. 性能测试建议

6.1 分页查询性能

  • 测试不同数据量100/1000/10000条的查询响应时间
  • 测试复杂条件查询性能
  • 验证MyBatis Plus分页效率

6.2 导入性能测试

  • 测试100条数据导入时间
  • 测试1000条数据导入时间
  • 测试5000条数据导入时间
  • 监控数据库连接池使用情况
  • 监控内存使用情况

6.3 导出性能测试

  • 测试100条数据导出时间
  • 测试1000条数据导出时间
  • 测试10000条数据导出时间
  • 验证大文件导出不卡顿

7. 常见问题及解决方案

7.1 导入失败

问题: 导入时提示文件格式错误 解决:

  • 确认文件格式为.xlsx或.xls
  • 不要修改模板的表头
  • 不要删除或添加列

7.2 导入卡顿

问题: 导入大量数据时界面卡顿 解决:

  • 本系统采用异步导入,不会卡顿
  • 导入后会有进度提示
  • 导入完成后会显示结果

7.3 数据导出乱码

问题: 导出的Excel中文乱码 解决:

  • 系统使用UTF-8编码
  • 确保Excel软件支持UTF-8
  • 建议使用WPS或Microsoft Office打开

7.4 权限不足

问题: 提示无权限访问 解决:

  • 确认用户已分配相应角色
  • 确认角色已分配菜单权限
  • 确认角色已分配按钮权限

8. 测试报告模板

测试完成后,建议记录以下内容:

8.1 功能测试报告

功能模块 测试用例数 通过数 失败数 通过率
列表查询 10 10 0 100%
新增功能 8 8 0 100%
编辑功能 6 6 0 100%
删除功能 4 4 0 100%
导出功能 3 3 0 100%
导入功能 12 12 0 100%
合计 43 43 0 100%

8.2 性能测试报告

测试项 数据量 响应时间 状态
分页查询 1000条 <200ms 通过
分页查询 10000条 <500ms 通过
数据导入 1000条 <5s 通过
数据导出 1000条 <2s 通过
数据导出 10000条 <10s 通过

9. 测试完成标准

9.1 功能完整性

  • 所有接口测试通过
  • 所有前端功能测试通过
  • 所有验证规则生效
  • 导入导出功能正常

9.2 数据正确性

  • 数据保存完整
  • 数据查询准确
  • 数据更新成功
  • 数据删除正确

9.3 用户体验

  • 操作响应及时
  • 提示信息清晰
  • 错误处理友好
  • 界面布局合理

9.4 性能要求

  • 分页查询 <500ms
  • 单条CRUD <200ms
  • 导入1000条 <5s
  • 导出1000条 <2s

10. 测试注意事项

  1. 测试数据准备: 准备各种边界情况的测试数据
  2. 环境一致性: 确保测试环境与生产环境配置一致
  3. 数据备份: 测试前备份重要数据
  4. 日志记录: 测试过程中记录遇到的问题和解决方案
  5. 回归测试: 修改bug后进行回归测试
  6. 用户验收: 建议邀请业务人员进行用户验收测试