跨端兼容:13年UI测试见证点击无缝抵达
|
去年八月份那项目,甲方产品总监凌晨三点在群里甩了十八张截图,说“就改一点点”——我原以为又是那种“把按钮从蓝色调成深蓝”的屁事,结果点开一看,好家伙,要兼容七个平台的点击事件响应逻辑。那会儿我刚把测试机架起来,手机屏幕上的指纹油还没擦干净,微信里已经堆了六十秒的语音方阵,全是他助理在喊“张总说必须今天出方案”。 跨端兼容这玩意儿,我干了十三年,最烦的就是“就改一点点”。去年那个项目,甲方前后改了七版需求,每次都说“这次绝对不碰核心逻辑”,结果每次都要重测点击热区。安卓的WebView和iOS的WKWebView对touch事件的封装差了半条街,微信小程序里用catchtap能拦住事件冒泡,但在百度小程序里得用bindtap加stopPropagation——这些破规矩,甲方产品经理永远记不住,他们只记得“用户说点击没反应”。 最绝的是第七版需求,甲方突然要加手势滑动关闭页面。我原以为就是监听个touchmove事件,结果测试时发现华为Mate 60的屏幕边缘防误触和手势冲突,小米14的全面屏手势会截胡事件流,连三星的S Pen都能触发点击——那周我测了二十七台设备,每台都要录屏发群里,甲方技术总监回了句“在吗?能再优化下动画吗?”。 但说真的,这“就改一点点”的破事儿,反而让我摸透了跨端兼容的门道。去年八月那项目,最后甲方签验收单时,产品总监盯着测试报告里的“点击响应成功率99.7%”看了半天,说“你们怎么做到的?”。我指了指桌上那摞测试机——从iPhone SE到折叠屏,从安卓8到iOS17,每台都贴着标签写着“第X次返工”。他笑了笑,转了尾款,比合同多打了三千,备注“辛苦费”。 不过也不是每次都这么顺。前年那个电商项目,甲方说要“兼容所有主流浏览器”,结果测试时发现IE11的event.target在SVG元素上会报错,Edge的Pointer Events和Chrome的Touch Events冲突,连Firefox的移动端视图都会吞点击事件。那会儿我天天和前端吵架,他们说“这是浏览器bug,我们没法修”,我说“用户不管谁bug,点不动就是你们的问题”。最后甲方妥协,砍了IE11的支持,但扣了百分之十五的尾款——那笔钱到现在都没结清,财务每个月都发转账截图催我,我回“在催了”,其实早放弃了。 说到这儿,突然想起上周的事。甲方技术负责人半夜发消息,说“用户反馈点击没反应,你们再测测”。我爬起来打开电脑,发现他发的截图里,用户用的是十年前的iPad 2,系统还是iOS 9——那设备连我们兼容列表都没上,他居然说“用户多,得支持”。我回“这设备性能不够,跑不动我们的JS”,他回“就改一点点,优化下代码”。我直接把测试报告甩过去,上面写着“在iPad 2上,页面加载需要十八秒,点击事件响应延迟三秒”——他没再回,估计去和产品总监吵架了。 其实跨端兼容这事儿,最烦的不是技术难题,是甲方的“就改一点点”。他们总觉得改个颜色、调个位置是小事,却不知道每改一次,都要重新测所有设备的点击热区、事件流、手势冲突。去年八月那项目,要不是甲方第七版需求时主动加了三千辛苦费,我早撂挑子了——十三年了,我太清楚,所谓“无缝抵达”,都是用无数次返工、无数台测试机、无数个熬夜换来的。
文章配图,仅供参考 现在每次接新项目,我都先问甲方:“你们能接受多少次返工?能付多少辛苦费?”。有的甲方说“尽量不改”,有的说“按合同来”,但真正懂行的,会沉默两秒,然后说“你们看着办,别太离谱就行”。——这才是明白人,知道“就改一点点”背后,是多少个十八秒的语音方阵,多少台贴着返工标签的测试机。对了,上周那iPad 2的事,甲方今天终于回消息了,说“用户说可以接受加载慢,但点击必须响应”。我回“那得加钱,至少五千”,他回“在走流程了”。我笑了笑,打开测试机,准备再测一遍那台十年前的iPad——十三年了,这种破事儿,早就习惯了。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

