|
@@ -1,10 +1,10 @@
|
|
|
# Story 13.26: 统计模块数据一致性验证与回归测试
|
|
# Story 13.26: 统计模块数据一致性验证与回归测试
|
|
|
|
|
|
|
|
-Status: ready-for-dev
|
|
|
|
|
|
|
+Status: done
|
|
|
|
|
|
|
|
## 元数据
|
|
## 元数据
|
|
|
- Epic: Epic 13 - 跨端数据同步测试
|
|
- Epic: Epic 13 - 跨端数据同步测试
|
|
|
-- 状态: ready-for-dev
|
|
|
|
|
|
|
+- 状态: done
|
|
|
- 优先级: P1 (数据准确性验证)
|
|
- 优先级: P1 (数据准确性验证)
|
|
|
- 故事点: 3
|
|
- 故事点: 3
|
|
|
- 依赖: Story 13.24 和 13.25 完成
|
|
- 依赖: Story 13.24 和 13.25 完成
|
|
@@ -84,55 +84,55 @@ Status: ready-for-dev
|
|
|
## 任务
|
|
## 任务
|
|
|
|
|
|
|
|
### 任务 0: 代码审查 - 统计口径一致性
|
|
### 任务 0: 代码审查 - 统计口径一致性
|
|
|
-- [ ] 审查 `statistics.service.ts` 所有 8 个统计方法
|
|
|
|
|
-- [ ] 确认所有方法使用 `order_person.work_status = 'working'`
|
|
|
|
|
-- [ ] 确认没有残留的 `disabled_person.jobStatus = 1` 引用
|
|
|
|
|
-- [ ] 检查查询逻辑正确性
|
|
|
|
|
|
|
+- [x] 审查 `statistics.service.ts` 所有 8 个统计方法
|
|
|
|
|
+- [x] 确认所有方法使用 `order_person.work_status = 'working'`
|
|
|
|
|
+- [x] 确认没有残留的 `disabled_person.jobStatus = 1` 引用
|
|
|
|
|
+- [x] 检查查询逻辑正确性
|
|
|
|
|
|
|
|
### 任务 1: 数据一致性验证 - API 层面
|
|
### 任务 1: 数据一致性验证 - API 层面
|
|
|
-- [ ] 调用所有统计 API 获取返回数据
|
|
|
|
|
-- [ ] 验证各 API 返回的总人数一致
|
|
|
|
|
-- [ ] 验证与首页 `/company/overview` API 在职人数一致
|
|
|
|
|
-- [ ] 记录任何不一致的情况
|
|
|
|
|
|
|
+- [x] 调用所有统计 API 获取返回数据
|
|
|
|
|
+- [x] 验证各 API 返回的总人数一致
|
|
|
|
|
+- [x] 验证与首页 `/company/overview` API 在职人数一致
|
|
|
|
|
+- [x] 记录任何不一致的情况
|
|
|
|
|
|
|
|
### 任务 2: 数据一致性验证 - UI 层面
|
|
### 任务 2: 数据一致性验证 - UI 层面
|
|
|
-- [ ] 使用 Playwright MCP 访问企业小程序数据统计页
|
|
|
|
|
-- [ ] 验证各分布图总人数一致
|
|
|
|
|
-- [ ] 验证与首页仪表板在职人数一致
|
|
|
|
|
-- [ ] 截图记录验证结果
|
|
|
|
|
|
|
+- [x] 使用 Playwright MCP 访问企业小程序数据统计页
|
|
|
|
|
+- [x] 验证各分布图总人数一致
|
|
|
|
|
+- [x] 验证与首页仪表板在职人数一致
|
|
|
|
|
+- [x] 截图记录验证结果
|
|
|
|
|
|
|
|
### 任务 3: 单元测试验证
|
|
### 任务 3: 单元测试验证
|
|
|
-- [ ] 运行统计模块所有单元测试
|
|
|
|
|
-- [ ] 验证所有测试通过
|
|
|
|
|
-- [ ] 检查测试覆盖率
|
|
|
|
|
-- [ ] 修复任何测试失败
|
|
|
|
|
|
|
+- [x] 运行统计模块所有单元测试
|
|
|
|
|
+- [x] 验证所有测试通过
|
|
|
|
|
+- [x] 检查测试覆盖率
|
|
|
|
|
+- [x] 修复任何测试失败
|
|
|
|
|
|
|
|
### 任务 4: E2E 测试验证
|
|
### 任务 4: E2E 测试验证
|
|
|
-- [ ] 运行数据统计页 E2E 测试套件
|
|
|
|
|
-- [ ] 验证所有测试通过
|
|
|
|
|
-- [ ] 检查测试日志中是否有数据不一致警告
|
|
|
|
|
-- [ ] 修复任何测试失败
|
|
|
|
|
|
|
+- [x] 运行数据统计页 E2E 测试套件
|
|
|
|
|
+- [x] 验证所有测试通过
|
|
|
|
|
+- [x] 检查测试日志中是否有数据不一致警告
|
|
|
|
|
+- [x] 修复任何测试失败
|
|
|
|
|
|
|
|
### 任务 5: 边界情况测试
|
|
### 任务 5: 边界情况测试
|
|
|
-- [ ] 测试空数据场景(企业无在职人员)
|
|
|
|
|
-- [ ] 测试单条数据场景(企业只有 1 个在职人员)
|
|
|
|
|
-- [ ] 测试大量数据场景(企业有大量在职人员)
|
|
|
|
|
-- [ ] 验证边界情况下数据一致性
|
|
|
|
|
|
|
+- [x] 测试空数据场景(企业无在职人员)
|
|
|
|
|
+- [x] 测试单条数据场景(企业只有 1 个在职人员)
|
|
|
|
|
+- [x] 测试大量数据场景(企业有大量在职人员)
|
|
|
|
|
+- [x] 验证边界情况下数据一致性
|
|
|
|
|
|
|
|
### 任务 6: 性能验证
|
|
### 任务 6: 性能验证
|
|
|
-- [ ] 检查各统计 API 响应时间
|
|
|
|
|
-- [ ] 对比修复前后的性能差异
|
|
|
|
|
-- [ ] 确认没有性能退化
|
|
|
|
|
|
|
+- [x] 检查各统计 API 响应时间
|
|
|
|
|
+- [x] 对比修复前后的性能差异
|
|
|
|
|
+- [x] 确认没有性能退化
|
|
|
|
|
|
|
|
### 任务 7: 文档更新
|
|
### 任务 7: 文档更新
|
|
|
-- [ ] 更新 API 文档(如需要)
|
|
|
|
|
-- [ ] 更新统计方法注释
|
|
|
|
|
-- [ ] 记录数据口径变更(如需要)
|
|
|
|
|
|
|
+- [x] 更新 API 文档(如需要)
|
|
|
|
|
+- [x] 更新统计方法注释
|
|
|
|
|
+- [x] 记录数据口径变更(如需要)
|
|
|
|
|
|
|
|
### 任务 8: 创建验证报告
|
|
### 任务 8: 创建验证报告
|
|
|
-- [ ] 汇总所有验证结果
|
|
|
|
|
-- [ ] 记录发现的问题和解决方案
|
|
|
|
|
-- [ ] 确认所有验收标准通过
|
|
|
|
|
|
|
+- [x] 汇总所有验证结果
|
|
|
|
|
+- [x] 记录发现的问题和解决方案
|
|
|
|
|
+- [x] 确认所有验收标准通过
|
|
|
|
|
|
|
|
## Dev Notes
|
|
## Dev Notes
|
|
|
|
|
|