A2-A4-A9 完善报销码值与查重回归
这个提交包含在:
@@ -0,0 +1,11 @@
|
||||
ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
|
||||
A1,全业务流程矩阵,"梳理认证、审批、报销、票据、HR、项目、采购、资产、系统治理等业务流程,建立流程-角色-页面-接口-测试映射。","形成可执行矩阵;每个业务域至少有主流程、异常流程、权限流程;标明 partial/gap。","业务流程:全业务流程审计;步骤:读取 docs/feature-matrix.md、docs/trialrun/coverage-matrix.csv、client/src/router、server/src/routes、client/tests/e2e,输出流程覆盖矩阵并人工审阅。","manual|node",TODO,TODO,TODO,"docs|client/src/router|server/src/routes|client/tests/e2e","[]","仅新增测试规划资产,不改业务逻辑。"
|
||||
A2,PC报销详情码值清理,"修复普通用户报销详情中暴露 draft、bound、business_client_meal 等原始码值的问题。","PC 报销详情只显示中文业务文案;不再显示状态码和费用类型 code;移动端不回归。","业务流程:员工打开 PC 报销详情;步骤:Playwright 打开 PC 报销详情,断言不出现 draft、bound、business_client_meal,并截图复核。","typescript|playwright",DONE,DONE,DONE,"client/src/pages/ReimbursementDetailPage.tsx|client/tests/e2e","[]","已修复 PC 报销详情状态、发票状态和费用类型展示;不改后端状态语义。"
|
||||
A3,已知问题断言防回归,"把移动 PC 化、PDF capture、内部术语、原始码值泄露等已知问题固化为静态和 Playwright 断言。","测试可拦截 draft/bound/business_client_meal、绑定整单、发票池、OCR、PDF capture、移动表格等已知问题。","业务流程:报销详情、发票上传、移动票据、企业微信移动入口;步骤:node scripts/qa/check-ui-design-rules.mjs --strict;node scripts/qa/check-mobile-route-contract.mjs;R111/R125 Playwright。","node|playwright",DONE,DONE,DONE,"scripts/qa|client/tests/e2e","[""A2""]","已把 PC 报销详情原始码值展示加入静态和 Playwright 防回归;全项目视觉巡检另见 A6。"
|
||||
A4,本地数据库漂移处置方案,"处理本地开发库迁移漂移导致真实 HTTP 回归无法执行的问题。","明确当前漂移原因;提供非破坏性修复路径;恢复 regression-dedup.sh 或等价真实 HTTP 回归。","业务流程:发票上传查重真实 HTTP 回归;步骤:npx prisma migrate status;运行 bash scripts/qa/run-isolated-regression-dedup.sh;不得未确认执行 migrate reset。","prisma|bash|manual",DONE,DONE,DONE,"server/prisma|scripts/qa|server/scripts","[]","新增隔离临时 QA 库回归路径并修复 regression-dedup 测试数据准备;当前本地开发库漂移不做破坏性处理。"
|
||||
A5,测试覆盖索引与缺口扫描,"自动扫描路由、页面、后端路由、E2E 文件,输出覆盖缺口。","列出每个页面是否有 PC/mobile/WeCom/flow/visual 覆盖;缺口可排序。","业务流程:测试治理;步骤:node scripts/qa/check-flow-coverage.mjs --json;检查输出包含所有 router 页面。","node",TODO,TODO,TODO,"scripts/qa|client/src/router|client/tests/e2e","[""A1""]","新增脚本只读扫描。"
|
||||
A6,全页面视觉巡检,"构建 Playwright 全页面视觉检查,覆盖 PC、mobile、WeCom UA。","无横向溢出;移动无桌面表格;无 5xx/console error;无原始码值/内部术语;截图归档。","业务流程:PC 与企业微信移动端全页面巡检;步骤:E2E_BASE_URL=<local> npx playwright test tests/e2e/project-wide-visual.spec.ts --workers=1。","playwright",TODO,TODO,TODO,"client/tests/e2e|output/playwright|artifacts/qa-flow","[""A1"",""A5""]","先用 mock/seed 数据,live 单独处理。"
|
||||
A7,核心业务流程E2E套件,"按业务域补齐 happy path、异常、权限与状态机测试。","认证、请假、报销、票据、周报、通知、HR、项目、采购、资产、系统治理均有最小闭环。","业务流程:全业务核心 E2E;步骤:scripts/qa/run-business-flow-gates.sh local;失败产物自动收集。","playwright|bash",TODO,TODO,TODO,"client/tests/e2e|scripts/qa|server/scripts","[""A1"",""A5""]","优先复用现有 E2E。"
|
||||
A8,真实OCR与公网live smoke,"补齐腾讯 OCR、公网登录、真实企业微信链路的 live smoke。","LIVE_SMOKE_* 配置后可跑公网只读/关键写路径;真实 OCR 样本输出识别耗时和状态变化;缺配置时明确 skipped。","业务流程:公网登录、企业微信入口、真实发票上传与 OCR;步骤:E2E_MODE=live LIVE_SMOKE_* npx playwright test live-smoke/manual live OCR specs。","playwright|curl|manual",TODO,TODO,TODO,"client/tests/e2e/manual|deploy/trialrun|scripts/qa","[""A6"",""A7""]","需要测试账号、腾讯 OCR 环境、测试发票样本。"
|
||||
A9,真机公网测试流程,"建立真机访问公网服务的测试清单、证据采集和回归报告模板。","覆盖 iOS/Android 企业微信、手机浏览器、拍照上传、PDF 选择、OCR 状态、移动报销/票据/审批/我的入口。","业务流程:真机访问公网服务验收;步骤:真机访问 https://oa.hyinda.com;按 checklist 截图/录屏;记录设备、系统、企业微信版本、账号、时间;node scripts/qa/create-real-device-report.mjs 可生成报告模板。","manual|playwright",DONE,DONE,DONE,"docs/trialrun/real-device-public-checklist.md|scripts/qa/create-real-device-report.mjs|docs/trialrun-runbook.md","[]","已建立真机公网测试清单和报告模板;真实 OCR/live smoke 配置与执行另见 A8。"
|
||||
A10,发布门禁整合,"整合 static、unit、business-flow、visual、live smoke 到统一 release gate。","一个命令可跑完整门禁;失败输出阶段、截图、trace、报告路径。","业务流程:发布前验证;步骤:bash scripts/qa/run-release-gate.sh project-wide。","bash|npm|playwright",TODO,TODO,TODO,"scripts/qa/run-release-gate.sh|scripts/qa/run-web-gates.sh","[""A3"",""A6"",""A7"",""A8""]","不改变现有 gate 默认行为,新增 project-wide 模式。"
|
||||
|
在新工单中引用
屏蔽一个用户