QAOPS8 收敛测试门禁台账
这个提交包含在:
+15
-3
@@ -87,11 +87,23 @@ R7E 前和后续非微小改动至少从以下组合中按风险选择;进入
|
||||
|
||||
门禁分为三类:本地门禁证明代码和 mock/隔离库可用;公网匿名门禁证明部署入口和前端资源可用;带凭据门禁证明真实账号、live smoke 和真实 OCR 可用。三类不得混用,缺哪一类就写清缺口。
|
||||
|
||||
QAOPS8 之后,当前门禁台账按四类读取:
|
||||
|
||||
| 门禁类别 | 当前用途 | 当前状态口径 |
|
||||
| --- | --- | --- |
|
||||
| 本地门禁 | 代码、mock、隔离库、构建和 Playwright 基线 | 可由自动化证明,但不代表公网或真机通过 |
|
||||
| 公网匿名 | `/ready`、public bundle、匿名页面和公网移动矩阵 | 证明部署入口和前端资源可用,不读取凭据 |
|
||||
| 带凭据 | live smoke、真实 OCR、角色账号和受保护接口 | 缺凭据、样票或授权时只能记录 `SKIP` |
|
||||
| 企业微信真机 | 入口、绑定、免登、deeplink、WebView 和代表设备体验 | 必须有人工或代表设备证据,自动化 UA 不能替代 |
|
||||
|
||||
### 5.2 历史专项分类
|
||||
|
||||
- R108/R109 移动视觉专项目前归为历史证据和待修测试初始化,不是当前 R7E 硬门禁;若初始化 API 不可用,只能记录 `SKIP`,不得写成视觉通过。
|
||||
- 旧 R6/MUD6/WCM6 专项仍作为当前移动基础回归,MIF7/MIF7T 后需继续保持可运行。
|
||||
- 任一历史专项若重新进入当前门禁,必须先更新对应 Issue CSV 的 `Test_Method` 和验收口径。
|
||||
| 专项 | 当前归类 | 处理规则 |
|
||||
| --- | --- | --- |
|
||||
| R108/R109 移动视觉专项 | 历史证据和待修测试初始化 | 不是当前 R7E 硬门禁;初始化 API 不可用时只能记录 `SKIP`,不得写成视觉通过 |
|
||||
| R6/MUD6/WCM6 移动专项 | 当前移动基础回归 | MIF7/MIF7T 后仍需保持可运行,用于防止基础移动体验回退 |
|
||||
| MIF7/MIF7T 移动整改专项 | 已收口证据和当前矩阵参考 | 作为新移动变更的回归参考,不能替代新增真机验收 |
|
||||
| 其他历史专项 | 历史证据 | 重新进入当前门禁前,必须先更新对应 Issue CSV 的 `Test_Method` 和验收口径 |
|
||||
|
||||
## 6. SKIP 规则
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
|
||||
QAOPS8-0,QAOPS8 连续合同建档,"建立 QAOPS8 测试发布运维连续型合同,把测试覆盖、发布门禁、备份恢复、SLO 和上线准备放入同一 CSV。","1) 本 CSV 校验通过;2) 不改业务代码;3) 不启动部署或真实试运行;4) 后续任务不拆散到一次性 CSV;5) R7E 人工确认闸门不被绕过。","流程级验证:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv;人工核对仅 QAOPS8-0 为 DONE。",python3|manual,DONE,DONE,DONE,issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv,[],参考 DORA 指标、Google SRE SLO、Azure safe deployment、GB/T 8566-2022 和 GB/T 22239-2019;本合同只建立工程治理任务,不声明标准合规。
|
||||
QAOPS8-1,当前测试门禁台账,"盘点当前测试规约、试运行手册、脚本和历史证据,形成 QAOPS8 的当前门禁台账。","1) 列出本地、公网匿名、带凭据、企业微信真机四类门禁;2) 明确哪些是当前硬门禁;3) 明确哪些是历史证据;4) 不把 SKIP 解释为 PASS。","流程级验证:rg -n '最小回归|公网匿名|带凭据|真机|SKIP|门禁' docs/测试规约与回归门禁.md docs/试运行与自动化验证手册.md docs/trialrun/人工试运行报告.md。",rg|manual,TODO,TODO,TODO,docs/测试规约与回归门禁.md|docs/试运行与自动化验证手册.md|docs/trialrun/人工试运行报告.md,"[""QAOPS8-0""]",承接 QAF8 当前最小回归组合;只做台账和口径收敛。
|
||||
QAOPS8-2,历史 E2E 专项归类,"把历史 E2E、移动视觉、R108/R109、R6/MUD6/WCM6、MIF7/MIF7T 等专项归类为当前门禁、历史证据或待修测试初始化。","1) 每类专项有当前状态;2) 历史专项不直接派工;3) 待修专项有后续归属;4) 当前门禁仍能被复现。","流程级验证:rg -n 'R108|R109|MUD6|WCM6|MIF7|MIF7T|历史证据|当前门禁' docs/测试规约与回归门禁.md docs/trialrun/人工试运行报告.md issues/*.csv。",rg,TODO,TODO,TODO,docs/测试规约与回归门禁.md|docs/trialrun/人工试运行报告.md|issues/*.csv,"[""QAOPS8-1""]",不批量回写旧 Issue;新状态只写在当前合同和事实源。
|
||||
QAOPS8-1,当前测试门禁台账,"盘点当前测试规约、试运行手册、脚本和历史证据,形成 QAOPS8 的当前门禁台账。","1) 列出本地、公网匿名、带凭据、企业微信真机四类门禁;2) 明确哪些是当前硬门禁;3) 明确哪些是历史证据;4) 不把 SKIP 解释为 PASS。","流程级验证:rg -n '最小回归|公网匿名|带凭据|真机|SKIP|门禁' docs/测试规约与回归门禁.md docs/试运行与自动化验证手册.md docs/trialrun/人工试运行报告.md。",rg|manual,DONE,DONE,DONE,docs/测试规约与回归门禁.md|docs/试运行与自动化验证手册.md|docs/trialrun/人工试运行报告.md,"[""QAOPS8-0""]",rg 复核通过;docs/测试规约与回归门禁.md 已明确本地、公网匿名、带凭据、企业微信真机四类门禁;SKIP 不等于 PASS。
|
||||
QAOPS8-2,历史 E2E 专项归类,"把历史 E2E、移动视觉、R108/R109、R6/MUD6/WCM6、MIF7/MIF7T 等专项归类为当前门禁、历史证据或待修测试初始化。","1) 每类专项有当前状态;2) 历史专项不直接派工;3) 待修专项有后续归属;4) 当前门禁仍能被复现。","流程级验证:rg -n 'R108|R109|MUD6|WCM6|MIF7|MIF7T|历史证据|当前门禁' docs/测试规约与回归门禁.md docs/trialrun/人工试运行报告.md issues/*.csv。",rg,DONE,DONE,DONE,docs/测试规约与回归门禁.md|docs/trialrun/人工试运行报告.md|issues/*.csv,"[""QAOPS8-1""]",rg 复核通过;R108/R109 归为历史证据和待修测试初始化;R6/MUD6/WCM6 作为当前移动基础回归;MIF7/MIF7T 作为已收口证据。
|
||||
QAOPS8-3,业务流分段稳定化,"稳定核心业务流分段执行策略,降低长组合回归在工具会话中的不稳定性。","1) reimbursement、approval、leave、procurement、governance 分组清楚;2) 分段 PASS 可作为组合证据;3) 失败时能定位到分组;4) 不降低业务流程验收口径。","流程级验证:BUSINESS_FLOW_GROUPS=reimbursement,approval,leave,procurement,governance bash scripts/qa/run-business-flow-gates.sh local;若环境不满足则记录 SKIP 条件和分段命令。",bash|manual,TODO,TODO,TODO,scripts/qa/run-business-flow-gates.sh|artifacts/qa-flow,"[""QAOPS8-1""]",可先只读检查脚本参数;真正执行时不得破坏生产数据。
|
||||
QAOPS8-4,Playwright 初始化稳定化,"复核 Playwright 初始化、登录态、seed 数据和测试隔离,减少视觉和流程 E2E 假失败。","1) 初始化失败可分类为代码、测试桩、环境或数据问题;2) 不用重试掩盖缺陷;3) 截图和 trace 路径稳定;4) 移动矩阵能按视口复跑。","流程级验证:cd client && npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts --workers=1 --reporter=list;无法执行时记录前置条件。",playwright|manual,TODO,TODO,TODO,client/tests/e2e|output/playwright,"[""QAOPS8-2""]",涉及测试夹具修改前必须先给方案。
|
||||
QAOPS8-5,公网匿名门禁脚本复核,"复核公网匿名健康、public bundle 和匿名页面门禁脚本,避免把本地通过误认为公网可用。","1) /ready 与 public bundle 分开记录;2) 匿名检查不依赖凭据;3) 失败不进入试运行;4) 结果写入报告或证据路径。","流程级验证:curl -fsS https://oa.hyinda.com/ready;PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs。",curl|node,TODO,TODO,TODO,scripts/qa/check-public-bundle-copy.mjs|docs/trialrun/人工试运行报告.md,"[""QAOPS8-1""]",只做匿名检查;不得读取或输出敏感凭据。
|
||||
|
||||
|
在新工单中引用
屏蔽一个用户