Files
QaAutomationHub/output/test_cases/安徽运八需求_测试用例.md
T
xst acdb441507 feat: /qe-fleet run 安徽运八需求 + 系统坑修复
系统修复:
- fleet_runner.py: Windows UTF-8 编码兼容(reconfigure stdout/stderr)
- fleet_runner.py: run 命令自动生成合并清单供导出使用
- fleet_manifest.py: 新增 save_merged_manifest() 保存统一清单
- fleet_config.yml: 修复 YAML keywords 格式(block sequence → flow sequence)
- 恢复被误删的知识库文件(payment_flow_cases, marketing_activity_cases)

QE Fleet 产物 (安徽运八需求):
- 153个测试点 + 53条可执行测试用例
- 需求分析/风险评估/测试策略/质量裁决(PASS)
- Excel 导出 + 版本快照 v2
- 确认结论文件已归档
2026-07-13 09:49:54 +08:00

22 KiB
Raw Blame History

安徽运八需求 测试用例

生成时间: 2026-07-13 基于: 测试点矩阵、需求文档、风险评估报告、项目画像、历史缺陷、易漏场景清单 验证标准: 每条用例同时覆盖 UI 反馈 + 数据状态变化

用例编号 模块 用例标题 优先级 类型 前置条件 测试步骤 测试数据 预期结果 备注
TC-DB-001 上报运单看板 多条件组合查询(运单号模糊+上报阶段+核验状态+申诉状态) P1 功能测试 1.已登录超管账号 2.系统存在多条不同状态的上报运单 1.进入看板 2.输入运单号部分字符 3.选上报阶段=第一次上报 4.选核验状态=通过 5.选申诉状态=未申诉 6.点查询 运单号部分字符、筛选条件组合 UI:列表仅展示满足所有条件的运单,筛选条件保持选中。数据:后端返回结果AND匹配所有条件
TC-DB-002 上报运单看板 重置按钮清空所有查询条件 P2 功能测试 已设置任意查询条件 1.设置多个筛选条件 2.点重置按钮 任意筛选条件 UI:所有条件恢复默认,列表刷新为全量数据。数据:查询接口参数为空或默认值
TC-DB-003 上报运单看板 查询结果为空时显示友好提示 P2 功能测试 已登录 1.输入不存在的运单号 2.点查询 运单号=NOTEXIST999999 UI:显示空状态提示图标+文案,不显示空白表格或报错。数据:接口返回空数组,HTTP 200
TC-DB-004 上报运单看板 列表字段完整性与异常项差异化展示 P1 功能测试 1.存在核验通过运单 2.存在核验异常运单 1.进入看板 2.查看表头 3.对比两种状态运单行 核验通过运单、核验异常运单 UI:表头含14个字段;通过行异常项为空;异常行异常项显示具体原因;合同金额千分位+2位小数。数据:接口字段与UI一一对应 合TP-DB-011, TP-DB-015
TC-DB-005 上报运单看板 导出Excel内容与筛选结果一致 P2 功能测试 已设置筛选条件使结果集约50条 1.设置筛选条件 2.点导出 3.下载并打开Excel 50条筛选结果 UI:导出按钮可点击,下载Excel包含所有列表字段。数据:Excel行数=筛选结果数,字段顺序一致,金额为数字格式
TC-DB-006 上报运单看板 特殊字符输入安全性(SQL注入/HTML/Emoji P2 安全性测试 已登录 1.输入' OR '1'='1点查询 2.输入<script>alert(1)</script>点查询 3.输入Emoji点查询 SQL注入字符串、XSS字符串、Emoji表情 UI:不报错不弹窗不异常页面。数据:后端返回空结果或正确转义,HTTP 200,无注入生效
TC-FR-001 第一次上报 装货完成后系统自动触发第一次上报(全字段完整性) P0 功能测试 1.运单已接单 2.车辆/司机/货物/托运方/收货方信息完整 3.司机完成装货确认 1.司机APP端确认装货完成 2.回管理端查看上报状态 完整运单数据(建单13+托运人7+收货方5+司机13+车辆19+货物+保险字段) UI:列表出现该运单,状态:上传中(蓝)→已上传(绿);看板显示"第一次上报"。数据:上报接口被调用,请求体含完整子对象,HTTP 200,数据库状态更新
TC-FR-002 第一次上报 必选字段缺失(从业资格证号)→上报异常 P1 功能测试 司机从业资格证号为空 1.触发装货完成上报 2.查看上报结果 司机信息缺失从业资格证号 UI:状态=异常(橙),操作列显示详情按钮;详情中异常原因含"从业资格证号缺失"。数据:接口返回校验失败,数据库记录状态=异常+异常原因
TC-FR-003 第一次上报 可选字段为空(委托合同编号/运输里程/保险信息)→上报正常 P1 功能测试 必选字段完整,可选字段均为空 1.触发装货完成上报 2.查看结果 可选字段均为空的运单 UI:状态正常流转为"已上传"(绿)。数据:请求体可选字段值为null/空字符串,接口返回成功
TC-FR-004 第一次上报 货物信息多条记录(≥2条)上报 P2 功能测试 运单包含3条货物信息(钢材/木板/配件) 1.触发上报 2.查看详情弹窗货物信息区 3条货物数据 UI:详情弹窗展示3条货物记录各含4字段。数据:请求体goodsInfos数组length=3,接口成功
TC-FR-005 第一次上报 核验通过后自动调用"修改第一次上报部分字段"更新实际里程 P0 功能测试 1.第一次上报已触发 2.装货后实际里程变化(预估500→实际520km) 1.上报成功核验通过 2.观察自动更新 3.查看运单里程字段 预估里程=500km, 实际里程=520km UI:无人工干预下运单里程自动更新为520km;操作日志有"自动更新第一次上报字段"记录。数据:修改接口被调用,mileage=520,数据库运单里程更新
TC-FR-006 第一次上报 上报失败→自动重试3次→站内信通知运营人员 P1 功能测试 模拟安徽运八接口不可用(超时或500) 1.触发上报 2.等待重试周期 3.观察最终结果 4.检查站内信 接口超时异常 UI:状态流转:上传中→上传失败(红标签),出现"手动上传"按钮;运营收到站内信含运单号和失败原因。数据:接口调用4次(首+3重试),重试间隔递增;站内信表新增通知记录
TC-FR-007 第一次上报 重试中手动触发上报→幂等性校验 P1 功能测试 上报失败正处自动重试中 1.运单重试中 2.运营点"手动上传" 重试中的运单 UI:提示"上报处理中请勿重复操作"或排队等待;不出现两条上报记录。数据:同一运单在安徽运八平台仅一条记录
TC-FR-008 第一次上报 第一次上报失败阻断后续第二、三次上报 P0 功能测试 运单第一次上报失败(3次重试全败) 1.确认第一次上报失败 2.尝试触发第二次上报 3.尝试触发第三次上报 第一次上报失败的运单 UI:第二次上报按钮不可见/置灰提示"请先完成第一次上报";第三次同样阻断。数据:第二/三次接口调用被前置校验拦截,日志无记录
TC-FR-009 第一次上报 详情弹窗8组字段分组展示与数据一致性 P1 功能测试 存在已完成的第一次上报运单 1.点详情 2.逐一查看建单/托运人/收货方/司机/车辆/货物/保险/异常分组 3.与运单管理模块核对 完整上报数据 UI:弹窗按8组展示,分组标题明确;无异常时显示"无异常";保险为空显示"-"。数据:弹窗字段值与上报请求体一致,与运单管理模块一致
TC-FR-010 第一次上报 4种状态标签颜色验证 P2 功能测试 准备4个运单分别处于上传中/已上传/上传失败/异常状态 1.进入列表 2.观察4条运单状态标签颜色 4种状态的运单 UI:上传中=蓝标签;已上传=绿标签;上传失败=红标签;异常=橙标签。数据:状态字段值与颜色映射正确
TC-SR-001 第二次上报 打款完成后自动触发上报(含资金流水+轨迹+7核验) P0 功能测试 1.运单第一次上报已完成 2.财务完成打款 1.财务打款 2.查看第二次上报列表 完整打款数据(金额/流水号/时间/收款方/收款账号/账号类型) UI:列表出现该运单状态"上传中"(蓝);展示承运运费/总金额/付款方式/时间/收款人/收款账号/账号类型。数据:上报接口被调用,请求体含资金流水+轨迹信息;流水数据与账户管理模块一致
TC-SR-002 第二次上报 车辆轨迹点位边界值:2个点(起点+终点)→成功 P1 功能测试 轨迹数据仅2个点位 1.触发第二次上报 2.查看结果 轨迹数据=[起点,终点] len=2 UI:上报成功状态"已上传"。数据:请求体轨迹数组length=2,接口成功
TC-SR-003 第二次上报 车辆轨迹点位边界值:1个点→失败 P2 功能测试 轨迹数据仅1个点位 1.触发第二次上报 2.查看结果 轨迹数据=[单点] len=1 UI:上报失败状态"异常"(橙);异常原因含"轨迹点位不足"。数据:接口返回校验失败提示轨迹点数需≥2
TC-SR-004 第二次上报 运单重复上报→核验异常 P0 功能测试 运单已完成第二次上报且核验通过 1.尝试再次上报同一运单 已通过的运单 UI:系统提示"该运单已完成第二次上报"或被阻止;不产生新记录。数据:接口被前置校验拦截或安徽平台返回"运单重复";数据库无重复记录
TC-SR-005 第二次上报 车辆资质核验:道路运输证有效期内→通过 P1 功能测试 车辆道路运输证有效期至2026-12-31(有效期内) 1.触发第二次上报 2.等待核验 3.查看核验结果 有效期内的道路运输证 UI:核验状态"通过",无"车辆资质"异常项。数据:核验接口返回车辆资质=通过
TC-SR-006 第二次上报 车辆资质核验:道路运输证已过期→异常 P1 功能测试 车辆道路运输证有效期至2025-01-01(已过期) 1.触发第二次上报 2.等待核验 过期的道路运输证 UI:核验状态"异常"(橙);异常项显示"车辆资质核验"不通过;可发起申诉。数据:核验接口返回车辆资质=异常,原因"道路运输证过期"
TC-SR-007 第二次上报 资金流水单号重复→系统自动拦截 P0 功能测试 系统中已存在流水号LS202607130001的记录 1.创建新运单打款但流水号重复 2.触发第二次上报 重复流水号=LS202607130001 UI:系统上报前自动检测到重复,提示"流水单号已使用请核实";上报被阻止。数据:流水号唯一索引生效;接口未被调用;操作日志记录拦截
TC-SR-008 第二次上报 资金流水金额不匹配(合同10000 vs 打款9500)→核验异常 P1 功能测试 合同金额10000元,实际打款9500元 1.触发第二次上报 2.等待核验 合同金额=10000, 打款金额=9500 UI:核验状态"异常";异常项含"资金流水核验"不通过,原因"金额不匹配"。数据:核验接口返回资金流水核验=异常
TC-SR-009 第二次上报 车辆轨迹合规异常→补传轨迹→重新核验通过 P1 功能测试 第二次上报后"车辆轨迹合规"核验异常 1.点"补传轨迹" 2.上传补充GPS点位文件 3.提交 4.等待重新核验 补充轨迹GPS文件 UI:补传轨迹按钮可见可点击;上传后提示成功等待核验;核验通过后异常消除状态变"通过"。数据:补传轨迹追加到原数据;重调核验接口;核验结果更新为通过
TC-SR-010 第二次上报 收款账号类型标签:个人=蓝色/对公=绿色 P2 功能测试 两个运单:一个司机个人账户、一个企业对公账户 1.进入列表 2.查看收款账号类型标签 个人账户(司机银行卡)、对公账户(企业银行账号) UI:个人账户=蓝标签"个人账户";对公账户=绿标签"对公账户"。数据:字段值正确对应
TC-SR-011 第二次上报 重试3次全失败→告警通知运营人员 P1 功能测试 模拟安徽运八接口不可用 1.触发第二次上报 2.等3次重试全失败 3.检查告警 接口不可用 UI:状态变为"上传失败"(红);出现"手动上传"按钮;运营收到站内信通知含运单号/失败原因/重试次数。数据:重试次数=3;站内信表新增告警通知;操作日志记录完整
TC-TR-001 第三次上报 开票完成后触发上报(含17字段发票+托运单号数组) P0 功能测试 1.运单第二次上报已完成 2.发票已开具 1.开票审核模块完成开票 2.查看第三次上报列表 完整发票信息(17字段)+托运单号数组 UI:列表出现该运单含发票号码/金额/开票日期;状态:上传中→已上传。数据:上报接口被调用;发票数据与开票审核模块一致
TC-TR-002 第三次上报 第二次上报未完成时第三次上报被阻断 P1 功能测试 运单仅完成第一次上报,第二次未完成 1.尝试开票并触发第三次上报 第二次未完成的运单 UI:系统提示"请先完成第二次上报";上报按钮不可见/置灰。数据:第三次上报接口调用被前置校验拦截
TC-TR-003 第三次上报 增值税发票验证失败→上报异常 P1 功能测试 发票号码格式错误或与代码不匹配 1.触发第三次上报 2.查看结果 错误的发票号码/代码 UI:上报状态"异常"(橙);原因提示"增值税发票验证失败"及具体原因。数据:接口返回发票验证失败业务错误码;数据库记录异常状态
TC-TR-004 第三次上报 发票金额精度:价税合计保留2位小数四舍五入 P2 功能测试 发票金额=12345.678元(超2位小数) 1.触发第三次上报 2.查看列表发票金额 发票金额=12345.678 UI:列表发票金额显示12,345.68(四舍五入)。数据:请求体invoiceAmount=12345.68,无浮点精度丢失
TC-TR-005 第三次上报 油气发票多条记录上报 P2 功能测试 运单关联2条油气发票 1.触发第三次上报 2.查看详情弹窗油气发票区 2条油气发票记录 UI:油气发票区展示2条记录各含托运单号和发票文件。数据:请求体油气发票数组length=2
TC-ETC-001 ETC发票上传 税务抵扣完成后上传ETC发票(18字段/每张) P1 功能测试 1.车辆完成高速运输 2.ETC发票已获取 3.税务抵扣完成 1.选运单 2.上传ETC发票信息 3.提交 ETC发票完整18字段 UI:上传成功状态"已上传"(绿);列表含ETC发票号码/金额/税率/上传状态。数据:请求体含18字段;税额=发票金额×3% 合TP-ETC-001,003
TC-ETC-002 ETC发票上传 税务抵扣未完成→上传被阻止 P1 功能测试 ETC发票存在但税务抵扣未完成 1.尝试上传ETC发票 抵扣未完成的ETC发票 UI:系统提示"请先完成税务抵扣";上传被阻止。数据:上传接口调用被前置校验拦截
TC-ETC-003 ETC发票上传 税额计算:3%税率精度验证(1000元→30.00元) P1 功能测试 ETC发票金额1000.00元 1.上传1000元ETC发票 2.查看税额 发票金额=1000.00 UI:税额显示30.00元。数据:taxAmount=1000.00×0.03=30.002位小数
TC-ETC-004 ETC发票上传 税额计算:大额发票100万元→30000.00元 P2 功能测试 ETC发票金额1000000元 1.上传100万元ETC发票 2.查看税额 发票金额=1000000.00 UI:税额显示30,000.00元。数据:taxAmount=1000000.00×0.03=30000.00,无精度问题
TC-ETC-005 ETC发票上传 ETC发票验证失败→上报异常提示检查发票 P2 功能测试 ETC发票号码/代码与实际不匹配 1.上传错误ETC发票 2.查看验证结果 错误的ETC发票号码/代码 UI:状态"异常"(橙);原因提示"ETC发票验证失败请检查发票信息"。数据:接口返回ETC发票验证失败
TC-AP-001 异常申诉 核验异常运单发起申诉(申诉原因+附件) P1 功能测试 运单第二次上报核验异常(车辆轨迹合规异常) 1.找到异常运单 2.点"申诉" 3.填原因:"实际路线因道路施工绕行" 4.上传附件(施工证明截图) 5.提交 申诉原因文本、路线施工证明截图 UI:提交后提示"申诉已提交等待监管平台复核";申诉状态变"申诉中";列表新增申诉记录。数据:申诉表新增记录:申诉单号自动生成/异常项=车辆轨迹合规/原因已保存/附件已存储/状态=申诉中/时间=当前
TC-AP-002 异常申诉 申诉原因必填校验→空值拦截 P2 功能测试 存在可申诉异常运单 1.点申诉 2.不填原因 3.直接提交 申诉原因为空 UI:输入框标红或提示"请填写申诉原因";提交按钮不响应或提示错误。数据:申诉接口未被调用;数据库无新记录
TC-AP-003 异常申诉 申诉状态流转:申诉中→申诉通过(监管复核通过) P1 功能测试 已提交申诉(申诉中状态) 1.等待监管平台复核通过 2.查看申诉记录 申诉中的记录 UI:申诉状态变"申诉通过"(绿);省平台反馈"复核通过";原运单异常项消除或已解决。数据:申诉记录状态更新;省平台反馈时间/结果/意见已记录;关联运单核验状态更新
TC-AP-004 异常申诉 申诉状态流转:申诉中→申诉驳回→重新申诉 P1 功能测试 申诉被监管平台驳回 1.查看驳回记录和原因 2.点"重新申诉" 3.补充材料修改原因 4.提交 驳回原因、补充材料 UI:驳回记录显示"复核不通过"+反馈意见;"重新申诉"按钮可见;表单保留原内容可编辑;提交后状态变"申诉中"。数据:新申诉关联原单号;原记录保留不变;新申诉状态=申诉中
TC-AP-005 异常申诉 详情弹窗:时间线展示处理记录(申诉→驳回→重申诉→通过) P2 功能测试 申诉记录有多次操作历史 1.点"详情" 2.查看处理记录区 完整申诉历史数据 UI:处理记录时间线展示从早到晚;每条含操作人/时间/类型/内容;类型区分清晰(发起申诉/省平台反馈/重新申诉/复核通过)。数据:数据库操作日志完整
TC-AP-006 异常申诉 核验通过运单无申诉入口→越权防护 P1 功能测试 运单核验状态为"通过" 1.找到核验通过运单 2.查看操作列 3.尝试通过URL直接访问申诉接口 核验通过的运单 UI:操作列不显示"申诉"按钮。数据:申诉接口返回"当前运单核验状态不允许申诉"
TC-LOG-001 上报日志 多条件日志查询(上报阶段+结果+时间范围) P2 功能测试 系统存在多条不同阶段日志 1.进入上报日志 2.选阶段=第二次上报 3.选结果=失败 4.设时间范围近7天 5.点查询 筛选条件组合 UI:列表展示满足条件的日志含10个字段(序号/货源单号/运单号/托运单号/上报阶段/上报结果/接口URL/HTTP状态码/响应时间/上报时间)。数据:查询条件正确传递;返回数据与筛选一致
TC-LOG-002 上报日志 失败日志详情弹窗:完整请求/响应报文(JSON格式化) P2 功能测试 存在一条失败的第二次上报日志 1.点失败日志"详情" 2.查看请求和响应报文 失败日志记录 UI:弹窗展示完整请求报文(JSON格式化含所有字段)和响应报文(含错误码/错误信息);报文可复制。数据:展示报文与实际上报接口请求/响应一致
TC-CM-001 通用跨模块 金额精度:多次计算无累积浮点误差 P1 功能测试 运单合同金额=12345.67元 1.第一次上报看合同金额 2.第二次上报看总金额 3.第三次上报看发票金额 4.对比三次精度 合同金额=12345.67 UI:所有金额显示2位小数千分位正确无精度丢失。数据:DB存DECIMAL(18,2);接口返回2位小数字符串;计算无浮点误差 来源:风险矩阵+易漏场景
TC-CM-002 通用跨模块 重复提交防抖:快速多次点击手动上传→仅一次请求 P1 功能测试 存在上传失败运单 1.连续快速点击"手动上传"3次 2.等待结果 上传失败运单 UI:按钮首次点击后变loading/置灰防重复点击;仅产生一次上报请求。数据:上报接口仅调用1次;上报日志仅1条记录 来源:易漏场景
TC-CM-003 通用跨模块 未登录直接URL访问上报看板→拦截跳转登录 P2 安全性测试 退出登录状态 1.清除登录态 2.地址栏直接输入看板URL 3.观察页面 看板URL UI:重定向到登录页或显示"请先登录";不展示上报数据。数据:上报API返回401 Unauthorized
TC-CM-004 通用跨模块 权限隔离:司机账号(15188888888)无法访问上报管理 P1 安全性测试 司机账号15188888888/88888888 1.司机登录管理端 2.尝试访问看板/申诉管理等页面 司机账号凭证 UI:菜单无"安徽运八"入口;直接URL访问重定向或"无权限";不展示上报数据。数据:上报API返回403 Forbidden
TC-CM-005 通用跨模块 第一次上报与运单管理模块数据一致性 P1 功能测试 运单在运单管理模块已有完整数据 1.记录运单管理模块关键字段 2.触发第一次上报 3.在详情弹窗核对 货源单号/运单号/托运单号/车牌号/司机姓名/托运方/货物/装货地址/卸货地址/运输里程 UI:上报详情字段值与运单管理一致。数据:上报请求体值来源于运单管理DB记录,数据一致
TC-CM-006 通用跨模块 第二次上报资金流水与账户管理支付流水数据一致性 P1 功能测试 运单已完成打款,支付流水号已知 1.在账户管理→支付流水查看打款数据 2.触发第二次上报 3.在上报详情核对资金流水 支付金额/流水号/支付时间/收款方 UI:第二次上报详情中资金流水与账户管理模块一致。数据:上报请求体资金流水与支付流水表数据一致;流水号完全匹配
TC-CM-007 通用跨模块 司机信息上报(13字段)与司机审核模块数据一致性 P1 功能测试 司机已在审核管理模块通过审核 1.记录司机审核模块司机信息 2.触发第一次上报 3.核对上报详情司机信息 司机姓名/身份证号/驾驶证号/从业资格证号/手机号等13字段 UI:上报详情司机13字段与审核模块一致。数据:上报请求体driverInfo来源于司机审核表
TC-CM-008 通用跨模块 上报接口超时(>30s)→前端Loading+超时提示 P2 功能测试 模拟上报接口响应超30秒 1.触发上报 2.观察前端表现 超时接口 UI:按钮Loading状态(转圈/禁用);超30秒后显示"上报超时请稍后查看结果";不白屏不假死。数据:接口超时后后端异步处理或标记超时;DB状态=上传失败/原因=超时

用例总数: 53 (P0:7 / P1:26 / P2:20)