Skip to content

多端应用与 SDK 测试总结

很多团队的大模型产品不是只有一种形态:有的同时有 Web、App、H5、小程序、开放 SDK,甚至同一套能力会被多个业务线复用。到了测试阶段,如果还把它们当成同一种东西来测,问题就会很多。这篇不讲空话,重点是把不同载体的测试思路、边界和高频坑讲清楚。

先说结论。

SDK、Web、移动端、H5,表面上都在“调用同一个 AI 能力”,但测试重点完全不一样。SDK 更关注接口契约、初始化、回调、兼容性;Web 更关注浏览器交互、流式渲染、权限和前端状态;移动端更关注弱网、手势、生命周期、系统权限;H5 则卡在浏览器容器、桥接、登录态和页面恢复上。

02. 先把多端关系理顺

很多项目实际长这样:

后端模型 / 检索 / Agent → 统一接口层 → SDK → Web / App / H5

为什么同一能力会长出很多端

  • ToC 产品要覆盖 Web 和 App。
  • ToB 产品常常给客户开放 SDK。
  • 活动页、分享页、轻量入口常落在 H5。
  • 内部系统和外部产品往往不是一个前端架构。

为什么测试容易乱

  • 把“接口通了”误当成“端上没问题”。
  • 只测主端,不测弱容器和边缘机型。
  • 没有区分功能问题、载体问题、桥接问题。
  • 多端口径不统一,导致线上反馈很碎。

03. SDK 测试怎么做

SDK 测试和普通页面测试不一样。你测的不是一个可见界面,而是一套给别人接入的能力包。它一旦有坑,接入方排障会非常痛苦,所以 SDK 测试要更重视“契约”和“边界”。

3.1 SDK 最常测什么

维度要看什么
初始化是否必须传 key、环境、配置;初始化失败时提示是否清楚
接口契约参数是否校验、默认值是否合理、返回结构是否稳定
回调 / 事件成功、失败、超时、取消、流式事件是否按预期触发
兼容性多语言版本、旧版本升级、不同系统环境是否稳定
异常处理网络差、服务端报错、权限不足时行为是否可控
文档一致性README、示例代码、真实行为是否一致

3.2 SDK 很容易被忽略的点

  • 参数没传时,是不是报错报得太晚。
  • 异步回调是否会重复触发。
  • 流式输出中断后,是否有结束信号或兜底状态。
  • 版本升级后,老接入代码是否直接挂掉。
  • 日志是否足够帮助接入方排障。

经验话一句。

SDK 最大的风险,往往不是“完全不能用”,而是“看起来能用,但在边界场景下行为不稳定”,比如偶发初始化失败、回调顺序乱、错误码含糊、升级后兼容性变差。

3.3 SDK 测试清单

接入前

  • 安装是否顺利
  • 依赖冲突说明是否清楚
  • 最小 demo 能否跑通

运行中

  • 正常调用是否稳定
  • 超时 / 重试是否合理
  • 事件和回调是否完整

升级后

  • 旧参数是否还能用
  • 字段是否变更
  • 旧业务是否有回归

04. Web 端怎么测

Web 端看起来最熟悉,但 AI 产品到了 Web 上,问题会比传统后台页面多。因为它经常有流式输出、长文本渲染、Markdown、代码块、上传文件、浏览器权限、登录态刷新这些额外因素。

4.1 Web 端核心关注点

  • 输入体验:长文本、复制粘贴、多语言、超长 prompt。
  • 流式输出:中断、重连、结束信号、前端拼接是否正确。
  • 渲染效果:Markdown、表格、代码块、公式、图片是否显示正常。
  • 浏览器兼容:Chrome、Safari、Edge、Firefox 表现是否一致。
  • 权限与安全:登录过期、上传权限、跨域、下载能力。

4.2 Web 端高频问题

问题常见原因
流式回答卡住不结束SSE 结束信号缺失,前端兜底不足
Markdown 乱掉流式片段拼接逻辑有问题
上传成功但回答异常前端状态已更新,后端文件处理未完成
Safari 正常、Chrome 异常浏览器兼容差异、缓存或事件处理差异
刷新后上下文丢失前端未保存会话,后端 thread 恢复逻辑不完整

4.3 Web 端建议一定补的测试

  1. 正常提问一轮,看输入、输出、结束信号是否完整。
  2. 边生成边刷新页面,看会话恢复策略。
  3. 上传文件后连续提问,看上下文和文件绑定是否还在。
  4. 弱网环境下观察是否出现重复消息、顺序错乱。
  5. 不同浏览器下检查渲染一致性。

05. 移动端怎么测

移动端不是把 Web 页面缩小那么简单。它受系统权限、前后台切换、网络波动、机型差异、键盘、手势、通知等因素影响更大。

5.1 移动端常见测试点

类别测试点
基础交互输入框、发送、取消、重试、复制、分享
系统能力相机、相册、麦克风、文件权限
生命周期切后台、锁屏、来电、中断后恢复
网络弱网、断网、切 Wi-Fi / 4G / 5G
设备适配屏幕尺寸、刘海屏、折叠屏、横竖屏
平台差异iOS 和 Android 行为是否一致

5.2 移动端特别容易出的问题

  • 切后台回来后流式回答断掉。
  • 键盘弹起把发送按钮挡住。
  • 上传图片成功,但会话列表没更新。
  • 权限拒绝后没有明确引导。
  • Android 返回键与页面返回逻辑冲突。

移动端一个很现实的经验。

