# 物料管理系统回归测试用例 更新时间:2026-10-12 本文用于版本发布前的人工回归检查。用例依据当前仓库已实现的入库、出库、库存、物料申请审批、物料主数据、物料批量导入和组织隔离功能编写;权限功能暂不纳入本轮回归。测试时请使用隔离的测试环境和测试账号;涉及库存变更的用例应使用专用测试物料,执行前记录库存基线。 ## 通用测试准备 - 准备可执行对应业务操作的测试账号;组织切换用例需准备两个可访问的组织。 - 准备有效物料 M1(库存不少于 20)、有效物料 M2(库存不少于 10),并记录各自的组织、库存和库存流水。 - 准备已作废物料 M3(仅用于历史查询用例),以及可用仓库、库位。 - 记录测试前单据列表、库存余额、库存流水条数和申请状态;每个用例使用独立单据或执行后恢复测试数据。 - 下文提到的“库存”均指当前组织库存查询页显示的现存量;预警用例按当前系统口径检查现存量。 ## 用例列表 ### TC-01 新增入库单后库存增加 **测试内容:** 验证新增入库单、明细、库存余额和流水的一致性。 **前置数据:** M1 当前库存为 10。 **操作步骤:** 1. 进入「库存管理 → 入库管理」,点击「新增入库单」。 2. 选择 M1,数量填写 5;填写经手人、供应商和备注。 3. 保存,打开新单详情;再到「库存查询」和「库存流水」查询 M1。 **判断指标:** 单据及明细保存成功,详情数量为 5;M1 库存变为 15;新增一条入库流水,数量为 +5,变动前后分别为 10 和 15。刷新页面后结果一致。 ### TC-02 入库单多物料明细 **测试内容:** 验证一张入库单包含多条物料明细时分别更新库存。 **前置数据:** M1 库存 10,M2 库存 20。 **操作步骤:** 新建入库单,添加 M1 数量 3、M2 数量 4,填写必填信息并保存;查看单据详情、两种物料库存及流水。 **判断指标:** 单据详情有且仅有两条对应明细;M1 为 13、M2 为 24;两种物料各有一条来源为该入库单的入库流水,数量分别为 +3、+4。 ### TC-03 编辑入库单后库存按新数量更新 **测试内容:** 验证编辑入库单不会重复累加原数量,且库存按新明细重算。 **前置数据:** M1 库存 15,其中目标入库单贡献 5。 **操作步骤:** 在入库列表找到目标单据,点击「编辑」,将 M1 数量从 5 改为 8 并保存;检查详情、库存及相关流水。 **判断指标:** 详情数量为 8;M1 最终库存为 18(只净增加 8);流水与修改后的单据和最终余额相符,不出现重复增加到 23 的情况。 ### TC-04 删除入库单后库存回退 **测试内容:** 验证删除入库单会按原单据维度冲回库存。 **前置数据:** M1 库存 15,其中待删入库单贡献 5。 **操作步骤:** 在入库列表删除目标单据并确认;重新查询单据列表、M1 库存和库存流水。 **判断指标:** 该单据不再出现在列表;M1 库存恢复到 10;该单据对应的库存流水已按删除后的结果更新,库存余额核对一致。 ### TC-05 新增出库单扣减库存 **测试内容:** 验证正常出库的单据、库存和流水联动。 **前置数据:** M1 当前库存为 10。 **操作步骤:** 进入「出库管理」,新增出库单,选择 M1 数量 4,填写接收方并保存;查看详情、库存和流水。 **判断指标:** 单据明细数量为 4;M1 库存变为 6;新增一条出库流水,类型为出库、数量为 4,变动前后为 10 和 6。 ### TC-06 库存不足时拒绝出库并保持数据不变 **测试内容:** 验证出库数量超过库存时服务端拦截且不产生部分写入。 **前置数据:** M1 当前库存为 3。 **操作步骤:** 新增出库单,选择 M1 数量 4,填写接收方并保存;检查提示、出库单列表、库存和流水。 **判断指标:** 保存失败并提示库存不足或等效错误;没有新增有效出库单或出库明细;M1 仍为 3;没有对应出库流水。 ### TC-07 编辑出库单时正确返还旧数量并扣减新数量 **测试内容:** 验证修改出库单明细后库存按差额更新。 **前置数据:** M1 库存 6,目标出库单原数量为 4(出库前为 10)。 **操作步骤:** 编辑目标出库单,将 M1 数量由 4 改为 2 并保存;检查单据详情、库存和流水。 **判断指标:** 详情数量为 2;M1 最终库存为 8;不会仍按旧的 4 件扣减,也不会再次扣除新数量导致余额错误。 ### TC-08 申请提交、本人列表和取消 **测试内容:** 验证申请人创建待审批申请、查看本人申请并取消。 **前置数据:** 使用普通申请账号登录;M1 有足够库存。 **操作步骤:** 在「物料申请 → 发起申请」填写用途,添加 M1 数量 2 并提交;切换到「我的申请」找到记录并取消。 **判断指标:** 提交后生成一条待审批申请,物料和数量正确;取消后状态为已取消;库存不变;该记录不再显示待审批操作。 ### TC-09 审批拒绝并记录原因 **测试内容:** 验证审批人拒绝申请及原因展示。 **前置数据:** 存在一条待审批申请;使用有审批权限的账号。 **操作步骤:** 打开「申请审批」,对目标申请点击「拒绝」,填写原因“需求信息不完整”并确认;申请人重新查看「我的申请」。 **判断指标:** 申请状态变为已拒绝;拒绝原因与输入一致并可由申请人查看;库存不变;该申请不能再次通过或拒绝。 ### TC-10 审批通过并自动出库 **测试内容:** 验证自动出库审批事务性地更新申请、库存、出库单和流水。 **前置数据:** M1 库存 10;存在数量为 3 的待审批申请。 **操作步骤:** 审批人打开目标申请,点击「通过」,保持「自动出库」开启并确认;检查申请状态、出库列表、M1 库存及流水。 **判断指标:** 申请变为已通过;产生对应出库单及数量 3 的明细;M1 变为 7;产生来源为该申请的出库流水,数量为 3。重复刷新或再次处理不得重复扣库存。 ### TC-11 审批通过但不自动出库 **测试内容:** 验证关闭自动出库时只审批,不修改库存。 **前置数据:** M1 库存 10;存在数量为 3 的待审批申请。 **操作步骤:** 审批人点击「通过」,关闭「自动出库」后确认;查看申请状态、库存、出库列表和流水。 **判断指标:** 申请变为已通过;M1 仍为 10;没有由本次审批生成的出库单或库存流水。 ### TC-12 自动出库审批库存不足时整体回滚 **测试内容:** 验证申请自动出库失败不会留下半完成的数据。 **前置数据:** M1 当前库存 2;存在数量为 3 的待审批申请。 **操作步骤:** 审批人对该申请选择自动出库并确认;检查提示、申请状态、库存、出库列表及流水。 **判断指标:** 操作失败并提示库存不足或等效错误;申请仍为待审批;M1 仍为 2;未生成出库单和出库流水。 ### TC-13 设置库存预警及阈值边界 **测试内容:** 验证预警启停与“库存小于等于阈值”规则。 **前置数据:** 准备库存为 5 的 M1。 **操作步骤:** 在「库存查询」打开 M1 的「设置预警」,启用预警并将阈值设为 5 保存;检查「库存预警」列表。随后将阈值改为 0,并分别验证库存为 0 和大于 0 的结果;最后关闭预警。 **判断指标:** 库存等于阈值时出现在预警列表;阈值 0 合法且库存为 0 时预警、库存大于 0 时不预警;关闭后不再出现在预警列表,阈值配置可保留。 ### TC-14 库存查询筛选与详情 **测试内容:** 验证按物料编码/名称和分类查询,以及库存详情展示。 **前置数据:** 至少准备两个不同分类的有效物料和对应库存。 **操作步骤:** 在「库存查询」分别按物料编码、名称关键词和分类筛选;清空条件后点击一条记录的「详情」。 **判断指标:** 每种筛选只返回匹配记录,清空条件后恢复列表;详情显示正确的组织、仓库、库位、现存量、预留、锁定和在途数量,与测试数据一致。 ### TC-15 库存流水查询及来源关联 **测试内容:** 验证入库、出库和申请自动出库产生的流水可筛选并显示来源。 **前置数据:** 依次准备一笔入库、一笔普通出库和一笔自动出库审批。 **操作步骤:** 打开「库存查询 → 库存流水」,按物料查询;逐条检查变动类型、数量、前后库存、来源类型和来源编号。 **判断指标:** 三类变动均可查到;入库方向和出库方向正确;前后数量连续匹配库存变更;来源分别对应入库单、出库单和申请。 ### TC-16 组织切换后数据和缓存隔离 **测试内容:** 验证用户切换已授权组织后页面数据刷新,不串用上一个组织的数据。 **前置数据:** 组织 A 与组织 B 各有不同编码的物料及不同库存;测试账号有两组织访问权限。 **操作步骤:** 切换到组织 A,记录库存列表及 M1 库存;切换到组织 B,查询库存、预警、流水和入库/出库列表;再切回 A 查询。 **判断指标:** 每个组织只显示本组织的数据;切换后列表、筛选、分页和单物料库存信息更新;返回 A 后恢复 A 的数据,不显示 B 的单据、流水或库存。 ### TC-17 物料主数据编辑、变更记录与作废约束 **测试内容:** 验证物料基础资料修改留下变更记录,且仍有库存的物料不能作废。 **前置数据:** M1 有非零库存;准备一件库存为 0 且无阻止作废业务记录的有效测试物料 M4。 **操作步骤:** 在「物料」编辑 M1 的名称/规格并保存,查看对应物料日志;尝试作废 M1;再对 M4 执行作废并检查物料列表和历史查询选项。 **判断指标:** M1 修改成功且日志可见修改前后信息;M1 因仍有库存而作废失败,状态不变;M4 作废成功,常规业务物料选择不再可选,库存流水历史检索仍可找到已作废物料。 ### TC-18 物料基础配置与编码生成 **测试内容:** 验证物料分类、计量单位和编码规则能够配置,并被新增物料流程正确使用。 **前置数据:** 使用可维护物料主数据的测试账号;准备尚未使用的分类编码、单位编码和编码前缀。 **操作步骤:** 在「物料主数据 → 基础配置」依次新增一个大类、其下的小类、一个计量单位,并为小类配置启用的编码规则(例如前缀 `RT`、流水号 4 位、下一流水号 1);进入「物料」新增物料,选择该大类、小类和单位,保存后再次新增一件同分类物料。 **判断指标:** 配置项保存并在列表显示正确;新增物料可选到对应分类和单位;系统按规则生成编码(例如 `RT0001`、`RT0002`),编码不重复,物料详情显示所选分类和单位。 ### TC-19 供应商和客户资料维护 **测试内容:** 验证业务伙伴新增、编辑、分类筛选及供应商/客户身份页面数据正确。 **前置数据:** 准备唯一伙伴编码及未使用的测试企业名称;供应商与客户页面均可访问。 **操作步骤:** 在「业务伙伴 → 供应商」新增一条供应商资料,填写伙伴编码、企业名称、联系人和电话,并选择一个业务分类;保存后按分类筛选并打开详情;编辑联系人信息并保存。再到「客户」页面新增一条客户资料,检查列表和详情。 **判断指标:** 两类资料均保存成功且字段显示正确;供应商分类筛选结果匹配;编辑后联系人信息更新;供应商资料显示在供应商页面,客户资料显示在客户页面,页面间无错误混列。 ## 物料批量导入专项回归(TC-20到TC-27) ### 测试准备 - 使用测试环境和可操作物料的账号,准备可切换的组织 A、B。 - 在组织 A 准备启用的大类、小类、单位「个」及编码为 `kg` 的单位,为小类配置启用的编码规则;另准备停用分类、停用单位和未配置规则的小类。 - 每个文件使用独立的测试物料名称,执行前记录物料列表、规则下一流水号和库存基线。以下操作均通过页面和 Excel 手动完成,结果填写下方记录表。 ### TC-20 下载导入模板 **测试内容:** 验证模板下载和填写说明。 **操作步骤:** 进入「物料」页面,点击「下载模板」,用 Excel 打开下载文件,查看工作表、表头和填写说明。 **判断指标:** 文件可正常打开,包含「物料数据」和「填写说明」;表头为「物料名称、规格、单位、大类、小类」。名称、大类、小类必填,规格和单位选填;单位留空默认「个」,物料编码由系统生成。 ### TC-21 合法数据导入及编码生成 **测试内容:** 验证物料新增、列表刷新及编码连续性。 **前置数据:** 专用小类编码规则前缀为 `RTIMP`、流水号 4 位、下一流水号为 1,且无已占用编码。 **操作步骤:** 在模板中填写两行不同名称的合法物料,保存后点击「批量导入」上传;查看提示、物料列表、详情和物料日志。刷新页面,再手动新增一件同小类物料,检查库存和流水。 **判断指标:** 提示成功导入 2 条,列表刷新,名称、规格、分类和单位正确;编码分别为 `RTIMP0001`、`RTIMP0002`,日志详情首行为「批量导入创建:物料名称(物料编码)」,下方按行显示导入时的物料编码、名称、规格、分类、单位和状态,同时保存新增内容快照及正确操作人;后续修改物料不应改变这条历史日志;随后单条新增编码为 `RTIMP0003`。导入结果刷新后仍可查询,原有库存及库存流水不变。 ### TC-22 分类写法与选填字段兼容 **测试内容:** 验证分类、单位的不同填写方式及空行处理。 **操作步骤:** 分别使用分类名称、分类编码和页面显示的「编码 名称」填写大类、小类,给分类文本加首尾空格;单位分别填名称、编码 `kg` 或留空,规格留空。在文件中插入全空行;另存一份删除规格和单位列、调整剩余列顺序的文件,分别上传。 **判断指标:** 合法写法均能导入并匹配正确分类和单位;规格可为空,单位留空或删列时默认「个」;列顺序变化不导致字段错位,全空行不计入导入数量。 ### TC-23 错误数据校验与整批拒绝 **测试内容:** 验证字段错误提示以及合法行不会被部分导入。 **操作步骤:** 准备一份含合法行和错误行的文件,错误分别为名称/大类/小类为空、分类或单位不存在/停用、小类不属于所填大类、小类未配置启用规则、名称或规格超过 200 字。插入一个全空行后上传,检查错误明细,并按名称查询本次所有物料;对照编码规则和库存基线。将超长字段改为 200 字且修正其余错误后重传。 **判断指标:** 首次提示整批未导入,错误原因可定位,行号与 Excel 实际行号一致,空行不会压缩行号;一行多个错误只计一条错误行,合法行也不新增。编码规则和库存不变;全部修正后可成功导入,200 字的名称和规格可接受。 ### TC-24 错误分页、导出与修正重传 **测试内容:** 验证错误明细查看、保存和再次上传。 **操作步骤:** 上传含 21 条错误行的文件,其中字段包含中文、逗号或双引号;切换错误表第二页,点击「导出错误明细」,用 Excel 打开 CSV。关闭弹窗,在原 `.xlsx` 中修正全部错误,再选择同一个文件上传。 **判断指标:** 第一页显示 20 条、第二页 1 条;CSV 包含全部 21 条错误及行号、原始字段、失败原因,中文无乱码、字段不串列。关闭后无旧错误残留,同一文件能重新选择并提交,修正后成功导入 21 条。 ### TC-25 文件格式、模板及容量限制 **测试内容:** 验证无效文件拦截和大小、行数限制。 **操作步骤:** 分别尝试上传 `.xls`、`.csv`、超过 5 MiB(5×1024×1024 字节)的文件、损坏的 `.xlsx`、缺少「物料数据」工作表或必填表头的文件,并尝试取消文件选择。再分别上传 20000 行和 20001 行合法非空数据的 `.xlsx`,两份文件均不超过 5 MiB,记录耗时和结果。 **判断指标:** 不支持的格式、超限大小和错误模板不能新增物料,并有可理解的提示;取消选择无新增。20000 行在允许范围内,应完整导入;20001 行被整批拒绝,表头和空行不计入数量。若出现超时,记录实际提示并刷新查询是否已导入,确认结果后再决定是否重传,避免重复新增。 ### TC-26 重复数据与重复上传 **测试内容:** 验证当前重复导入的实际行为。 **操作步骤:** 在同一文件中填写两条同名同规格的合法物料并上传;完成后再次选择同一个文件上传,查询物料及编码。 **判断指标:** 按当前功能,两次均成功,每次新增两条,合计四条独立物料,编码互不重复;原有物料未被覆盖。当前不做重复检测,重复上传会再次新增。 ### TC-27 组织隔离与导入期间操作限制 **测试内容:** 验证主数据归属和导入期间的操作限制。 **操作步骤:** 在组织 A 上传使用 B 专属分类或单位的文件;随后在 A 上传较多行的合法文件,在导入请求尚未完成时尝试切换组织及再次点击「批量导入」。完成后切到 B 查询本次测试物料,再切回 A 查询。 **判断指标:** B 专属分类或单位在 A 被判不存在,整批拒绝;请求进行中组织切换被阻止,再次点击不发起重复导入。完成后可正常切换;新物料仅在 A 可查,B 的物料和编码规则不受影响,切回 A 后结果正确。 ## 执行结果记录 | 用例编号 | 执行日期 | 执行人 | 结果(通过/失败/阻塞) | 缺陷单号或备注 | | ---- | ---- | --- | ------------ | ------- | | | | | | | ## 使用说明 - 每次回归记录软件版本、测试环境、账号角色和执行结果;库存相关用例同时记录物料、组织及测试前后库存。 - 失败时保留单据编号、申请编号、物料编码、操作时间和页面提示,便于定位。 - 涉及修改或删除单据的用例,核对库存余额及库存流水与最终单据一致;库存流水不作为不可修改的审计日志。 - 当前系统没有独立盘点、调拨或 BOM 业务流程,本清单不将这些未接入功能作为现有功能验收项;物料批量导入已纳入 TC-20~TC-27(人工测试)。