测试负责人:陆谨(软件测试专家团主理人)|执行档:review(已授权内网 cfc.iwintrue.com→192.168.16.251;不访问外部公网;仅依据 SRS/需求变更在测试目录编写用例,本小时闸门关闭故零编写) HEAD=
8c4faea11(R182 汇报提交 @04:28);上次本对象记忆轮=R182(04:20 全量实跑轮);本运行与之相邻 ~14min,独立实跑可本地维度 + 引用全量基线。
| 模块 | 技术栈 | 端口 | 本小时可测范围 |
|---|---|---|---|
| cfc-backend | Spring Boot 2.7.18 + MyBatis-Plus + Java8 | 9082 | mvn -o test-compile 离线编译冒烟;全量 mvn test+JaCoCo 需连库(MySQL3306 不可达) |
| cfc-web | Vue2 + ElementUI 管理端 | 8082 | Jest 单测/组件(axios-mock-adapter,mock API,不断言真实服务端) |
| cfc-frontend | uni-app 微信小程序(H5) | — | Jest 单测(P-9 api.test.js/config.test.js 公网,本小时排除) |
| 被测内网 | openresty 反代 | cfc.iwintrue.com→192.168.16.251 | no-login E2E 冒烟 /admin+/frontend |
关键路径与约束(据 AGENTS.md):统一 @PostMapping、JWT 拦截 /api/**、迁移唯一入口 DatabaseInitializer.runMigrations()、Result<T> 响应;小程序禁可选链/CSS Grid。
已发现 / 未发现(未实测) / 待核实;扫描未命中或无凭据一律标「待核实」,不臆断为「不存在」。
| # | 测试类型 | 三态 | 本小时证据 |
|---|---|---|---|
| 1 | 单元测试 | 已发现 | cfc-web 116 + cfc-frontend 474 + 后端存量 @Test(R182 全量 3111) |
| 2 | 组件测试 | 已发现 | cfc-web @vue/test-utils 挂载(AuditDetailDrawer 等);fe vue-transform |
| 3 | 集成测试 | 待核实 | 后端集成需连库(MySQL3306 不可达);全量引用 R182 基线,未连库核实 |
| 4 | 契约测试 | 已发现 | S-cfc-166/169/178 等;本小时 test-compile GREEN 含契约编译通过 |
| 5 | 接口API测试 | 已发现 | API 25过/7跳(ref R182);本小时 E2E 探针 /admin+/frontend 2/2 |
| 6 | 冒烟测试 | 已发现 | 后端 test-compile GREEN + 内网 E2E 2/2 渲染 PASS |
| 7 | 回归测试 | 已发现 | jest 双绿 + test-compile,零漂移,红例差集空,无新增回归 |
| 8 | 探索性测试 | 待核实 | 无独立探索性套件登记 → 降级测试设计 |
| 9 | 验收/UAT/BDD | 待核实 | 无 BDD 规格登记 → 待核实 |
| 10 | 性能测试 | 未发现(未实测) | execute档公网压测未授权 → 降级+测试设计 |
| 11 | 可靠性测试 | 待核实 | langgraph@251 环境红(429/401)观察非代码;无混沌/容错实测 |
| 12 | 安全(SAST/DAST/依赖/渗透) | 未发现(未实测) | execute档公网未授权 → 降级+测试设计;admin.referral 鉴权门缺失(B-142-1) |
| 13 | 兼容性测试 | 待核实 | uniapp 多端无自动化兼容矩阵 → 待核实 |
| 14 | 可用性测试 | 待核实 | 无可用性自动化 → 待核实 |
| 15 | 无障碍测试 | 待核实 | 无 a11y 自动化 → 待核实 |
| 16 | 测试覆盖率 | 已发现(未达标) | cfc-web ~10%<20%(G9 FAIL);后端 JaCoCo 未采集;fe Lines ~53%(ref) |
| 17 | 变异测试 | 未发现 | 无 pitest/Stryker 配置 → 未发现 |
| 18 | QA流程 | 已发现(部分) | 缺 CI(G11 FAIL);每小时闭环流程在跑;git 提交纪律存在 |
| 19 | 质量指标 | 已发现 | 门禁 G7/G9/G11 跟踪;全站 ~97.84%(ref R182) |
| 20 | 全项目代码审查 | 待核实 | 本小时未重跑全量代码审查(只读画像+编译+单测);历史审查资产存在 |
mvn -o test-compile / 内网 no-login E2E 探针。mvn test+JaCoCo(R182 04:20 仅 ~14min 前完成,~40min>单小时预算,且 MySQL3306 不可达)、langgraph@9000、浏览器登录态 E2E(28)、API(25)、根级(7/16)。api.test.js/config.test.js(守不访问公网);③ 安全/性能/依赖漏洞(execute档公网未授权)。review 档(已授权内网 + 测试用例编写):不访问外部公网;允许本地回环启动被测服务与运行测试、授权对内网 192.168.16.251 发起 /admin 与 /frontend 的 Web 自动化(仅 no-login 冒烟);允许在测试目录内编写用例(本小时闸门关闭);禁止装依赖/执行仓库脚本/改提交生产源码。
| 维度 | 命令 | 结果 | 与基线(R182) |
|---|---|---|---|
| cfc-web Jest | npx --no-install jest |
17套 / 116/116 PASS / EXIT0 | 零漂移(116/116) |
| cfc-frontend Jest | jest --testPathIgnorePatterns=api.test.js,config.test.js |
40套 / 474例 = 459过 / 3预期红 / 12跳 / EXIT1(2套预期红) | 零漂移(459/3/12 逐项一致,3红=已知 TDD 预期红非回归) |
| backend 编译 | mvn -o test-compile |
GREEN (EXIT0),375 测试源码编译通过 | 零编译回归 |
| 内网 E2E 冒烟 | Playwright1.63.0 chromium,hosts→192.168.16.251 | /admin 200(登录墙「浠艾福管理后台」) + /frontend 200(H5「首页」234KB) 2/2 渲染 PASS | 与 R182 一致 |
语句~10.09% / 分支~6.12% / 函数~7.5% / 行~9.97%(ref R171/R182,本小时未重采以避免共享运行器超时;零漂移预期)。mvn test+JaCoCo(R182 04:20):3111 例 / 3072 过 / 35 红 / 4 跳 / 38:40(MySQL3306 不可达,未连库核实真红)。8c4faea11(汇报)+5f83ee04e(auto bump),均非生产/需求变更;全部实跑套件逐字段与 R182 一致,红例差集空。FamilyRemoveMemberContractTest 4F 新 RED(研发 278ec2e91 在链待实现)—— 对照组验证项,非回归。git log --since='2026-11-12T21:18'(R175 上次编写参考点)对 docs/tdd/SRS.md / docs/需求分析/** / docs/superpowers/specs/** / docs/superpowers/api/API_REFERENCE.md 零命中;find -newermt 同样零命中。tests/e2e/_automation_reachability_result.json,非源码/非测试用例,未提交。)以下问题均为承袭历史缺口,本次未复评为已解决;按五要素逐条给出。
P1 · P-9 公网外联(测试设计 / 合规)
① 问题描述:cfc-frontend/__tests__/api/api.test.js 与 config/test.js 在测试中访问公网,违反「不访问外部公网」约束。
② 测试 bug 点:cfc-frontend/__tests__/api/api.test.js、cfc-frontend/__tests__/config/config.test.js(本小时已显式 --testPathIgnorePatterns 排除)。
③ 最优修改方案:引入 CFC_OFFLINE 守卫,离线环境用 mock 替代真实公网请求,确保 0 外联。
④ 修改目的:守住内网隔离/不访问公网合规红线,使离线 CI 可稳定跑通全部前端单测。
⑤ 问题闭环:加守卫后该 2 套件在离线环境 0 外联且全绿即通过;复测标准 = 沙箱出网监控 0 连接。
P2 · G7 后端 35 红未连库核实(集成/质量)
① 问题描述:后端全量 3111/3072/35红 未连库核实,无法区分真代码缺陷与环境型失败。
② 测试 bug 点:R182 全量口径 mvn test(MySQL3306 不可达,未接内网库)。
③ 最优修改方案:在内网起可达 MySQL 后重跑 mvn test+JaCoCo,逐条归因 35 红。
④ 修改目的:确认真红数,避免把环境红当质量结论。
⑤ 问题闭环:连库后 0 真红 + JaCoCo≥80% 即 G7 达标;复测标准 = 连库全量 EXIT0 且红例为 0 或均为已知预期红。
P3 · G9 cfc-web 覆盖率不足(度量)
① 问题描述:cfc-web 行/语句覆盖率 ~10%,远低于 20% 门槛。
② 测试 bug 点:cfc-web/src/** collectCoverageFrom 范围大但用例覆盖薄(116 例集中在少数模块)。
③ 最优修改方案:针对 src/views、src/utils 高价值路径补充组件/工具单测,扩充 mock 场景。
④ 修改目的:提升缺陷检出率,降低回归漏测。
⑤ 问题闭环:jest --coverage 行/语句 ≥20% 即通过;复测标准 = coverage 报告达标且套件全绿。
P4 · G11 无 CI(流程)
① 问题描述:项目无持续集成门禁,回归依赖人工每小时闭环,易漏。
② 测试 bug 点:仓库无 .github/workflows 或等价 CI 配置(据 AGENTS.md 与历史 R 轮记录)。
③ 最优修改方案:固化双档(review/execute)CI 门禁,绑定 G7/G9/G11 硬指标。
④ 修改目的:防止回归流入,自动化质量闸门。
⑤ 问题闭环:CI 跑通且对红构建拦截即通过;复测标准 = 故意引入回归被 CI 拦下。
P5 · admin.referral 零覆盖 + 鉴权门缺失(安全,B-142-1,P2)
① 问题描述:管理端 referral 相关接口无单测,且鉴权门缺失,存在越权风险。
② 测试 bug 点:admin.referral 接口族(TR-25)无 AdminReferralContractTest;JwtInterceptor 公开路径白名单未覆盖。
③ 最优修改方案:补 AdminReferralContractTest(含鉴权门用例:未带 Token/越权角色应 401/403)。
④ 修改目的:堵住管理端越权面,满足安全基线。
⑤ 问题闭环:单测绿 + 鉴权门覆盖即通过;复测标准 = 越权请求返回 401/403 且正常请求通过。
P6 · B-142-2 langgraph 环境红(可靠性/需联网授权)
① 问题描述:langgraph@251 7 例红为 429/401 上游环境型(AgnesAI 配额/记忆召回 key),非代码缺陷。
② 测试 bug 点:cfc-langgraph 对话/auto_tag/intent 用例(ref R182 44/51 红 7)。
③ 最优修改方案:更换有效 Token + 恢复 AgnesAI 配额;需用户单独授权联网访问 251 节点。
④ 修改目的:获得真实 AI 行为验证,区分代码红与环境红。
⑤ 问题闭环:51 例全对账 0 代码红即通过;复测标准 = 连续 2 轮 51/51 全绿。
P7 · S-cfc-168/178 契约预期红待实现(功能保障)
① 问题描述:MembershipPlanPurchaseContractTest(7F)、FamilyRemoveMemberContractTest(4F) 为 TDD 预期红,对应实现尚未合入。
② 测试 bug 点:S-cfc-168、S-cfc-178(契约 278ec2e91 在链待实现)。
③ 最优修改方案:研发实现对应窗口逻辑后转绿(对照组验证)。
④ 修改目的:契约驱动开发闭环,防接口漂移。
⑤ 问题闭环:实现合入后契约全绿即通过;复测标准 = 对应契约套件 EXIT0。
SECURITY_REVIEW_2026-11.md/REVIEW_SYSTEM_ACCEPTANCE_白樾.md 存在可作参考。| 项 | 为何需授权 | 测试设计(降级产出) |
|---|---|---|
| 依赖漏洞扫描 (SCA) | execute档,公网下载漏洞库 | 用 npm audit / mvn dependency-check 离线版或授权后 owasp dependency-check;目标 = 0 高危 |
| 性能压测 | execute档,打到远端/公网 | 内网起 cfc-backend + wrk/jmeter 对内网 192.168.16.251:9082 施压;指标 = P95<200ms、错误率<0.1% |
| DAST 渗透 | execute档,公网/第三方 | 授权后对内网 /admin//frontend 跑 zap 基线扫描;重点 = 越权/注入/XSS |
| 后端连库全量+JaCoCo | 需内网 MySQL 可达 | 起内网 MySQL → mvn test+JaCoCo → 逐条归因 35 红 |
| 登录态 E2E 深测 | 需 MACHINE_JSON_PATH 凭据 | 注入凭据后跑 tests/e2e/*.spec.js 业务流;本次仅 no-login 冒烟 |
| LangGraph@9000 | 需联网 + AI 凭据 | 授权后对内网 9000 跑 51 例全对账 |
以上均未执行,报告中不写为「通过」;仅给出测试设计与复测路径。
与 R181(门禁不通过)口径一致;R182 全量实跑后结构性进账(S-cfc-166/169 闭环、耗时改善)但硬门禁未变。本小时新增价值 = 独立复跑确认 web/fe/backend-compile/E2E 四维度零漂移全绿,全量基线(R182)仍有效。
未达标硬门禁:
复评条件(满足即转有条件通过/通过):
mvn test 0 真红 + JaCoCo ≥80%(G7)本小时产物:本文档 docs/tdd/automation-run-2026-11-13-R183.md(未提交、未推送、未改生产源码/测试用例);E2E 探针结果刷新于既有 tests/e2e/_automation_reachability_result.json(测试产物,非源码)。
生成时间:2026-11-13 04:34 (GMT+8) | 执行档 review | 内网已授权 | 不访问外部公网