# 功能测试 - 反向追溯 > 模块:数据中台 / 基础追溯 / 反向追溯 (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 | 有效条码查询 | 输入存在追溯数据的电池条码,点击“查询” | 页面展示追溯节点树,节点包含物料名称、编码、批次、工序、时间、设备等信息 | | 4 | 无数据条码查询 | 输入不存在追溯数据的电池条码,点击“查询” | 页面保持空态或显示无节点,不出现脚本错误 | | 5 | 横向/纵向切换 | 查询出数据后,切换“横向图谱”和“纵向图谱” | 追溯节点展示方向切换,页面不丢失数据 | | 6 | 物料编码定位 | 查询出数据后,输入某个节点的物料编码,点击定位确认 | 匹配节点高亮并滚动到可视区域 | | 7 | 物料批次定位 | 输入某个节点的物料批次,点击定位确认 | 匹配节点高亮并滚动到可视区域 | | 8 | 工序单元定位 | 输入某个制成品节点的工序单元编码,点击定位确认 | 匹配节点高亮并滚动到可视区域;不存在时提示未找到匹配节点 | | 9 | 导出前校验 | 未输入电池条码时点击“导出” | 页面提示请输入电池条码 | | 10 | 查询前导出 | 输入电池条码但未查询出追溯树,点击“导出” | 页面提示请先查询追溯数据后再导出 | | 11 | 正常导出 | 查询出追溯树后点击“导出” | 调用导出接口,浏览器开始下载或打开导出文件 | | 12 | 重置功能 | 查询出追溯树后点击“重置” | 输入框、追溯树、定位输入和高亮状态全部清空 | | 13 | 国际化检查 | 切换中英文语言后重新进入页面 | 页面按钮、节点字段和提示文案随语言切换显示 | ## 回归关注点 - 接口返回 `relation_graph.nodes` 或 `relation_graph.lines` 为空时页面不能报错。 - 导出接口参数中的 `tree_list` 应为当前追溯树节点数组 JSON。 - 路由参数携带 `battery_id` 时,页面应能自动查询对应追溯数据。