|
|
@@ -0,0 +1,137 @@
|
|
|
+# 测试负责人工作汇报(第 85 轮 · 2026-11-08 12:59)
|
|
|
+
|
|
|
+> 来源:测试负责人闭环巡检(`review` 离线档;内网已授权 cfc.iwintrue.com 只读 E2E 证据采信;三节点受控派发,每节点仅跑 1 个任务)
|
|
|
+> 基线:`origin/cfclub` @ `de16f40b0`(= B-61 修复 `b3a02df92` + S-cfc-57/58/59/60/70 实现批次合入;HEAD 本地落后 21 提交已 rebase)
|
|
|
+> 详细报告:`docs/tdd/test/automation-run-2026-11-08-1259.md`
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 基本信息
|
|
|
+
|
|
|
+| 项目 | 内容 |
|
|
|
+|------|------|
|
|
|
+| 汇报人 | 陆谨(软件测试专家团主理人 · 测试负责人) |
|
|
|
+| 汇报周期 | 2026-11-08 12:00 ~ 12:59(第 85 轮,继 84 轮增量复核后的完整三轮) |
|
|
|
+| 负责模块/单元 | cfc-backend / cfc-frontend / cfc-web / cfc-langgraph / 内网部署 E2E(admin·frontend·health) |
|
|
|
+| 执行方式 | 三节点**受控派发**(189→admin E2E、204→frontend E2E、251→langgraph pytest,各 1 任务)+ 本机复验 health + Jest |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 一、本轮工作数据汇总
|
|
|
+
|
|
|
+### 1.1 测试用例建设
|
|
|
+
|
|
|
+| 指标 | 数量 | 说明 |
|
|
|
+|------|------|------|
|
|
|
+| 本轮新增测试用例数* | **3 条** | SRS 变更感知:S-cfc-57/58/59/60/70 五个新实现键合入(家庭加入准入校验 joinValidationGate/Rules/RequiredInfo、团队邀请创建、月度星级简报),原用例文档未登记 → 补录 TC-P-02-B / TC-A-29 / TC-A-30(详见用例表) |
|
|
|
+| 本轮验证执行测试数* | **512 例** | 189-admin 5 + 204-frontend 6 + langgraph 43 + health 13 + cfc-frontend Jest 355 + cfc-web Jest 90 = **512**(均本轮实测或经可靠源引用) |
|
|
|
+| 用例通过率 | admin 5/5、frontend E2E 6/6、Jest 444/446(frontend 354+web 90)、health 10/13(B-61 3 红)、langgraph 27/43(B-64 2 + 环境 14 红) | 无产品回归级失败 |
|
|
|
+
|
|
|
+#### 本轮新增用例表
|
|
|
+
|
|
|
+| 新用例 | 覆盖键 | 位置 | 对应契约测试 |
|
|
|
+|--------|--------|------|--------------|
|
|
|
+| TC-P-02-B | S-cfc-57/58/59(family.invite.joinValidationGate/Rules/RequiredInfo) | `tests/test-cases/parent.md` | `FamilyJoinValidationRulesContractTest`/`FamilyJoinRequestServiceJoinRequiredInfoContractTest`/`FamilyJoinRequestServiceJoinValidationGateTest` |
|
|
|
+| TC-A-29 | S-cfc-70(team.star.digest 月度星级简报) | `tests/test-cases/admin.md` | `TeamStarDigestContractTest` |
|
|
|
+| TC-A-30 | S-cfc-60(team.invitation.create 团队邀请创建) | `tests/test-cases/admin.md` | `TeamInvitationCreateContractTest` |
|
|
|
+
|
|
|
+### 1.2 会话与任务分发
|
|
|
+
|
|
|
+| 指标 | 数量 | 说明 |
|
|
|
+|------|------|------|
|
|
|
+| 分派任务数* | **3 个** | 189→admin E2E / 204→frontend E2E / 251→langgraph pytest(符合「每节点仅 1 个浏览器自动化任务」约束) |
|
|
|
+| 恢复智能体会话数* | 0 个 | 无中断;节点任务本轮一次完成即释放 |
|
|
|
+| 当前在用会话数 | 0 个 | 无后台会话 |
|
|
|
+
|
|
|
+### 1.3 问题处置
|
|
|
+
|
|
|
+| 指标 | 数量 | 说明 |
|
|
|
+|------|------|------|
|
|
|
+| 新测试发现问题数* | **1 个** | **B-64(test_memory 装置接口漂移)**:`MemoryManager` 无 `get_working_memory`/`get_longterm_memory` 方法(`store.py` 签名变更后装置未同步),2 例红 |
|
|
|
+| 已解决测试相关问题数* | **1 个** | **O-14 转绿**:langgraph test_memory 缺 embeddings 1 例在本轮复验确认 26→27(`2537b4377` 推送 + 251 拉取生效) |
|
|
|
+| 待解决测试相关问题数 | **8 项** | B-61(P0 连续第 7 轮,源码已修·**部署滞后**)、B-54(langgraph venv DLL/VC++ 运行时缺失)、B-56(189 prompt 404 / 204·251 rate-limit)、B-59(U04/U05 时序哨兵失效)、B-60(ActivityControllerTest 慢类)、B-62(前端 birthday/gender 契约 14 例 RED,研发已实现但测试侧本轮不涉入)、B-64(测试侧自处置)、B-65/B-66/B-67(历史遗留) |
|
|
|
+
|
|
|
+### 1.4 Git 证据(已推送远端)
|
|
|
+
|
|
|
+| 提交 sha | 关联任务/能力键 | 阶段 | 触及文件类型 | 目标分支 | 已推送远端 | 备注 |
|
|
|
+|----------|-----------------|------|--------------|----------|------------|------|
|
|
|
+| `ce11bb90c` | B-61 部署催办 / B-64 新增 / S-cfc-57/58/59/60/70 用例补录 / Java 测试契约修正 | GREEN | cfc-backend/src/test 测试 ×14 + docs/tdd/test 报告 · testcase 用例 · metrics 工具 | cfclub | ✅ | 含历史报告归档(11-06~08) |
|
|
|
+| `97320e845` | B-61 部署请求 P0(唯一阻塞项) | — | docs/tdd 研发交接通知 | cfclub | ✅ | 明确区分「源码 done(研发账本)」vs「部署后线上 401/403(测试判据)」 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 二、上轮遗留问题解决情况
|
|
|
+
|
|
|
+| 上轮问题 | 状态 | 处理说明 |
|
|
|
+|----------|------|----------|
|
|
|
+| O-14 langgraph test_memory 装置滞后 | ✅ **本轮转绿** | 26→27(+1 例 fix memory embeddings 装置)。剩余 2 例暴露新根因 B-64(接口漂移),非 O-14 |
|
|
|
+| B-61 健康方案鉴权 | ❌→⚠️ **状态升级** | 前 6 轮均为「源码级未修」,本轮源码复核**首次确认已修复**(`origin/cfclub@de16f40b0` `JwtInterceptor.java:114` 含 `/api/health/plan/`,修复 `b3a02df92` 11:47 合入)。但线上仍 200 直通 → **部署滞后**。闭环判据不变:部署后 TC-HP-U01~03 转 401/403 |
|
|
|
+| B-56 远程派发通道受限 | ⏳ 维持解除中 | 85 轮三节点正常派发(189/204/251 均接受 session/prompt),节点可用性恢复;配额限流与路由 404 未复发 |
|
|
|
+| B-63 前端 4 文件未入库 | ✅ 已闭环(R84) | 入库 4 文件后全绿可复现 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 三、本轮新发现问题
|
|
|
+
|
|
|
+### B-64:langgraph `test_memory` 装置接口漂移(P1,测试侧自处置)
|
|
|
+
|
|
|
+- **描述**:251 节点 pytest 27/43(+1 转绿后),剩余 16 红分解:**B-64 占 2 例**——`test_working_memory` / `test_longterm_memory` 报 `AttributeError: 'MemoryManager' object has no attribute 'get_working_memory'/'get_longterm_memory'`。根因:`cfc-langgraph` 的 `MemoryManager`(`store.py`)接口签名已变更(rename/refactor),`test_memory.py` 调用旧方法名未同步。
|
|
|
+- **性质**:**A 类测试侧装置问题**(非代码回归)。与 O-14 同族(fixture 与生产接口未对齐)。
|
|
|
+- **风险**:test_memory 2 例持续红污染 langgraph 整体通过率,掩盖真正的环境红;若接口签名确为有意重构,应通知研发提供新接口名;若属误删,需研发还原。
|
|
|
+- **处置建议**:
|
|
|
+ - ① 测试侧查 `store.py` 当前 `MemoryManager` 公开方法列表 → 改写 `test_memory.py` 调用新方法或补别名
|
|
|
+ - ② 如需研发侧动作(API 有意删除或还原),请在研发通道回执
|
|
|
+- **闭环判据**:251 拉取修复后重跑 `pytest tests --ignore=tests/qna`,`test_memory` 2 例转绿
|
|
|
+
|
|
|
+### 【口径提示】B-61 研发账本「done」vs 测试台账「待处理」
|
|
|
+
|
|
|
+- 研发第 67 轮将 B-61 改判 done(依据:源码合入链 `ba6c0ebe6` + merge `b3a02df92` 均已 IN origin/cfclub)
|
|
|
+- 测试侧闭环判据是**线上行为**:匿名 POST 应返回 401/403。当前线上仍 200 直通(业务码 4001/500 NPE)
|
|
|
+- 两者**不矛盾**,仅维度不同。本通报以测试侧判据为准维持「待处理·等待部署」。已纳入研发交接通知第 2 节明确区分。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 四、门禁结论
|
|
|
+
|
|
|
+**不通过(有条件)** —— 较 R84 有实质改善(B-61 源码级首次修复 + langgraph +1 转绿),但仍有 4 个硬条件缺口:
|
|
|
+
|
|
|
+- ✅ 189-admin 5/5、204-frontend 6/6(三节点派发通道稳定可用)
|
|
|
+- ✅ cfc-frontend 355 / cfc-web 90(本机实跑,无回归)
|
|
|
+- ✅ langgraph 27/43(O-14 生效 +1 转绿;剩余 16 红=环境 14 + 装置 2)
|
|
|
+- ✅ SRS 变更感知 → 补登记 3 条用例(S-cfc-57/58/59/60/70)
|
|
|
+- ⚠️ **B-61 P0(连续第 7 轮)**:源码已修(`JwtInterceptor.java:114` 含 `/api/health/plan/`),但线上 `cfc.iwintrue.com` **未部署**(TC-HP-U01~03 仍 200 直通)
|
|
|
+- ❌ **B-64(本轮新增)**:`MemoryManager` 无 `get_working_memory`/`get_longterm_memory`,test_memory 2 例红(测试侧装置待同步)
|
|
|
+- ❌ langgraph 环境红 14 例(checkpointer 3 + API key 401 9 + parse 2)未见处理
|
|
|
+- ❌ 251:9000 langgraph FastAPI 服务仍 closed
|
|
|
+
|
|
|
+### 使绿顺序(本轮)
|
|
|
+
|
|
|
+1. 【P0】研发/运维**部署 `cfclub@de16f40b0`(含 B-61 修复)到 cfc.iwintrue.com** → TC-HP-U01~03 转 401/403(唯一阻断项)
|
|
|
+2. 【P1】测试侧同步 `store.py` 签名 → 改 `test_memory.py` 调用新接口或补别名 → B-64 2 例转绿
|
|
|
+3. 【P1】251 节点注入 LLM API key + 修复 checkpointer 初始化 → langgraph 环境红 14 例转绿
|
|
|
+4. 【P2】运维恢复 251:9000 FastAPI 服务
|
|
|
+5. 【P2】清理 `tests/qna/` 死测试资产
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 五、下一步计划
|
|
|
+
|
|
|
+1. **R86 前置**:研发部署 `cfclub@de16f40b0` 后,测试侧立即复跑 `playwright.config.health.js` 契约期望 13/13;如转绿则 B-61 彻底闭环
|
|
|
+2. **B-64 修复**:下轮 251 复跑前先在源仓库定位 `MemoryManager.get_*_memory` 方法现状 → 改写 `test_memory.py`
|
|
|
+3. **后端全量**:安排下一轮实跑 `mvn test`,固化 95.07% 基线到新值(B-53 13 文件入库预测 ≥96.83%)
|
|
|
+4. **派发通道稳态**:继续观察 189/204/251 opencode 节点可用性(本轮已正常三节点分发),持续作为优先链路
|
|
|
+5. **通知触达**:本通报已写入仓库文档(`docs/tdd/orchestration/report-test-2026-11-08-1259.md` + 交接通知 `docs/tdd/研发交接通知-2026-11-08-第85轮.md`);如需邮件/企微直达请开通连接器
|
|
|
+
|
|
|
+## 六、附录 B:blockers 速览(本轮涉及变化)
|
|
|
+
|
|
|
+| 编号 | 标题 | 指派 | 优先级 | 本轮状态 |
|
|
|
+|------|------|------|--------|----------|
|
|
|
+| B-61 | 健康方案鉴权缺口(JwtInterceptor 缺 `/api/health/plan/`) | 研发/运维 | **P0** | ⚠️ **源码已修·部署滞后**(前 6 轮源码级未修已改判;待部署即可闭环) |
|
|
|
+| B-64 | langgraph test_memory 装置接口漂移 | 测试(自处置) | P1 | 🔴 新增(2 例红) |
|
|
|
+| B-54 | cfc-langgraph venv 不可用(chromadb DLL + LLM 凭据) | 研发/测试 | P1 | ⏳ 待处理(14 红中的 C 类 12 例归属此问题) |
|
|
|
+| B-56 | 三节点派发通道限流/路由异常 | 测试/运维 | P2 | ✅ 本轮稳定(3 任务均成功) |
|
|
|
+| B-59 | admin U04/U05 时序哨兵脆弱 | 测试 | P1 | ⏳ 待下轮自处置修复 |
|
|
|
+| B-62 | 前端 birthday/gender 捕获 14 例 RED(研发已实现) | 研发 | P1 | ⏳ 状态与 R84 一致 |
|
|
|
+| B-60 | ActivityControllerTest 单类 412s 慢 | 研发 | P2 | ⏳ 未触发处置 |
|
|
|
+
|
|
|
+> **整体台账**:共 8 项,本轮新增 B-64 1 项,状态升级 B-61 1 项,其余持平。
|