平板屏幕上两份文档并排显示,一侧悬浮着小窗,笔尖正落在其中一份的表格区域

一、两条路先算三笔账

据公开报道,一款桌面办公套件推出了面向平板设备的版本并上架某厂商的应用商店,随后与该厂商做了联合直播演示。报道把两条路线并列摆了出来:在容器或沙盒环境里运行的桌面版办公软件在平板端已经存在,这次宣传的重点是按系统能力做的原生版本;产品负责人对定位的说法是,延续电脑端熟悉的编辑界面与操作逻辑,同时针对平板的触控、手写笔和多窗口交互做原生适配。功能清单上两条路都能把文字、表格、演示与 PDF 四个模块的编辑能力勾完,所以只看清单看不出差别,差别要在三笔账上算。

三笔账 容器垫片路线 原生适配路线 对验收的影响
接入系统能力的深度 系统能力先给容器,再由容器转译成应用能懂的事件,多窗口、手写笔、分屏、跨应用拖拽都要过这层转译 直接接系统侧能力 导致多窗口与笔相关用例只有原生路线能做全
随系统版本升级的改动面 改动落在系统版本与容器兼容层,系统每次升级要重测整套转译 改动落在应用调用系统能力的接口面 回归范围与触发时机不同
缺陷归属与响应链路 用户看到的是应用故障,第一现场常在转译层,责任在两方之间来回 缺陷归属在应用与系统之间单跳 影响响应时效承诺怎么写

容器方案能在功能上看起来都有,是因为它自带一整套桌面渲染与输入栈,把系统的窗口事件翻译成键鼠事件即可运行。四类一致问的不是功能有无,而是行为在三种输入、多种窗口宽度、缺字体、多窗口同屏这些条件下是否仍然成立。转译层每转一次就有丢失与延迟:笔的压感与倾斜角可能只留下坐标,分屏比例变化可能被当成一次尺寸跳变,系统级拖拽可能落到复制到剪贴板再粘贴的退化路径。垫片越薄丢得越少,但它不可能不丢,这句话才该写进选型条款。

二、输入一致与布局一致

输入一致的定义是:同一操作在键鼠、触控、手写笔三种输入下的可达性与误触率。报道里被点名的适配动作之一,是为平板调整了手指点击热区,减少选中单元格时的误触。热区不是控件尺寸,而是可命中区域的扩张规则加上冲突处理规则:相邻单元格之间怎么分界、贴边的边框拖动与缩略滚动条被手指压住时谁优先、连续点按与长按的判定门槛怎么分开。验收做法是把每个命令写成三行,分别声明三种输入下的等价入口,没有等价入口的命令要显式标成受限,不能默认通过。误触率要有对照:同一任务在触控下的错选次数与键鼠下的错选次数各自统计,先把几个常用表格与文档场景固定下来,别用点击可用这种描述交差。

新增的输入形态要按对象归类:随手写、语音转写、拍照扫描电子化、画笔圈注(钢笔、荧光笔等批注工具落在 PDF、文字与演示内容上)。这几类的共同点是同一个内容对象多了几个来源,验收要问三件事,来源不同的内容进文档后是否成为同一类可编辑对象、批注在另一种输入下能否被读懂、由识别产生的文本是否保留可撤销的中间态。

布局一致的定义是:功能区与工具区在不同窗口宽度与分屏比例下的降级规则。平板首发版本采用与桌面一致的功能区布局,理由是操作习惯可无缝迁移,这个选择在单窗口全宽时成立,在多窗口同屏时就要重算。降级规则要按功能区逐段声明:宽度收紧时先折叠哪一组、命令是收进溢出菜单还是彻底消失、图标是否保留文字说明、拖拽手柄与滚动条是否被遮挡、宽度恢复后能否回到原布局。演示给出的多窗口形态很具体,长按并拖拽标签页让两份文档并排,再开一个浏览器小窗形成三窗口同屏,选中资料后文字可直接拖到另一份文档,也支持与聊天、视频等应用分屏,而多窗口能力依赖系统侧的原生支持。用例要把这些形态当布局档位,每档记一次断言。

三、渲染一致:字体是资源可得性,不是渲染缺陷

渲染一致的定义是:字体缺失时的替代与重排、分页与行高的偏移、批注对象的落位。报道把跨设备一致性的风险点名在字体上,处理办法是按需获取云字体,减少字体缺失带来的显示异常和排版变化。这条链路的性质要改写:不是渲染缺陷,而是资源可得性问题。同一段代码在字体到位和不到位时会有两套排版结果,而不到位才是移动场景的常态。

要测的三件事可以固定下来。缺字体时的回退策略:回退到哪个字体、按什么顺序找替代、替代字体的行高与字宽是否参与重新分页,还是维持原分页只换字形;前者会让页数与跨页位置漂移,后者会让文字溢出边界,两条路都要在验收里指定,不能写视情况而定。临时字体下载失败时的排版:断网、鉴权失败、字体包损坏三种触发走的是同一条回退路径还是三条,是否先按替代字体排版、字体到位后再重排一次,这一抖动会不会打断正在进行的编辑。同一文档在无字体设备上再次保存是否发生不可逆改动:这条最关键,要在保存前后各取一份版式快照做对照,检查是否把替代字体的度量写进了文档、批注锚点是否被重新计算、分页符是否被固化。

