# 功能测试 - 反向追溯 > 模块:数据中台 / 基础追溯 / 反向追溯 (Backward Traceability) > 路由:`/data_middleground/basic_traceability/reverse_direction_traceability` ## 测试前置条件 - 测试账号具备访问“反向追溯”的菜单权限。 - 准备至少 2 个电池条码: - 一个存在完整反向追溯关系图的电池条码。 - 一个不存在追溯数据或数据为空的电池条码。 - 后端接口 `data_middleground/basic_traceability/reverse_direction_traceability/get_data` 和 `export_tree` 可正常访问。 ## 测试任务列表 | 序号 | 测试项 | 操作步骤 | 预期结果 | |---:|---|---|---| | 1 | 页面入口 | 从菜单进入“反向追溯”,或直接访问 `/data_middleground/basic_traceability/reverse_direction_traceability` | 页面正常打开,显示电池条码输入框、查询、导出、重置按钮和空态区域 | | 2 | 空输入查询 | 不输入电池条码,点击“查询” | 页面提示请输入电池条码,不发起有效查询 | | 3 | 有效条码查询 | 输入存在追溯数据的电池条码,点击“查询” | 页面通过 relation-graph 展示追溯图谱,节点包含物料名称、编码、批次、工序、时间、设备等信息 | | 4 | 无数据条码查询 | 输入不存在追溯数据的电池条码,点击“查询” | 页面保持空态或显示无节点,不出现脚本错误 | | 5 | 横向/纵向切换 | 查询出数据后,切换“横向图谱”和“纵向图谱” | 追溯节点展示方向切换,页面不丢失数据 | | 6 | 图谱拖拽与缩放 | 查询出数据后,在图谱空白区域拖拽,并使用鼠标滚轮缩放 | 图谱内容可以平移和缩放,节点不会被页面容器裁切 | | 7 | 节点内容完整性 | 查看包含较多字段的节点,滚动节点内容区域 | 节点卡片外框完整显示,字段内容可在节点内部滚动查看 | | 8 | 物料编码定位 | 查询出数据后,输入某个节点的物料编码,点击定位确认 | 匹配节点高亮并居中聚焦到可视区域 | | 9 | 物料批次定位 | 输入某个节点的物料批次,点击定位确认 | 匹配节点高亮并居中聚焦到可视区域 | | 10 | 工序单元定位 | 输入某个制成品节点的工序单元编码,点击定位确认 | 匹配节点高亮并居中聚焦到可视区域;不存在时提示未找到匹配节点 | | 11 | 导出前校验 | 未输入电池条码时点击“导出” | 页面提示请输入电池条码 | | 12 | 查询前导出 | 输入电池条码但未查询出追溯树,点击“导出” | 页面提示请先查询追溯数据后再导出 | | 13 | 正常导出 | 查询出追溯树后点击“导出” | 调用导出接口,浏览器开始下载或打开导出文件 | | 14 | 重置功能 | 查询出追溯树后点击“重置” | 输入框、追溯树、定位输入和高亮状态全部清空 | | 15 | 国际化检查 | 切换中英文语言后重新进入页面 | 页面按钮、节点字段和提示文案随语言切换显示 | ## 回归关注点 - 接口返回 `relation_graph.nodes` 或 `relation_graph.lines` 为空时页面不能报错。 - 图谱必须使用 `relation-graph` 渲染,支持拖拽、缩放和定位聚焦。 - 节点字段较多时,节点卡片外框不应被裁切,内容应可在卡片内部滚动查看。 - 导出接口参数中的 `tree_list` 应为当前追溯树节点数组 JSON。 - 路由参数携带 `battery_id` 时,页面应能自动查询对应追溯数据。