研发平台与企业微信对接完成后,正式验收需要一份可逐项判断的清单。本文按准备、连通、消息与事件、权限与安全、运行与回退五个阶段组织检查项,每项写明检查动作、通过标准、证据和负责人,并标出不可带病上线的阻断项。验收记录和遗留问题可在ONES的工作项与文档中承载,便于逐项留痕。
要点总览(TL;DR)
- 验收按准备、连通、消息与事件、权限与安全、运行与回退五个阶段推进,每项写明检查动作、通过标准、证据和负责人,验收不由集成开发单方确认。
- 准备阶段在管理后台核对自建应用、可见范围、企业标识与应用凭证、回调地址等配置,测试范围与生产范围分开,环境差异留书面记录。
- 连通阶段验证主动调用与回调两个方向,签名校验要跑正反用例,超时重试要有次数与间隔上限。
- 凭证缺失或错误、回调不可达、越权可见、消息大量重复或丢失、无回退方案属于阻断项,全部关闭且非阻断项已登记限期整改,才可签署验收。
- 验收记录与遗留问题可在ONES的工作项与文档中承载,检查项拆成工作项指派负责人,遗留问题转为缺陷或任务跟踪到关闭。
谁在什么时点使用这份验收清单
这份清单用于联调完成后的正式验收,以及上线后观察期结束时的复核。它面向五类角色:集成开发负责接口与回调的技术验证,研发平台管理员负责平台侧配置与工作项流转,企业微信应用管理员负责应用创建、可见范围与凭证下发,安全或运维负责人负责权限、凭证与网络条件,业务验收人负责确认通知内容与业务场景符合预期。验收不应由集成开发单方确认,每个阶段至少有一名非开发角色参与确认。
各角色的确认职责按阶段划分:准备阶段由企业微信应用管理员与研发平台管理员共同确认配置完整;连通阶段由集成开发提交联调记录,运维负责人确认网络条件;消息与事件阶段由集成开发提供用例执行结果,业务验收人确认接收人范围与内容准确;权限与安全阶段由安全负责人签字;运行与回退阶段由运维负责人确认告警与回退步骤可执行。最终验收结论由业务验收人与平台管理员共同签署。
| 角色 | 介入时点 | 确认或签字职责 |
|---|---|---|
| 集成开发 | 联调完成后、各技术阶段 | 提交接口、回调、消息用例的执行记录 |
| 研发平台管理员 | 准备阶段、最终签署 | 确认平台侧配置、工作项状态流转与验收归档 |
| 企业微信应用管理员 | 准备阶段 | 确认自建应用、可见范围、凭证与回调地址配置 |
| 安全或运维负责人 | 连通、权限与安全、运行与回退阶段 | 确认网络条件、凭证管理、告警与回退方案 |
| 业务验收人 | 消息与事件阶段、最终签署 | 确认通知触发条件、接收人范围与内容准确 |
准备阶段:应用、权限与配置是否就绪
准备阶段的目标是在执行技术用例前,确认企业微信侧与研发平台侧的配置均已具备,避免联调中途因配置缺失返工。这一阶段的检查项全部可以在管理后台核对,不需要写代码。
| 检查项 | 通过标准 | 证据 | 负责人 |
|---|---|---|---|
| 企业微信自建应用已创建 | 应用存在且状态正常,应用名称与用途可识别 | 应用管理页截图 | 企业微信应用管理员 |
| 应用可见范围已配置 | 可见范围覆盖验收涉及的部门或人员,范围与业务预期一致 | 可见范围配置截图 | 企业微信应用管理员 |
| 研发平台侧对接配置完整 | 企业标识、应用凭证、回调地址等必填项均已填写,无占位或空值 | 配置页截图或配置导出 | 研发平台管理员 |
| 测试账号与测试范围单独准备 | 存在独立测试账号、测试群或测试部门,不直接使用生产全员范围 | 测试范围清单 | 集成开发 |
| 测试与生产配置差异已记录 | 两套环境的凭证、回调地址、可见范围差异有书面记录 | 环境差异说明文档 | 研发平台管理员 |
凭证类配置建议在验收前由企业微信应用管理员当面或通过受控渠道交付,避免在聊天记录中明文传递。测试范围与生产范围分开,可以让消息用例在不打扰全员的前提下执行。
连通阶段:接口调用与回调是否双向可用
连通阶段验证两个方向:研发平台主动调用企业微信接口,以及企业微信将事件回调到研发平台。两个方向都通过,才具备进入消息验证的条件。这一阶段的结论以联调记录为准,记录中应包含调用时间、请求目标、返回结果和异常现象。
| 检查项 | 通过标准 | 证据 | 负责人 |
|---|---|---|---|
| 主动调用接口连通 | 获取凭证、发送测试消息等基础调用返回成功,错误码为空或为预期值 | 接口调用日志 | 集成开发 |
| 回调地址可达 | 企业微信侧回调请求能到达研发平台指定地址,返回符合约定的响应 | 回调接收日志 | 集成开发 |
| 签名校验通过 | 合法请求校验通过,篡改签名或错误凭证的请求被拒绝 | 正反用例记录 | 集成开发 |
| 网络出口与白名单条件满足 | 研发平台出口地址在企业微信允许范围内,代理配置不阻断回调 | 网络配置说明 | 运维负责人 |
| 超时与重试表现符合预期 | 模拟超时后按约定重试,重试次数与间隔有上限,不产生风暴 | 异常注入记录 | 集成开发 |
签名校验的正反用例都应执行:只验证合法请求通过,无法说明校验逻辑真正生效。超时与重试检查可以用人为延迟或临时断网模拟,记录重试次数与最终状态,作为后续消息去重设计的依据。
消息与事件阶段:通知、卡片与状态回写是否准确
这一阶段检查业务事件能否按预期送达企业微信,以及企业微信侧的操作能否正确回写研发平台。用例应覆盖通知触发条件、接收人范围、卡片字段一致性和状态回写四类场景,每条用例记录预期结果、实际结果和结论。
| 用例 | 预期结果 | 实际结果 | 结论 |
|---|---|---|---|
| 工作项状态变更触发通知 | 指定接收人收到通知,非相关人员不收到 | 待填写 | 通过/不通过 |
| 审批或构建结果通知 | 通知在约定时间内送达,内容包含关键字段 | 待填写 | 通过/不通过 |
| 消息卡片字段一致性 | 卡片中的标题、状态、负责人与研发平台数据一致 | 待填写 | 通过/不通过 |
| 企业微信侧点击或确认回写 | 操作后研发平台对应工作项状态按预期更新 | 待填写 | 通过/不通过 |
| 重复消息检查 | 同一事件不产生重复通知,或重复可被识别并合并 | 待填写 | 通过/不通过 |
| 漏发与乱序检查 | 连续触发多条事件时,通知数量完整,顺序不影响业务判断 | 待填写 | 通过/不通过 |
重复、漏发和乱序的检查方法:连续快速触发同一工作项的多次状态变更,统计实际收到的通知条数与顺序,与研发平台事件记录逐条比对。若通知中包含事件标识或时间戳,可直接用于比对;若没有,需要在联调记录中人工标注。接收人范围应同时验证正向和反向,即应收到的人收到、不应收到的人未收到。
权限与安全阶段:可见范围与凭证管理是否受控
权限与安全检查确认消息推送对象、数据可见范围和凭证存放符合企业安全要求。这一阶段的结论由安全负责人签字,发现越权可见应直接列为阻断项。
| 检查项 | 通过标准 | 证据 | 负责人 |
|---|---|---|---|
| 应用可见范围与组织授权匹配 | 可见人员与业务授权名单一致,无范围外人员可见 | 可见范围与授权名单比对记录 | 安全负责人 |
| 消息接收人范围受控 | 通知仅发送给有权限的人员,测试范围外无消息 | 消息发送记录 | 集成开发 |
| 敏感字段处理 | 消息中不出现不应外发的敏感字段,必要字段已脱敏 | 消息内容抽样 | 安全负责人 |
| 凭证存放与轮换 | 凭证存放在受控位置,有轮换计划,离职交接有明确流程 | 凭证管理说明 | 运维负责人 |
| 操作日志可查 | 配置变更、消息发送、回调接收均有日志,可按时间与操作人检索 | 日志检索截图 | 运维负责人 |
敏感字段检查建议抽取实际发送的消息内容逐条核对,而不是只看配置说明。凭证轮换需要确认轮换后旧凭证失效、新凭证生效的时间窗口,以及轮换期间消息是否中断。
运行与回退阶段:上线观察与异常处置是否可执行
上线前需要明确观察期、观察指标、告警通知人和回退步骤。观察期长度按业务消息量确定,消息量大的场景可以缩短,低频通知场景需要覆盖至少一个完整业务周期。
| 检查项 | 通过标准 | 证据 | 负责人 |
|---|---|---|---|
| 观察期与观察指标已确定 | 观察期长度、消息成功率、失败数、回调延迟等指标有明确口径 | 观察方案文档 | 运维负责人 |
| 失败告警可触达 | 消息发送失败、回调中断时,告警能通知到指定责任人 | 告警测试记录 | 运维负责人 |
| 回退步骤可执行 | 关闭对接或回退到原通知方式的操作步骤经过演练,执行人明确 | 回退演练记录 | 集成开发 |
| 问题记录与复盘归档 | 观察期内的问题有记录模板,复盘结论归档到指定位置 | 问题记录样例 | 研发平台管理员 |
回退演练应实际执行一次,确认关闭对接后原通知方式能正常接管,且研发平台业务不因通知中断而阻塞。告警测试可以通过人为制造一次发送失败来验证通知链路。
阻断项与验收完成条件
以下问题属于阻断项,任一项未解决不得判定验收通过:凭证缺失或错误导致接口无法调用;回调地址不可达或签名校验失效;存在越权可见,范围外人员能收到或查看消息;消息出现大量重复或丢失,影响业务判断;没有可执行的回退方案。阻断项的判定依据是影响面,而非问题出现的频率。
非阻断项包括个别消息格式偏差、低频场景下的通知延迟、日志字段不完整等,应记录在遗留问题清单中,写明整改责任人和完成期限,并在观察期结束前复核关闭。验收结论的签署条件是:全部阻断项关闭,非阻断项已登记且有明确期限,各阶段检查表均有负责人确认。签署后遗留问题转入跟踪,未关闭项不得在结论中被默认为通过。
| 类别 | 示例 | 处理方式 |
|---|---|---|
| 阻断项 | 凭证错误、回调不可达、越权可见、消息大量重复或丢失、无回退方案 | 关闭后方可签署验收 |
| 非阻断项 | 个别格式偏差、低频延迟、日志字段不完整 | 登记遗留问题,限期整改并复核 |
用研发平台承载验收记录与遗留问题
清单条目、证据和遗留问题需要有统一的承载位置,否则验收结束后难以追溯。可以把每个阶段的检查项拆成研发平台中的工作项,指派给对应负责人,工作项状态按“待检查、检查中、通过、不通过”流转。检查过程中产生的截图、日志和联调记录作为工作项附件或归档到验收文档中,与检查项一一对应。
验收不通过或非阻断的遗留问题,转为缺陷或任务工作项,关联原验收工作项,跟踪到关闭为止。全部阻断项关闭后,验收工作项流转到完成状态,并通过通知告知业务验收人和平台管理员。ONES提供API接口用于集成企业系统,并支持对接企业微信等第三方应用,验收过程中的工作项状态流转与通知可以在同一平台内完成;具体的对接配置项与消息类型以官方文档和实际环境为准。这样,验收清单不只是一次性表格,而是留下可检索、可复核的过程记录。
常见问题
验收时测试范围和生产范围必须分开吗?
建议分开。准备阶段单独准备测试账号、测试群或测试部门,消息用例可以在不打扰全员的前提下执行,也便于比对“应收到的人收到、不应收到的人未收到”。如果直接使用生产全员范围,一次重复发送或误发就会影响真实用户,还会干扰重复与漏发检查的统计。测试与生产两套环境的凭证、回调地址、可见范围差异应留下书面记录,避免验收结论只对测试环境成立。
签名校验只验证合法请求通过,能算通过吗?
不能算完整通过。只验证合法请求通过,无法说明校验逻辑真正生效。连通阶段应同时执行正反用例:合法请求校验通过,篡改签名或使用错误凭证的请求被拒绝,两类结果都记录在联调记录中。若反向用例未执行,建议在遗留问题中登记并限期补测,补测完成前不把该项标记为通过。
消息出现少量重复,是否一定要阻断上线?
判断依据是影响面。大量重复或丢失导致业务判断受影响的,列为阻断项;个别低频场景下的重复,可以登记为遗留问题,写明整改责任人和完成期限,在观察期结束前复核关闭。无论哪种情况,都应先确认重复的来源,例如重试策略没有上限或事件缺少去重标识,再决定是修复后上线还是带问题观察。
回退方案需要提前演练吗?
需要实际执行一次。回退演练要确认关闭对接后原通知方式能正常接管,研发平台业务不因通知中断而阻塞,并明确执行人和操作步骤。只写在文档里、没有执行过的回退步骤,在真出问题时往往缺少关键操作细节。演练记录作为运行与回退阶段的证据归档。
验收通过后,遗留问题怎么跟踪?
签署验收时,遗留问题应已登记并写明责任人和期限,转入缺陷或任务工作项跟踪,关联原验收工作项,关闭后复核。未关闭项不得在验收结论中被默认为通过。ONES提供API接口用于集成企业系统,并支持对接企业微信等第三方应用,验收过程中的工作项状态流转与通知可以在同一平台内完成;具体对接配置项与消息类型以官方文档和实际环境为准。