很多线上问题不是“功能完全坏了”,而是“在某个机型、某种网络、某个页面切换动作下才出”。所以移动端测试不能只看主流程,也要看生命周期和系统环境变化。

06. H5 怎么测

H5 常常最容易被低估。很多团队觉得它只是“手机网页”,其实它正好卡在 Web 和 App 中间:一边受浏览器约束,一边又常常嵌在 App 容器里,还可能涉及 JSBridge、登录态共享、返回行为和页面缓存。

6.1 H5 的典型测试重点

  • 在外部浏览器打开,和在 App 内 WebView 打开,行为是否一致。
  • 登录态是否能正确继承。
  • 分享、唤起 App、返回上一页这些动作是否顺畅。
  • 不同容器下文件上传、复制、下载能力是否受限。
  • 页面被挂起、恢复、重新进入时状态是否还在。

6.2 H5 为什么总让人感觉问题特别碎

原因表现
容器差异微信内打开、App 内打开、系统浏览器打开行为不同
桥接差异某些端支持 JSBridge,某些端不支持
缓存策略差异返回页面后状态丢失或旧数据残留
能力限制上传、下载、麦克风权限表现不一致

6.3 H5 最值得提前测的 5 件事

  1. 多入口打开是否一致。
  2. 登录态继承和过期处理是否一致。
  3. 返回和关闭行为是否符合用户习惯。
  4. 桥接功能失败时有没有降级。
  5. 弱网和页面恢复时是否会重复提交。

07. 多端一致性怎么抓

多端一致性不是要求每个端长得一模一样,而是要求核心能力一致、关键规则一致、用户预期一致。

7.1 哪些地方必须一致

  • 同一个问题,核心答案不应该一个端对一个端错。
  • 权限规则、会员规则、额度规则不能一端严格一端宽松。
  • 上传支持范围和大小限制至少要口径一致。
  • 错误提示和兜底行为要有统一标准。

7.2 哪些地方允许不完全一致

  • 布局和交互细节可以因端而异。
  • 移动端可能比 Web 多相机、录音、系统分享入口。
  • H5 可能因为容器限制,部分能力需要降级。

一个很实用的判断标准。

不要追求“视觉上完全一样”,而要先抓“业务规则不能打架”。真正容易出事故的,往往不是按钮位置不同,而是同一个功能在不同端口径不一致。

08. 常见问题与测试点

SDK

  • 初始化偶发失败
  • 回调重复触发
  • 错误码不可读
  • 升级后老代码不兼容

Web

  • 流式渲染错乱
  • 浏览器兼容问题
  • 上传状态不同步
  • 刷新后会话丢失

移动端 / H5

  • 切后台中断
  • 键盘遮挡
  • 桥接失败无兜底
  • 登录态不一致

8.1 如果你时间很紧,优先测什么

对象最先测
SDK初始化、最小调用、错误处理、版本兼容
Web主流程提问、流式输出、上传、刷新恢复、主浏览器兼容
移动端主流程、权限、弱网、切后台、主机型
H5多入口打开、登录态、返回行为、桥接能力

09. 一套实用测试策略

如果你负责的是一个“同一套 AI 能力,多端一起发”的项目,可以按这个顺序推进:

  1. 先把接口和业务规则打稳,别让端上测出来的是后端基本错误。
  2. 再分载体列清单:SDK 一份、Web 一份、移动端一份、H5 一份。
  3. 然后补一份多端一致性清单,专门抓口径问题。
  4. 最后再看自动化和回归优先级,别一开始就全面自动化。

别一上来就追求“大而全”。

更稳妥的做法是:先把主流程和高风险点测住,再逐步补兼容性、弱网、边界场景。多端项目最怕的是清单太大,最后主流程和关键规则反而漏掉。

9.1 一个你可以直接拿去用的分层法

  • **第一层:**接口和规则是否正确。
  • **第二层:**端上核心交互是否通顺。
  • **第三层:**端差异、容器差异、机型差异是否可控。
  • **第四层:**多端口径是否一致。

10. 推荐你下一步怎么学

如果你不想只看总览,下面这四篇可以按顺序拆开学:

  1. SDK 测试专项:适合先把“接入能力包”这件事理清。
  2. Web 端 AI 测试专项:把浏览器、流式、渲染、上传这些问题吃透。
  3. 移动端 AI 测试专项:把权限、切后台、弱网、机型问题补上。
  4. H5 测试专项:把容器、桥接、登录态、返回行为分清。

如果你偏客户端测试

建议从 Web 或移动端开始,再回头看总结页,会更容易对照真实问题。

如果你偏平台或开放能力

建议先看 SDK,再接多端一致性和自动化方案。

最后一句。

多端测试最怕“混着测”。一旦你能先分清 SDK、Web、移动端、H5 这四类对象,各自的测试重点就会清楚很多,排障也会快很多。

补充练习与参考答案

补充练习

  1. 总结多端 AI 接入时最容易出现的 3 类一致性问题。
  2. 为什么 SDK 封装层经常成为跨端问题的放大器?
  3. 设计一个你会用于发版前的多端回归清单。

参考答案要点

  • 一致性问题通常集中在参数默认值、错误处理、流式行为和结构化输出解析差异。
  • SDK 一旦把后端能力再次封装,就可能在不同平台引入自己的状态、缓存和兼容逻辑,从而放大差异。
  • 发版回归至少应覆盖主链路、异常链路、弱网、升级兼容和多版本共存场景。