Appearance
金融风控系统测试验证
合成数据准备
2026-10-13用户授权后,研发已在10张已发布表准备22条可追踪的合成记录,批次QA_20261013_A。逐条回读、完整重复执行和后台计数验证通过;测试人员可从运行页开展非空筛选、关联展示和看板对账。场景、真实ID台账、日期差异、人工状态与清理边界见测试数据最佳实践。数据准备不是业务验收;本轮没有新增浏览器验证或审批、交易执行结果。
测试基线与状态
本手册供金融风控系统 Codex + Informat 案例中的独立测试角色使用。需求依据为 projects/financial-risk/implementation.md 与用户提供的《金融风控管理系统-功能清单.xlsx》,已用 openpyxl 只读核对四个工作表,未修改 Excel。
尚未执行业务测试
下文 T01—T28 是完整业务入口用例,仍为“未执行”,实际结果与证据待填写。草稿已建设,另有12个合成快照计算场景在平台设计器直调通过,详见创建实录。该计算验证未创建真实记录、未发起审批、不替代全业务测试或发布后验收。
本手册按 informat-designer 的生命周期交付和 informat 的平台契约组织;当前交付为测试计划,不构成功能验收或上线批准。
角色与阶段门禁
| 角色 | 责任与交付 |
|---|---|
| 研发角色 | 交付可测试版本、真实应用/表/字段/流程 ID、配置回读、入口、角色矩阵、计算口径、变更及回退说明;类与函数注释完整,service 不写 SQL,关键日志可追踪;SQL 初始化可重复执行 |
| 测试角色 | 独立准备样本与预期,以实际非管理员身份执行允许及拒绝路径,记录结果、对账和缺陷;不以研发自测替代验收 |
| 业务负责人 | 确认阈值、账户、汇率、成本与审批语义,决定 OA 批次和验收范围;任何不兼容改动由用户手工确认 |
执行前须取得授权的隔离测试环境、可测试版本和测试身份。先验证模型与关联,再做功能联调、权限、对账和回归;UAT、上线及移交各自记录版本与证据,不合并为一个“完成”状态。 调用平台前只检查凭证是否设置且不输出内容;按方法读取实际 schema,使用真实 ID,区分设计器草稿与已发布运行态。结构写入须串行并回读;执行状态以创建实录和每轮测试报告为准。 评级权重与分段、止损公式、账户粒度、总资产分母、汇率来源/时点、成本及收益算法、审批人员映射尚待确认。依赖这些口径的用例保持未执行,执行时若仍缺失则记为阻塞。
浏览器测试执行方式
用户指定测试工程师使用 ego-browser,从 https://uat2.informat.cn/app/sokxosrao8s5v 进入真实应用。先确认当前登录身份、应用运行版本和可见模块,再执行实际表单、关联选择、列表筛选、看板与操作入口。
首轮浏览器测试早于研发发布,流程不正确。用户纠正后,研发已发布 UAT 测试基线(版本 1.0、构建号 2),测试工程师只在运行页测试,不需要设计器权限,也不负责发布。结果见浏览器测试实录;完整业务用例是否通过以实际证据为准。
每个测试目标使用一个 TaskSpace,并跨命令复用同一空间与页面。普通页面优先按 snapshot 中的语义和 ref 操作,截图保存可见结果;不伪造角色身份,不读取或保存浏览器认证令牌。
js
// 后续命令复用首次创建的空间和页面,不通过新建空间绕过异常。
const task = await taskSpace(69);
const page = task.page('p1');
console.log(await page.snapshot());浏览器测试与设计器脚本直调分别记录。运行态没有模块时,先核对发布状态;设计器能看到草稿不等于用户运行态可用。当前身份只有管理员时,普通成员越权场景保持未验证。新增合成数据使用明确 QA 前缀,不执行真实金融交易、真实审批或通知,也不删除已有数据。
需求与用例映射
| 需求 ID | Excel 来源 | 用例 |
|---|---|---|
| FR-01 | 功能清单 6;入池单 | T01—T02 |
| FR-02 | 功能清单 7—8 | T03—T04、T09 |
| FR-03 | 功能清单 9 | T05 |
| FR-04 | 功能清单 10—12 | T10—T14 |
| FR-05 | 功能清单 13—17 | T06—T08、T15—T16 |
| FR-06 | 下单风控审核表 | T06—T09、T17 |
| FR-07 | 功能清单 18—20;看板页面 | T18—T20 |
| FR-08 | 功能清单 21—22 | T21—T22 |
| OA-01 / OA-02 | 功能清单 23 / 24—27 | T23 / T24—T25;OA 批次待确认 |
| SEC-01 | 功能清单 28 | T26—T28,贯穿各业务入口 |
边界样本与预期结果
以下金额默认 USD、精度 0.01;这是测试数据约定,须先与实现精度核对。额度比较使用“下单后存量”作为待确认测试口径,不能只比较本次下单金额。每行多组输入分别执行并单独取证;所有行均未执行。
| ID | 输入、动作及前提 | 预期结果 |
|---|---|---|
| T01 | 产品代码 000001;名称为空;币种为空;内部等级分别为 R1、R5、R0、R6 | 代码保留前导零;关键动作拒绝缺失业务数据和非法等级,合法端点可提交;接口/导入不能绕过校验 |
| T02 | 固收填写收益率;股票填写成交量/市值;切换品种;新建与已保存详情分别查看 | 按品种展示指标,关键校验采用当前品种;新建不出现未产生的审批结果,历史详情保留审批依据 |
| T03 | 同一产品连续及并发提交两次入池;同代码不同市场/币种另建样本 | 已在池或待审申请被识别,不重复入池/发起审批;跨市场/币种按已确认唯一范围处理,不能默认代码全局唯一 |
| T04 | 国债 R1、短期债券基金 R1 自动入池;普通债券基金走审批;已有产品资料更新后驳回 | 自动入池仅在确认规则下生效;需审批产品批准前不入池;驳回更新不覆盖原有效资料和审批快照 |
| T05 | 评级缺失;有效期截止为 10:00,分别在 09:59:59、10:00:00、10:00:01 下单;权重缺失运行评级 | 缺失/失效不得自动放行;等于截止时刻按确认的包含边界判定;无权重不生成臆造评级,旧记录保留 |
| T06 | 单标的上限分别为 5,000,000、3,000,000、500,000;下单后存量为上限−0.01、上限、上限+0.01 | 对原文 <=,前两组不因超额命中,后一组命中例外路径;分别覆盖公司债/证券化/指定票据、债券基金、高分散高收益基金、股票/ETF、指定虚拟货币 |
| T07 | 总资产 10,000,000,同银行两笔存款合计 499,999.99、500,000、500,000.01;另一银行单独建样本;分母为 0/缺失 | 同银行聚合后比较 5%,等于不超、超过触发;不混算另一银行;无有效分母不得按 0% 自动放行 |
| T08 | 指定衍生品保证金 499,999.99、500,000、500,000.01;其他非期权卖方为 99,999.99、100,000、100,000.01;名义金额另设 2,000,000 | 分别按 50 万/10 万保证金上限判定,不将名义金额当保证金;期权卖方不套用排除它的规则 |
| T09 | 标注“0 万美元,单独请示”的产品申请 0.01;金额 0/负数;例外批准后再次超过批准额度或超过有效期 | 正金额进入单独请示,不把 0 当不限额;0/负数订单拒绝;批准额度与期限缺失时不可据一次批准永久放行 |
| T10 | A 账户买入 100×10,费用 0,再卖出 40×12;B 账户同产品买入 20×10 | A 数量 60、B 数量 20,不串户;若确认采用移动平均成本,A 剩余成本 600、已实现收益 80;审批通过本身不产生交易 |
| T11 | 同来源交易编号导入两次;并发重放;同编号金额由 1,000 改为 1,100;同编号不同账户/来源 | 重放只入账一次;同键异内容报告冲突且不静默覆盖;跨账户/来源按确认去重键判断,留批次及行级结果 |
| T12 | T10 买入数量由 100 更正为 120,再撤销该买入;更正请求重试一次 | 更正后 A 数量 80,只生效一次,原始版本可追溯;撤销导致已有卖出失去持仓依据时拒绝或进入确认的修复流程,不静默产生负持仓 |
| T13 | A 可卖 60,分别卖 59、60、61;两个并发卖单各 40;B 可卖 20 | 合法卖出后数量 1/0;61 拒绝;并发不能合计卖 80;不可借 B 持仓放行,失败不扣现金或持仓 |
| T14 | 日买入上限 100,000,累计 99,999.99、100,000、100,000.01;日卖出同组;23:59:59 与次日 00:00:00 | <= 等于不超、超过命中;按确认时区和交易有效状态统计,跨日正确重置;撤销/更正按同一口径重算 |
| T15 | 规则未启用、未来生效、已过期;阈值缺失;有效规则重复扫描同一命中三次 | 失效规则不发起新事件,已有事件保留;缺失阈值报配置错误;同一未处理命中不重复事件/审批/提醒;重开条件待确认 |
| T16 | 风控事件提交方案,无结果/附件;复核驳回后补齐;关闭请求重放;通知发送失败 | 按确认阶段要求校验,复核通过才关闭;方案、结果及责任人可追溯;重放不重复关闭,通知失败可重试且不丢审批状态 |
| T17 | 阈值命中后总经理审批、家族办公室终审;拒绝/退回;越级直达终审;审批期间修改金额/规则 | 按确认路径流转,拒绝/退回不视为批准;禁止跳过节点;保留提交快照,修改需重新校验/审批,不能沿用旧批准放行新金额 |
| T18 | CNY 账户持有 700,000 CNY,测试汇率 1 USD=7 CNY;再下单 400,000 USD 与 400,000.01 USD,上限 500,000 USD | 折算后分别等于和超过上限;汇率与时点取证。汇率缺失/过期不能按 1:1 或零估值,多币种未确认前分币展示 |
| T19 | A 初始现金 2,000,执行 T10,再按市价 12 估值;B 独立统计;增加行情缺失样本 | 无费用样本 A 现金 1,480、市值 720、总资产 2,200;移动平均口径下未实现收益 120;无行情标为不可估值,不归零 |
| T20 | 按产品/负责人/类型汇总 T10、T19;风险待处理/关闭各一件;改变看板筛选及数据时点 | 明细与总数、类型占比、现金、盈亏、额度占用可逐项对账;分母/负责人归属待确认;不同数据时点明确标注 |
| T21 | 外部同步超时、返回 401、缺少币种、三行中一行非法;入账后响应丢失再重试;两个同步任务重叠 | 记录批次/行级错误,401 不无限重试;按确认的整批或逐行事务策略恢复,重试不重复入账,游标不跳过失败数据 |
| T22 | 测试止损线设 −10%,输入 −9.99%、−10%、−10.01%;缺失价格;处置中断后重试 | 仅在业务确认公式、比较符及样本后执行;等于是否触发依比较符,不能自行认定;缺价不伪造预警值,恢复不重复事件 |
| T23 | 成员转部门、停用、撤销角色;旧登录会话再次访问待办与账户 | 按实际组织及权限生效契约验证,停用/撤权后不可继续越权;历史经办人仍可追溯,管理员结果不能替代成员结果 |
| T24 | 请假结束早于开始、跨日;招聘重复投档/面试状态跳转;入职合同缺失、人事外身份访问材料 | 非法日期/状态拒绝,重复按确认业务键识别;统计可对账;入职阶段资料按约定校验,敏感材料仅授权身份可读 |
| T25 | 报销 0、−0.01、100.01;同单重复提交;财务驳回再提交;普通员工读取他人报销 | 非正金额拒绝,合法单只产生一次流程;仅批准有效单计入对应统计;驳回/重提保留历史,越权读取拒绝 |
| T26 | 交易员读写 A、访问 B;研究员修改计算持仓;风控维护规则;审批人处理非本人节点 | 每个身份分别验证授权成功与越权拒绝;持仓计算字段不由普通用户改写;规则维护与审批职责按确认矩阵分离 |
| T27 | 以同一受限身份从菜单、直接 URL、API、导入、脚本/自动化入口读取或修改 B 账户及 OA 敏感附件 | 各入口均执行真实记录/字段/操作权限,隐藏菜单或表单不可视不作为权限证据;响应及导出不泄露受限字段 |
| T28 | 隐藏必填字段后提交;保存子列表后取消主表;审批自动化在客户端交互前写入、恢复后失败 | 服务端关键校验仍拒绝不完整数据;核对实际暂存边界;交互前已提交数据不假定整体回滚,按确认补偿策略恢复并对账 |
对账与证据
测试取数必须固定账户、产品、币种、业务日期、有效交易版本、行情/汇率时点、规则版本及过滤条件。用独立明细复算数量、成本、现金、市值、盈亏、额度,再与持仓、看板、审批快照对照;金额使用十进制定点口径,舍入层级与容差先确认,不能用浮点近似判定资金对账通过。 保留原币合计及折算合计;没有汇率不得跨币直接求和。缺价、重复、撤销、更正、失败行分别标记,不把缺失数据按零处理。差异需记录来源行和原因,不能仅留看板截图。
| 证据字段 | 记录要求 |
|---|---|
| 追踪与版本 | 用例 ID、需求 ID、执行人/时间、环境、appId、发布版本或草稿状态、脚本版本、规则版本、真实表/字段 ID |
| 输入与预期 | 脱敏样本、前置状态、账户/产品、交易去重键、汇率/行情时点、审批快照、独立预期计算及口径确认来源 |
| 运行与结果 | 实际结果、前后记录、批次/行号、事件/流程/任务 ID、关联 requestId 或执行 ID、关键日志、页面/API 证据位置 |
| 判定与差异 | 未执行/阻塞/通过/失败、不适用理由、金额/数量差异、缺陷 ID、复测版本与证据;不记录 Token、Cookie 或完整敏感材料 |
缺陷回归与验收
缺陷记录关联需求与用例,写清前提、复现步骤、预期/实际、影响账户/资金/权限、版本、证据、负责人和状态。资金错账、越权、超限放行、重复入账及审批绕过列为上线阻塞;具体严重程度由项目确认。 修复后先重跑原失败输入,再回归阈值以下/等于/超过、重复/并发、更正/撤销、受影响账户与角色、恢复重试及看板对账。涉及结构/流程不兼容变更须先取得用户手工确认,再验证历史记录和回退边界。 验收前要求范围内用例有真实证据、阻塞缺陷关闭、关键对账一致;未执行与阻塞项列明责任人及后续入口。OA 未确认同批时保留用例为未执行,不擅自记为不适用。应用自检无问题只说明配置检查结果,不替代业务、权限和发布后冒烟。 当前结论:需求与测试手册已编制,模型及服务接受独立静态审查,Node 12项回归和平台12个计算场景通过;T01—T28完整业务入口用例尚未执行,无整体通过率、项目验收通过或上线结论。

