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 一旦把后端能力再次封装,就可能在不同平台引入自己的状态、缓存和兼容逻辑,从而放大差异。
  • 发版回归至少应覆盖主链路、异常链路、弱网、升级兼容和多版本共存场景。