فهرست منبع

test(record): 新增缺陷测试记录汇总 12 项缺陷并交叉索引

- 新增 tests/defects/DEFECT-TEST-RECORD.md:统一缺陷登记表(测试记录)
  汇总 CFC-AP-001~008 与 CFC-EN-001/CFC-FM-001/CFC-ENV-001/CFC-ENV-002 共 12 项
  含测试执行记录、按严重度/优先级/状态分布统计与明细索引
- tests/README.md 增加缺陷测试记录交叉引用
E2E Test Bot 1 هفته پیش
والد
کامیت
6f16f09718
2فایلهای تغییر یافته به همراه114 افزوده شده و 2 حذف شده
  1. 2 2
      tests/README.md
  2. 112 0
      tests/defects/DEFECT-TEST-RECORD.md

+ 2 - 2
tests/README.md

@@ -14,7 +14,7 @@
 | **`user-scenarios/`** | **按角色的用户使用场景(叙事式)** | 本批新增:从真实用户视角描述「怎么用」 |
 | **`test-cases/`** | **按角色的结构化测试用例 + 跨角色端到端用例** | 本批新增:可手动/自动执行的测试用例 |
 | `test-cases/deep-dive-*.md` | **模块级代码深挖(测评预约 / 方案激活拆任务幂等)** | 本批新增:基于源码的边界/缺陷分析 |
-| `defects/` | **缺陷单(代码级 + live 验证,CFC-AP-001~008)** | 本批新增:含五要素 + 修复建议 |
+| `defects/` | **缺陷单(代码级 + live 验证,CFC-AP-001~008 / CFC-EN-001 等)** | 本批新增:含五要素 + 修复建议;`DEFECT-TEST-RECORD.md` 为统一缺陷测试记录(汇总 12 项 + 测试执行记录) |
 | `e2e/assessment-appointment-functional.spec.js` + `playwright.config.func.js` | **自包含功能/权限规格(去 globalSetup)** | 本批新增:测试自写种子数据,规避外部种子库依赖 |
 
 ## 资产关系
@@ -111,7 +111,7 @@ npx playwright test -c playwright.config.api.js --project=desktop
 - `POST /api/family/member/add` **冷启动首调约 16s**(后续 1.5s),故 API 超时放宽至 60s、用例超时 180s(见 CFC-ENV-002)。
 - 被真实缺陷阻塞的用例用 `test.fixme()` 标记(保留「期望正确行为」的断言),并配套一条**特征化用例**锁定当前缺陷行为——缺陷修复后特征化用例会失败,提示移除 fixme。
 
-**本次实测发现的缺陷**:见 `defects/DEFECTS-api-remote-findings.md`
+**本次实测发现的缺陷**:见 `defects/DEFECTS-api-remote-findings.md`;全部 12 项缺陷的统一汇总与测试执行记录见 `defects/DEFECT-TEST-RECORD.md`。
 | 编号 | 缺陷 | 严重度 | 优先级 |
 |---|---|---|---|
 | CFC-EN-001 | `/api/energy/grant` 返回 500「服务器内部错误」(后端未捕获异常) | 高 | P0 |

+ 112 - 0
tests/defects/DEFECT-TEST-RECORD.md

