ba0a55565(commit "docs(tdd): R158测试负责人汇报补口径备注 + 研发通知…")| 模块 | 动作 | 命令/方式 | 备注 |
|---|---|---|---|
| cfc-web | Jest 单测+组件 | CI=true npx jest --ci --coverage |
本地已装,实跑 |
| cfc-frontend | Jest 单测+组件 | CI=true npx jest --ci --testPathIgnorePatterns="api.test.js" "config.test.js" |
排除公网外联用例(P-9) |
| cfc-backend | 离线编译核验 | mvn -o test-compile / mvn -o compile |
Maven 位于 /d/maven/apache-maven-3.6.1 |
| 内网 E2E | 可达性探针 | curl /admin、/frontend |
Playwright 1.63.0;hosts→192.168.16.251 |
| 测试用例编写 | SRS 闸门 | git/find 比对 docs/tdd/SRS.md|需求分析|specs|API_REFERENCE.md |
自 R155 后零变更→跳过 |
| 域 | 结果 | 明细 |
|---|---|---|
| cfc-web Jest | ✅ 17 套 / 116 例 全绿 | Tests: 116 passed, 116 total,EXIT0;覆盖率 语句~10.08% / 分支~6.06% / 函数~7.48% / 行~9.95%(引用 R155 稳态基线,本轮零漂移) |
| cfc-frontend Jest(P-9 排除) | ⚠️ 40 套 / 474 例 = 459 过 / 3 失败 / 12 跳 | EXIT1;3 失败均为 TDD 预期红(非回归) |
后端 mvn -o compile |
✅ GREEN | EXIT0,21s,主源码编译通过 |
后端 mvn -o test-compile |
✅ GREEN(重试) | 首次 280s 冷启超时(EXIT124),重试 86s EXIT0;生产+测试源码均编译通过 |
| 内网 E2E 探针 | ✅ 2/2 可达 | /admin→HTTP 302(登录墙)、/frontend→HTTP 302(H5 渲染);hosts 解析 192.168.16.251 正常 |
后端全量 mvn test + JaCoCo |
⛔ 未实测 | MySQL 3306 不可达,引用 R155 基线 2946 类 / 2925 例 / 17 红 / 99.29% |
| 测试文件 | 失败用例 | 归属 | 性质 |
|---|---|---|---|
cfc-frontend/__tests__/pages/growth-main/growthHistory.dayGroupView.test.js |
RED-A7 无有效业务日期的记录被跳过 |
S-cfc-134 | TDD-RED 契约,实现未交付 |
cfc-frontend/__tests__/pages/signature/signature.consignee.test.js |
AC-R1 组件必须暴露确认回调 / AC-R2 模板包含手签名确认段(<hand-signature>) |
S-cfc-53 | TDD-RED 契约,实现未交付 |
较 R155 的 3 红(S-cfc-30/52/53):S-cfc-30、S-cfc-52 已转绿(实现交付),新增 S-cfc-134 预期红 → 净红数仍为 3,属正常 TDD 演进,零代码回归。 说明:首跑曾出现
AuditDetailDrawer.spec.js挂载报错,但该文件不存在于仓库(路径为 Jest worker 崩溃栈残留),重跑稳定仅 2 失败套件;判定为 worker 崩溃伪失败,非稳定缺陷。
cfc-frontend/__tests__/utils/membershipGate.test.js(已绿,覆盖补强)→ 无新增生产回归。git log 5ee173916..HEAD 对 docs/tdd/SRS.md / docs/需求分析 / docs/superpowers/specs / docs/superpowers/api/API_REFERENCE.md 零命中;find -newermt 亦无上述文件变更。| 模块 | 语句/行 | 分支 | 函数 | 门禁(G9≥20%) |
|---|---|---|---|---|
| cfc-web | ~10.08% | ~6.06% | ~7.48% | ❌ 未达 |
| cfc-frontend | ~53.57% | — | — | ✅(引用 R155) |
| cfc-backend | JaCoCo N/A(未连库) | — | — | ⛔ 未实测 |
membershipGate.test.js(绿,覆盖补强,正向)。test-compile 首次冷启超时(280s),重试即绿 → 记为环境型波动,非代码问题,但需关注是否随测试源增长持续变慢(见问题 P7)。① 问题描述:后端全量 mvn test 因 MySQL 3306 不可达未能实测,17 红未连库核实,JaCoCo 不可得。
② 测试 bug 点:cfc-backend 测试依赖 MySQL3306(CLOSED 状态);引用 R155 基线 2946 类/2925 例/17 红/99.29%。
③ 最优修改方案:在可达 MySQL 的环境执行 mvn test,逐条核对 17 红是否真实失败(疑似需 DB 的集成用例)。
④ 修改目的:验证后端真实测试状态,消除"未实测"缺口,满足 G7。
⑤ 闭环方式:连库 mvn test 0 真红 + JaCoCo≥80% → 通过 G7。
① 问题描述:cfc-web Jest 覆盖率 语句~10%/分支~6% < 20% 门禁,多数 vue 视图 0% 覆盖。
② 测试 bug 点:cfc-web/src/**/__tests__/ 仅 17 套 / 116 例。
③ 最优修改方案:依据 API_REFERENCE.md 与 SRS 增补组件/工具单测,优先覆盖 views/admin、views/teacher 等零覆盖目录。
④ 修改目的:满足 G9≥20%,降低视图层回归风险。
⑤ 闭环方式:cfc-web 覆盖率≥20% 即闭环。
① 问题描述:测试仅在人工/自动化脚本触发,回归门禁无法自动卡口。
② 测试 bug 点:仓库未见 .github/workflows 或等效 CI 配置(待核实)。
③ 最优修改方案:接入 CI,在每次 push/PR 跑 cfc-web/cfc-frontend Jest + 后端 test-compile。
④ 修改目的:固化回归门禁,防止预期外回归合入。
⑤ 闭环方式:CI 跑通且门禁生效即闭环。
① 问题描述:cfc-frontend/__tests__/api.test.js、config.test.js 含公网外联;本轮为守"不访问公网"约束显式排除,根因未修。
② 测试 bug 点:cfc-frontend/__tests__/api.test.js、config.test.js。
③ 最优修改方案:增加 CFC_OFFLINE 守卫或 mock 适配器,使测试离线可跑。
④ 修改目的:消除公网依赖,使全量前端测试可在 review 档实测。
⑤ 闭环方式:移除排除项后 cfc-frontend 全量 EXIT0 即闭环。
① 问题描述:admin 转介绍(referral) 相关接口/前端零测试覆盖(历史遗留)。
② 测试 bug 点:docs/superpowers/specs/2026-11-10-article-tag-filter-design.md 提及;admin.referral 无专属契约测试。
③ 最优修改方案:补 admin.referral 契约测试 + 前端用例。
④ 修改目的:补历史覆盖缺口。
⑤ 闭环方式:admin.referral 有 ≥1 绿用例即闭环。
① 问题描述:langgraph pytest 收集 51 例实跑 43 例(差 8 例未进入执行,待核实);9 红为 AgnesAI 429 + 记忆召回 key 401 环境错误。
② 测试 bug 点:cfc-langgraph pytest 收集/执行差异;conftest 条件跳过;记忆召回 key ****ab12 无效。
③ 最优修改方案:排查 conftest 跳过逻辑并补 xfail/skip 标注;平台侧恢复 AgnesAI 额度 / 更换有效记忆召回 key。
④ 修改目的:使 langgraph 分母可对账、红集合收敛为 0 代码红。
⑤ 闭环方式:51 例全对账 + 0 代码红即闭环(需联网授权)。
① 问题描述:后端 mvn -o test-compile 首次尝试 280s 超时(冷启),重试 86s GREEN。
② 测试 bug 点:cfc-backend Maven reactor 冷启动慢 / 本地仓库状态。
③ 最优修改方案:预热 Maven 守护进程或首次构建放宽超时;核对是否新增大型测试源致编译变慢。
④ 修改目的:保证 review 档可稳定实跑 test-compile。
⑤ 闭环方式:连续两次 test-compile EXIT0 且 < 180s 即闭环。
| # | 测试类型 | 三态 | 证据 |
|---|---|---|---|
| 1 | 单元测试(后端) | 待核实 | MySQL DOWN,引用 R155 2946 例/17 红 |
| 2 | 单元测试(cf-web) | 已发现 | 116 例全绿 |
| 3 | 单元测试(cf-frontend) | 已发现 | 474 例/3 预期红 |
| 4 | 组件级测试 | 已发现 | vue-test-utils 17 套 + uni-app spec |
| 5 | 测试覆盖率 | 已发现(部分❌) | cf-web 10%<20%;cf-fe 53.57% |
| 6 | 变异测试 | 未发现 | 未配置 |
| 7 | 集成测试 | 待核实 | 后端需 DB |
| 8 | 契约测试 | 已发现 | ArticleTagsContractTest、AdminFamilyStatsContractTest 等 |
| 9 | 接口 API 测试 | 已发现(探针级) | E2E 探针 /admin、/frontend 2/2 可达 |
| 10 | 系统/端到端(E2E) | 已发现(探针)/待核实(业务流) | 可达性 2/2;登录态业务流缺凭据 |
| 11 | 验收 UAT | 待核实 | — |
| 12 | BDD 规格 | 未发现 | — |
| 13 | 冒烟测试 | 已发现 | E2E 探针=冒烟级 |
| 14 | 回归测试 | 已发现 | 逐轮零漂移比对 |
| 15 | 探索性测试 | 未发现 | — |
| 16 | 性能测试 | 未授权未执行 | execute 档公网,未授权 |
| 17 | 可靠性测试 | 待核实 | langgraph 429 重试属部分 |
| 18 | 安全测试(SAST/DAST/依赖漏洞/渗透) | 未授权未执行 | execute 档公网,未授权 |
| 19 | 兼容/可用/无障碍测试 | 未发现 | — |
| 20 | QA流程/质量指标/全项目代码审查/CI | 已发现(部分❌)/待核实 | TDD 台账已建;CI 缺失(G11);全项目代码审查本闭环未做 |
.github/workflows 或等效 CI(G11 判定)。MACHINE_JSON_PATH 是否存在有效凭据)。| 项 | 为何未执行 | 测试设计(供授权后执行) |
|---|---|---|
后端全量 mvn test + JaCoCo |
MySQL 3306 不可达(本地环境,非公网) | 在可达 MySQL 环境:mvn test + JaCoCo 报告;门禁 0 真红 + ≥80% |
| 安全测试 SAST/DAST/依赖漏洞扫描 | execute 档,需联网公网,未授权 | npm audit / OWASP 依赖检查 / 静态扫描;零高危即通过 |
| 性能/可靠性压测 | execute 档,打到目标环境需联网,未授权 | 对 9082/9000 做基准压测;P95 延迟与错误率门禁 |
| 登录态 E2E 业务流 | 无 MACHINE_JSON_PATH 凭据 |
凭据经环境变量注入后,用 Playwright 跑 /admin、/frontend 登录后关键路径 |
| LangGraph 9000 复验 | 需 251 节点 + AI 凭据,且属联网 | 在授权环境跑 pytest,目标 51 例全对账 + 0 代码红 |
上述项本轮回退为「测试设计 + 缺口诊断」,未自行联网、未安装依赖、未补跑全量。
结论:⛔ 有条件通过(与 R155/R158 稳态持平)
test-compile GREEN、cf-frontend 红例均为 TDD 预期红(非回归)、E2E 探针 2/2 可达。mvn test 0 真红 + JaCoCo≥80%(G7);CFC_OFFLINE 守卫,0 外联);本报告为每小时自动化测试闭环产物;仓库零写入(未改生产源码/测试、未提交、未推送)。所有"未实测/未授权未执行"维度均如实登记,未写为通过。