编辑 | blame | 历史 | 原始文档

功能测试报告:数据查看补齐网约车与个体客运类型(2026-09-22)

日期:2026-09-22 模块:数据查看(前端 DataView + 后端 DataViewController) 测试人:Codex
诉求来源:数据查看的数据类型应做到"能导入什么数据就能看到什么数据",用于核对导入是否完整。

一、功能说明

数据查看页原先只有 15 个数据类型,网约车与个体客运虽然已有导入接口和模板,但**没有查看入口**,导入后只能查数据库。本次补齐 3 个类型:

新增类型 页面名称 数据表 列数
wycTotal 网约车总数 wyc_total_monthly 5
wycOrder 网约车订单及全省总量 wyc_order_monthly 23(含 17 市州订单列)
passengerIndividual 个体客运量/周转量 passenger_individual_monthly 7(含由区划代码派生的"市州"列)

改动点:
- 后端 traffic-audit-server/src/main/java/com/trafficaudit/dataimport/controller/DataViewController.java:新增 3 个 switch 分支、3 组列定义、3 个 Mapper 注入;passengerIndividual 用 RegionUtil.cityByCode 把 6 位区划代码派生为市州名。
- 前端 traffic-audit-web/src/views/DataView.vue:公路旅客模块加"个体客运量/周转量",城市客运模块加"网约车总数""网约车订单及全省总量"。

二、测试环境

  • 后端:mvn spring-boot:run -f traffic-audit-server/pom.xml,8090,日志出现 Started TrafficAuditApplication、Tomcat started on port(s): 8090
  • 前端:npm run serve(traffic-audit-web),8080,Compiled successfully in 4769ms
  • 数据库:本机 MySQL localhost:3308/traffic_audit(mysql CLI 直查核对)
  • 登录:POST /api/auth/login(admin/123456)取 JWT,后续接口带 Authorization: Bearer <token>

三、用例表

3.1 正向用例

编号 输入 预期 实际 结论
TC-1 GET /api/data/list?type=wycTotal 20 行、5 列,列名与模板一致 total=20,列:报表期/全省网约车客运量/其中城市内客运量/全省网约车周转量/其中城市内周转量;首行 2025-01:2467.79 / 2325.25 / 14910.54 / 12202.49 通过
TC-2 type=wycOrder 20 行、23 列(含 17 市州) total=20,23 列;首行 2025-09:orderSum=17652159,武汉 8076610、黄石 676644…神农架 1424 通过
TC-3 type=passengerIndividual 139 行、7 列,含派生市州 total=139;首行 2025-01:regionCode=420900 → 市州=孝感市,个体客运量 6442、周转量 117502.08 通过
TC-4 type=wycOrder&period=2026-08 仅 2026-08 一行 total=1,rows=1,cols=23 通过
TC-5 type=passengerIndividual&period=2026-08 仅 2026-08 total=6 通过
TC-6 type=passengerIndividual&keyword=孝感 仅孝感相关行 total=40 通过
TC-7 前端下拉 公路旅客 3 项、城市客运 5 项 下拉新增 3 项,npm run serve 编译成功 通过

3.2 负向用例

编号 输入 预期 实际 结论
TC-8 type=notExist 空结果、不报错 total=0、records=0、columns=0 通过
TC-9 type=wycOrder&period=1999-01(无数据的期) 空结果 total=0、records=0、列定义正常返回 通过
TC-10 不带 token 访问 /api/data/list 401(既有安全策略) 401 通过(非缺陷)
TC-11 type=wycTotal&keyword=xx 该表无名称列,关键字不生效 仍返回 20 行 通过(见遗留 1)

3.3 入库抽查(接口条数 vs 库内行数)

表 库内行数 接口 total 结论
wyc_total_monthly 20 20 一致
wyc_order_monthly 20 20 一致
passenger_individual_monthly 139 139 一致

3.4 回归(原有 15 类不受影响)

h2032 13056 / transportAuth 1270 / trackMileage 628 / scaleSplit 288 / freightTurnover 234 / h2031 15811 / passengerAuth 0 / cityBus 2860 / cityTaxi 340 / cityTaxiAuth 85272 / investmentProject 152 / investmentMonthly 284 / investmentSystem 277 / energyVehicle 2568 / energyAuth 1203 —— 均正常返回,列数不变。

四、发现的问题与处置

  1. wycTotal / wycOrder 没有名称类字段,页面上"企业/市州名称"关键字框对它无效(返回全量)。属既有交互的一致性问题,未在本次改动,列入待优化。
  2. 网约车订单表为宽表(17 市州各一列),明细页横向 23 列,需要横向滚动查看;未做转置,保持与导入文件列序一致,便于核对。

五、结论

3 个新增类型全部通过正向、负向与入库抽查用例,原有 15 类无回归。数据查看现已覆盖**全部可导入的数据类型**,可用于核对导入完整性。

六、附:跨期汇总口径(下一步待做功能的口径依据)

月报各表的月值均为**当月值**。按市州做"任意起止月"汇总时,列按性质分三类处理:
- 流量类(客运量、周转量、货运量、订单数)→ 逐月求和;
- 时点类(运营车辆数、营运车辆数、企业数)→ 不求和,取期末值(如武汉公交运营车辆 2026 各月 8476→7861,逐月相加会得到 64879 辆,实际 8 月末只有 7861 辆);
- 比率类(环比、同比、平均运距、占比)→ 不求和,按累计口径重算。