这一项的验收字段建议是:文档声明的字体集合、设备实际可得字体集合、本次回退路径、是否发生重排、保存后能否还原。同一账号可云同步续编、可用在线文档多人协作会放大这条链路,一份文档在多台设备上交替保存,任何一次不可逆改动都顺着同步扩散。

四、状态一致:多窗口同屏与同步合并

状态一致的定义是:多窗口同屏时的编辑焦点、拖拽传递、云同步的冲突合并。

焦点最容易出问题:两份文档并排时,键盘输入落在哪个窗口、撤销栈属于哪一份、笔迹落在哪一份、被拖出的源文档在拖拽过程中是否允许编辑。验收做法是每条用例先声明焦点窗口,再声明非焦点窗口的预期状态;焦点切换要有可见反馈,用例断言这个反馈,而不是断言测试者的猜测。

拖拽传递要按数据保真分级:纯文本、带格式的片段、表格区域、图片与批注对象,各级保真要求不同,验收要写明拖过去以后哪些属性必须还在、允许丢哪些、丢了要不要提示。跨应用把资料拖进文档这一条,还要检查来源应用被最小化或关闭后拖拽数据是否仍然有效。

云同步的冲突合并要定规则而不是定口号:同一账号在平板续编、在桌面同时编辑时,是整份覆盖、按段落合并还是提示人工选择;合并失败时保留哪一份;未同步期间的离线编辑如何排队。生成类能力又给这一层加了一格:自然语言描述计算需求由 AI 辅助生成表格公式、先把网页资料汇总到文档再由 AI 排版整理版式、AI 校对错别字标点与格式、按汇报目标与受众页数配图要求生成大纲和可继续编辑的演示初稿。这些动作改的都是文档内容本身,所以验收要它们留下可辨认的改动范围,能看、能撤销,且不覆盖未同步的编辑;版式被重排时,渲染一致那一节的分页与行高断言要跟着重跑。

五、大表格的性能验收要拆成四个量

据公开报道,演示里一份包含两万条数据的表格在演示设备上实现秒级打开,可用触控选取数据并插入数据透视表。两万条与秒级都是演示场合的口径,不是本篇的判断依据,也不能直接当验收指标:演示设备、演示数据、演示路径三样都挑过,而秒级这个量既没有起止事件也没有数据形状。性能验收要拆成四个量,各自定义测法。

  • 打开时间:起止写清,从用户触发动作到首帧可交互,而不是到首字节或到界面框架画完;冷启动与再次打开分开记;本地文件、已同步文件、需要先下载的云端文件各测一次。
  • 首次交互延迟:第一次点选单元格、第一次拖动选中区域、第一次呼出菜单各自的响应;要包含首屏以外仍在补齐的数据加载,否则读到的是空表速度。
  • 滚动帧率:取帧间隔分布的低分位而不是平均值,按固定行数的连续滚动来测,长文本列与图片列各造一份样本,因为卡顿多来自单元格内容重排而不是行数。
  • 透视表重算耗时:从字段拖入到可以再次交互,初次构建与增量修改分开测;增量场景要固定改的是哪一类条件,用来判断是否每次都在全量重算。

四个量必须绑在同一台设备、同一存储占用状态、同一数据形状上报告。数据形状要写列数、公式密度、合并单元格与长文本占比,而不是只写行数。设备档位覆盖按系统能力分档,不按销量分档,演示机型的表现不能当该类设备的通用结论。触控选取的准确性还要与输入一致合起来看:热区变大后误触少了,一次点选覆盖的范围也变大,两个指标必须同时报。

六、联合优化要落成能交接的东西

双方围绕文档渲染、多任务调度与 AI 场景开展过联合优化。跨企业的联合优化最容易失守的地方,是结论只在演示机型上通过,却被当成全机型的保证。要防这一点,优化成果必须落成四件可交接的东西。能力清单,写明系统开放了哪些能力、从哪个版本起、适用哪些机型档位。触发条件,写明什么场景才会走到优化路径,避免在未被覆盖的组合上按优化后的行为验收。复现样本,可交给测试的文档、表格、演示稿与对应操作序列。回归基线,两侧版本各自变更时要对照的结果集。四件缺一样,这项优化就只能靠演示视频证明存在过。

多窗口同屏还会改掉用例的写法。单窗口时代的脚本是线性的,一步接一步,不必说明面对的是哪一个窗口;多窗口以后,每条用例要声明三要素:焦点窗口、并发编辑对象、窗口尺寸与分屏比例。三要素缺一项结果就不可复现,换一种焦点归属就是另一种表现。预期结果要按窗口分别写,断言里至少包含焦点丢失时的行为、拖拽传递后的数据保真、跨窗口撤销栈的归属三项。回归集要新增的组合是三种输入乘以多窗口档位再乘以字体可得性,这个矩阵比单窗口的功能清单大得多,也正是原生路线真正的成本所在:省掉一次重写不等于省掉验收,只是把验收从功能点转移到行为一致性上。

洹拓做这类跨端交付时,我们把四类一致当合同附件而不是内部标准:输入可达性矩阵、布局降级声明、字体回退记录、焦点与合并规则说明,四样都要有版本号与责任人。这样容器路线和原生路线就能在同一张表上比代价,而不是各说各的都有。