diff --git a/issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv b/issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv index 150b31f9..c9545279 100644 --- a/issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv +++ b/issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv @@ -4,7 +4,7 @@ QAOPS8-1,当前测试门禁台账,"盘点当前测试规约、试运行手册、 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,DONE,DONE,DONE,scripts/qa/run-business-flow-gates.sh|artifacts/qa-flow,"[""QAOPS8-1""]","QA_ISSUE_ID=QAOPS8-3 QA_DB_PREFIX=hyb_oa_qaops8 BUSINESS_FLOW_GROUPS=reimbursement,approval,leave,procurement,governance bash scripts/qa/run-business-flow-gates.sh local 通过;报告 artifacts/qa-flow/business-flow-20260513-174606/summary.txt;五组 PASS。" 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,DONE,DONE,DONE,client/tests/e2e|output/playwright,"[""QAOPS8-2""]",E2E_BASE_URL=http://127.0.0.1:5173 npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts --workers=1 --reporter=list 通过;5 passed;Vite 临时服务已关闭。 -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""]",只做匿名检查;不得读取或输出敏感凭据。 +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,DONE,DONE,DONE,scripts/qa/check-public-bundle-copy.mjs|docs/trialrun/人工试运行报告.md,"[""QAOPS8-1""]",curl /ready 返回 ok=true;public bundle scanned=57 focused=4 findings=0;匿名检查未使用凭据。 QAOPS8-6,带凭据 live readiness 稳定化,"稳定带凭据 live smoke、真实 OCR 和角色账号检查的执行边界。","1) 带凭据门禁与匿名门禁分离;2) 缺凭据时标 SKIP;3) 不打印 token、密码或隐私;4) 真实 OCR 与 pending OCR 结论分开。","流程级验证:LIVE_SMOKE_BASE_URL=https://oa.hyinda.com QA_ISSUE_ID=QAOPS8 bash scripts/qa/run-live-smoke-readiness.sh;无凭据则记录 SKIP。",bash|manual,TODO,TODO,TODO,scripts/qa/run-live-smoke-readiness.sh|docs/trialrun/公网LiveSmoke准备清单.md,"[""QAOPS8-5""]",需要真实凭据时必须使用安全外部配置,不写入仓库。 QAOPS8-7,真实 OCR 测试策略,"定义真实 OCR 测试的数据授权、样票脱敏、provider 判定、pending OCR 和失败重试策略。","1) mock 与真实 provider 结论分离;2) 样票有授权或脱敏;3) pending OCR 可解释;4) 失败不阻塞无关流程但不得写 PASS。","流程级验证:node scripts/qa/check-live-smoke-env.mjs;node scripts/qa/check-pending-ocr.mjs --thresholds=2,5,10;缺环境时记录 SKIP。",node|manual,TODO,TODO,TODO,scripts/qa/check-live-smoke-env.mjs|scripts/qa/check-pending-ocr.mjs|docs/报销发票附件规则.md,"[""QAOPS8-6""]",真实票据测试必须先确认授权和脱敏。 QAOPS8-8,移动矩阵回归策略,"把移动浏览器和企业微信 WebView 视口矩阵固定为上线前可复跑策略。","1) 覆盖 320、360、375、390、393、414、430 关键宽度;2) 企业微信 UA 与真机确认分离;3) 截图路径明确;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|docs/trialrun/真机公网测试清单.md|output/playwright,"[""QAOPS8-4""]",自动化不能替代未来新增真机验收。