文件
hyb-oa/issues/2026-05-16_00-19-20-qaops9-release-hardening.csv
T

8 行
6.1 KiB
CSV

ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
"QAOPS9-0","QAOPS9 连续合同建档","建立 R7E 后上线硬化连续合同,承接 QAOPS8 收口后的公网业务流测试数据、live smoke 账号链路、恢复演练窗口和 SLO/Go-No-Go 自动化增强;本合同只规划和硬化,不改业务需求。","1) CSV 校验通过;2) 文档索引和事实源矩阵登记 QAOPS9;3) 不修改 server/src 或 client/src 业务代码;4) 不部署、不执行生产恢复、不重置数据库、不打印远端 env。","流程级验证:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-16_00-19-20-qaops9-release-hardening.csv;node scripts/qa/audit-docs.mjs --check-registry;git diff --check;人工核对 git diff 仅包含 issues/docs。","python3|node|git|manual","DONE","DONE","DONE","issues/2026-05-16_00-19-20-qaops9-release-hardening.csv|docs/文档索引.md|docs/文档事实源状态矩阵.md|docs/trialrun/人工试运行报告.md","[]","2026-05-16 建档;承接 QAOPS8-19/20 和 FBA 建议;回滚路径为删除本 CSV 与本轮索引登记;不影响运行环境。"
"QAOPS9-1","公网业务流测试数据稳定化","把 R7E 暴露的本地旧种子账号和公网真实 smoke 账号链路差异收敛为可复跑测试数据方案,覆盖报销、审批、请假、采购、财务只读确认和权限边界。","1) 明确公网业务流推荐账号链路;2) 旧本地种子失败项不误判为产品失败;3) 测试数据准备步骤可复现;4) 失败时能区分账号、权限、数据和产品缺陷。","受影响流程:员工提交报销、请假、采购后由审批人处理,财务只读查看已审批报销且 payment_batch_v1 仍关闭;验证步骤:在隔离或可控试运行数据集执行核心业务流脚本并核对 summary;缺凭据时记录 SKIP 而非 PASS。","bash|manual","TODO","TODO","TODO","scripts/qa/run-business-flow-gates.sh|artifacts/qa-flow|docs/trialrun/人工试运行报告.md","[""QAOPS9-0""]","不得重置生产数据库;不得用重试替代缺陷分析;如需写测试数据必须在隔离或批准的试运行窗口执行。"
"QAOPS9-2","live smoke 账号链路校准","校准 live smoke 账号、角色、直属主管、企业微信绑定和真实 OCR 样票前置,避免凭据缺失或账号链路漂移导致公网门禁不可解释。","1) live smoke 所需账号和角色矩阵清楚;2) 凭据缺失只记录 SKIP;3) 不打印 token、密码、cookie 或远端 env;4) 企业微信入口、deeplink 和真实 OCR 前置条件分离。","受影响流程:员工、审批人、财务和管理员通过公网入口完成登录、待办、通知 deeplink 和 OCR readiness 检查;验证步骤:LIVE_SMOKE_BASE_URL=https://oa.hyinda.com QA_ISSUE_ID=QAOPS9 bash scripts/qa/run-live-smoke-readiness.sh;缺正式凭据或授权样票时按脚本规则记录 SKIP。","bash|manual","TODO","TODO","TODO","scripts/qa/run-live-smoke-readiness.sh|scripts/qa/check-live-smoke-env.mjs|docs/trialrun/公网LiveSmoke准备清单.md","[""QAOPS9-0""]","只记录摘要和证据路径;不得泄露密钥或个人隐私;无授权图片样票时图片 OCR 不计 PASS。"
"QAOPS9-3","恢复演练窗口与 dry-run 设计","把 QAOPS8 的恢复演练准备推进为可执行 dry-run 方案,先限定非生产或隔离环境,明确窗口、责任人、备份核验、恢复验证和停止条件。","1) 恢复演练范围、窗口和负责人明确;2) 演练优先非生产或隔离环境;3) 生产只做只读预检或步骤复盘;4) 未获单独批准不得执行生产恢复或服务切换。","受影响流程:备份清单核对、隔离库恢复、/ready、登录和核心业务只读验证;验证步骤:人工核对 OPS7 Runbook 和 QAOPS9 dry-run checklist,若执行则在非生产环境记录命令摘要和验证截图路径。","manual|rg","TODO","TODO","TODO","docs/trialrun/OPS7运维交接Runbook.md|docs/ops/非功能基线.md|artifacts/qa-flow","[""QAOPS9-0""]","禁止生产恢复、重置数据库、覆盖远端 env 或破坏性命令;真实恢复必须另获批准并记录回滚责任人。"
"QAOPS9-4","SLO 与 Go-No-Go 自动化增强","增强上线或扩大试运行前的 SLO、错误预算和 Go/No-Go 自动化汇总,形成可复跑、可审计的门禁结果。","1) /ready、public bundle、live smoke、核心业务流和移动矩阵状态能汇总;2) Go、Pause、No-Go 条件清楚;3) SKIP 不被写成 PASS;4) 输出可关联 Issue 和证据路径。","受影响流程:上线前门禁汇总覆盖匿名健康、带凭据业务流、移动矩阵和人工真机结论;验证步骤:curl /ready、PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs、live readiness、移动矩阵和人工 Go/No-Go 清单交叉核对。","curl|node|bash|playwright|manual","TODO","TODO","TODO","scripts/qa|docs/ops/SLO错误预算.md|docs/trialrun/发布试运行准备清单.md","[""QAOPS9-1"",""QAOPS9-2""]","可改脚本或文档时需另列实现方案;本建档轮不新增自动化代码。"
"QAOPS9-5","证据归档与阶段收口","在 QAOPS9 执行完成后回填 CSV 状态、证据路径、文档索引和事实源矩阵,形成是否可进入 P2 功能决策或上线动作的结论。","1) QAOPS9 各行 DONE 均有 Test_Method 证据;2) 未完成项有 owner、阻断原因和下一步;3) 文档索引与事实源矩阵一致;4) 本轮是否部署和公网状态明确。","受影响流程:测试、发布和运维治理闭环;验证步骤:validate_issues_csv.py 本 CSV;node scripts/qa/audit-docs.mjs --check-registry;rg -n 'QAOPS9|Go-No-Go|live smoke|恢复演练|SLO' docs issues;git diff --check。","python3|node|rg|git|manual","TODO","TODO","TODO","issues/2026-05-16_00-19-20-qaops9-release-hardening.csv|docs/文档索引.md|docs/文档事实源状态矩阵.md|docs/trialrun/人工试运行报告.md","[""QAOPS9-1"",""QAOPS9-2"",""QAOPS9-3"",""QAOPS9-4""]","QAOPS9 完成前不得默认进入付款批次或图片 OCR 实现;如发现 P0/P1 阻断,优先收口硬化问题。"