@@ -0,0 +1,112 @@
+# 缺陷测试记录(Defect Test Record)
+
+> 本文件是浠艾福(Care Family / XAF)测试活动中发现缺陷的**统一登记表(测试记录)**。
+> 所有缺陷的「缺陷五要素 + 修复建议」完整内容见下方「明细索引」指向的两份明细单;本表为汇总与跟踪入口。
+> 状态:截至 2026-10-30,全部缺陷待修复 / 待澄清,**0 已闭环**。
+
+---
+
+## 元信息
+
+| 项 | 内容 |
+|---|---|
+| 项目 | 浠艾福 Care Family / XAF(cfc-backend 9082 / 远程 cfc.iwintrue.com) |
+| 记录人 | 软件测试专家团(WorkBuddy,测试架构师 陆谨 编排) |
+| 记录周期 | 2026-10-27 ~ 2026-10-30 |
+| 跟踪分支 | `cfclub` |
+| 明细来源 | `tests/defects/DEFECTS-assessment-appointment.md`(CFC-AP-001~008)<br>`tests/defects/DEFECTS-api-remote-findings.md`(CFC-EN-001 / CFC-FM-001 / CFC-ENV-001 / CFC-ENV-002) |
+| 深挖底稿 | `tests/test-cases/deep-dive-assessment-appointment.md`、`tests/test-cases/deep-dive-plan-activation.md` |
+
+---
+
+## 一、测试执行记录(发现缺陷的测试活动)
+
+| # | 日期 | 测试类型 | 环境 | 范围 | 结果 | 发现缺陷 |
+|---|------|---------|------|------|------|---------|
+| T1 | 2026-10-27 | 模块功能规格(Playwright func spec) | 本地 `127.0.0.1:9082`(依赖 `direct-register` 自写种子,规避外部种子库不可达) | 测评预约模块权限/异常分支 TC-DV-01~09 | **5 passed / 2 skipped**(种子依赖项按设计跳过) | CFC-AP-001~008(含 live 验证新增的 CFC-AP-008) |
+| T2 | 2026-10-29 | Chromium 冒烟(headless) | 本地 Chromium 1228 | 浏览器启动 / DOM 渲染 / 点击交互 | **2 passed** | 验证 Chrome 自动化可行性,未新发现业务缺陷 |
+| T3 | 2026-10-30 | 远程 DOM e2e pilot | 远程 `cfc.iwintrue.com` | 36 个 DOM 型 spec(家庭成员/能量/文章/联系人/规划师看板) | **10 passed / 32 failed / 2 skipped** | 失败根因为「远程未托管前端 SPA」(CFC-ENV-001),非业务缺陷 |
+| T4 | 2026-10-30 | API 级 e2e(Playwright request) | 远程 `cfc.iwintrue.com` | 40 例:api-smoke / article / contact / energy / family-member | **37 passed / 3 fixme(skipped) / 47s** | CFC-EN-001、CFC-FM-001;环境类 CFC-ENV-001 / CFC-ENV-002 |
+
+> 说明:T3 与 T4 为同一批场景的两种实现。T3 的 32 条失败全部由 CFC-ENV-001 导致(与业务实现无关),改写为 API 断言(T4)后通过率从 24% 提升至 92.5%。被真实缺陷阻塞的 3 条用例以 `test.fixme()` 保留,并配套特征化用例锁定当前缺陷行为。
+
+---
+
+## 二、缺陷登记表(汇总,共 12 项)
+
+| 编号 | 标题 | 模块 | 严重度 | 优先级 | 状态 | 来源 |
+|---|---|---|---|---|---|---|
+| CFC-AP-001 | 取消预约接口未校验归属(越权取消) | 测评预约 | 高 | P0 | 待修复 | DEFECTS-assessment-appointment |
+| CFC-EN-001 | 能量发放接口 `/api/energy/grant` 返回 500「服务器内部错误」 | 能量系统 | 高 | P0 | 待修复 | DEFECTS-api-remote-findings |
+| CFC-AP-002 | 确认预约无状态守卫(非法回退 3→1) | 测评预约 | 中 | P1 | 待修复 | DEFECTS-assessment-appointment |
+| CFC-AP-004 | 创建预约无幂等(重复提交双预约+双能量) | 测评预约 | 中 | P1 | 待修复 | DEFECTS-assessment-appointment |
+| CFC-AP-008 | 额度不存在时创建预约抛未捕获异常(500) | 测评预约 | 中 | P1 | 待修复 | DEFECTS-assessment-appointment |
+| CFC-FM-001 | 家庭成员更新接口:昵称更新返回成功但未生效 | 家庭成员 | 中 | P1 | 待修复 | DEFECTS-api-remote-findings |
+| CFC-ENV-001 | 远程环境未托管前端 SPA,DOM 型 e2e 全面不可用 | 部署/测试基建 | 中 | P1 | 待修复 | DEFECTS-api-remote-findings |
+| CFC-AP-003 | 已完/未到状态无入口,状态机不完整 | 测评预约 | 中 | P2 | 待澄清 | DEFECTS-assessment-appointment |
+| CFC-AP-007 | 额度扣减非原子(并发超售风险) | 测评预约 | 低 | P2 | 待修复 | DEFECTS-assessment-appointment |
+| CFC-ENV-002 | 家庭成员新增接口冷启动首调耗时约 16s | 家庭成员/性能 | 低 | P2 | 待修复 | DEFECTS-api-remote-findings |
+| CFC-AP-005 | assessor-list 无 role 校验(与 guide-list 不一致) | 测评预约 | 低 | P3 | 待修复 | DEFECTS-assessment-appointment |
+| CFC-AP-006 | 预约日期/时间无格式与合理性校验 | 测评预约 | 低 | P3 | 待修复 | DEFECTS-assessment-appointment |
+
+---
+
+## 三、分布统计
+
+### 按严重度
+
+| 严重度 | 数量 | 编号 |
+|---|---|---|
+| 高 | 2 | CFC-AP-001、CFC-EN-001 |
+| 中 | 6 | CFC-AP-002、CFC-AP-003、CFC-AP-004、CFC-AP-008、CFC-FM-001、CFC-ENV-001 |
+| 低 | 4 | CFC-AP-005、CFC-AP-006、CFC-AP-007、CFC-ENV-002 |
+
+### 按优先级
+
+| 优先级 | 数量 | 编号 |
+|---|---|---|
+| P0 | 2 | CFC-AP-001、CFC-EN-001 |
+| P1 | 5 | CFC-AP-002、CFC-AP-004、CFC-AP-008、CFC-FM-001、CFC-ENV-001 |
+| P2 | 3 | CFC-AP-003、CFC-AP-007、CFC-ENV-002 |
+| P3 | 2 | CFC-AP-005、CFC-AP-006 |
+
+### 按状态
+
+| 状态 | 数量 | 编号 |
+|---|---|---|
+| 待修复 | 11 | 除 CFC-AP-003 外全部 |
+| 待澄清 | 1 | CFC-AP-003(需研发确认「已完成/未到」真实入口) |
+
+---
+
+## 四、缺陷明细索引
+
+### A. 测评预约模块(代码级 + live 验证)— `tests/defects/DEFECTS-assessment-appointment.md`
+- CFC-AP-001 越权取消(P0/高)
+- CFC-AP-002 确认无状态守卫(P1/中)
+- CFC-AP-003 状态机不完整(P2/中,待澄清)
+- CFC-AP-004 创建无幂等(P1/中)
+- CFC-AP-005 assessor-list 无 role 校验(P3/低)
+- CFC-AP-006 日期无校验(P3/低)
+- CFC-AP-007 额度扣减非原子(P2/低)
+- CFC-AP-008 额度不存在抛 500(P1/中,live 验证)
+
+### B. API 级 e2e 远程实测 — `tests/defects/DEFECTS-api-remote-findings.md`
+- CFC-EN-001 能量发放接口 500(P0/高,阻塞 energy-api 2 条用例)
+- CFC-FM-001 家庭成员昵称更新未生效(P1/中,阻塞 family-member-api 1 条用例)
+- CFC-ENV-001 远程未托管前端 SPA(P1/中,环境配置)
+- CFC-ENV-002 member/add 冷启动 16s(P2/低,性能)
+
+---
+
+## 五、状态与后续
+
+- **P0 必须优先修复**:CFC-AP-001(越权取消,安全)、CFC-EN-001(能量发放链路 500,核心玩法不可用)。
+- **修复闭环方式**:各缺陷均附「缺陷五要素 + 修复建议 + 验证用例」,修复后由对应 `e2e/api/*.spec.js` 或 `assessment-appointment-functional.spec.js` 复测;被阻塞用例移除 `test.fixme()` 并删除配套特征化用例即为闭环。
+- **待澄清项**:CFC-AP-003 需研发确认「已完成(2)/未到(4)」的真实业务入口(疑由 `DanAssessmentExecution` / `AssessmentResult` 链路进入),确认后回填本表。
+- **环境项**:CFC-ENV-001 / CFC-ENV-002 为部署/基建问题,不纳入业务缺陷闭环,但影响远程回归策略(已改用 API 级 e2e 为主)。
+- 本记录随缺陷修复进度更新;修复一条即从「待修复」改为「已闭环」并标注复测用例与日期。
+
+---
+
+> 本记录为只读测试资产,修复由研发团队实施。底稿与五要素明细以第四节索引的两份明细单为准。