多机型真机验证,麻烦在机型一多,变量就多。同一版脚本在不同系统版本上表现不一样,装包、命名、留证每一步都得能对上号。
准备和排队占掉大半天
到工位第一件事,是看昨天那批包还有没有遗留问题,然后开始装包:拉 IPA、插线、点安装、盯进度条。装完还不能直接跑。得先清一遍 App 数据,不然上一轮的登录态和缓存还在,结果就不干净。清完重登,确认版本号没装错,这才开始跑用例。下单、支付、切前后台、断网重连,每步截一张图,文件名写清是哪台机、哪个版本、哪一步。一天下来,真正在「发现问题」的时间可能不到三分之一,其余都是准备、等待和整理。这些步骤几乎不用判断。也正因为不用判断,最耗人。要经验的判断留到了最后。
多机型验证费时间的地方,在设备排队。一条用例跑完也许就几分钟,等待才是成本:这台还在装包,那台已经装好,你只有两只手;一台卡在启动页,分不清是包的问题还是设备的问题;有人临时拿走某台去演示,回归计划就得重排。机型越多,串行等得越久。等你忙完一轮,包可能已经更新,前面那轮结果作废。同一套动作要在好几台设备上重复很多遍,时间就耗在这里。证据也经常对不上。
| 问题 | 具体表现 |
|---|---|
| 机型分散 | 老机型没人愿意测,新机型只有一台,覆盖面全靠自觉 |
| 重复回归 | 提测、验证、再提测,同一批用例走三遍,每次都要重新准备环境 |
| 结果不可追溯 | 出问题时找不到当时的截图、日志和参数,只能凭印象复述 |
第三点最容易被跳过。发版前发现某台机器异常,团队常会说「上次是不是也这样」,可没人拿得出当时的材料,只能再跑一轮。测试报告里那句「已通过」,到底是哪台机、哪个系统版本、哪个包版本通过的,事后很难还原。
这是设备分组界面。在设备列表里右键一台机器就能归到某个组,也可以多选后一次设置。下次发版,选组名就知道用哪几台。
群控接得住哪些环节
苹果群控和自动化测试框架是两套东西。测试框架管断言和用例编排,判断业务逻辑对不对。群控管的是设备侧的重复动作,把装包、清数据、下发、截图做成同一套操作。
| 环节 | 群控能做什么 | 说明 |
|---|---|---|
| 装包 | 批量安装同一版本 IPA | 选好设备组,一次下发 |
| 环境准备 | 批量清理数据、重启 App、走统一前置动作 | 前置步骤固化成脚本 |
| 操作执行 | 同步或分批下发同一套操作 | 也可按分组跑不同用例 |
| 留证 | 关键步骤自动截图、录屏 | 命名规则可由脚本控制 |
| 记录 | 保存执行历史、成功与失败节点 | 便于事后回溯 |
| 管理 | 设备分组、批量重命名、实时看画面 | 能看到谁在用、装了哪一版 |
还有个容易忽略的用途:给新同事做演示。找图和 OCR 只做得了简单判断,比如「支付成功」页面有没有出现。复杂业务逻辑它判断不了。比较稳的分法是机器跑完留证,人看证据再下结论。
装测试包时,签名账号另算一笔。苹果个人开发者账号一年 688 元,可签 100 台,覆盖 iOS 12 及以上。这是签名账号的费用,不是 EasyClick 的软件授权。用免费 Apple ID 走 Xcode 签名,只能签 3 台设备,bundle id 在 10 天内最多改 3 次,证书 7 天过期。系统版本进矩阵时,iOS 15.8 的开发者镜像兼容性差,文档建议避开。
环境可以按这个顺序搭。设备分组建档时,命名别用「一号机、二号机」,按「型号-系统版本-用途」来,比如 13-17.5-回归主测。分好组之后,每次发版选组就行。苹果群控走免越狱路线,iOS 上有几种执行方式,方向先看 iOS 自动化的三种执行模式对比,整体方案在 苹果群控免越狱是怎么实现的 里。测试场景优先 USB 直连,最稳,也最不容易断。脚本和参数分开:机型名单、测试账号、用例编号、截图目录都别写死在脚本里,做成外部表格。换设备或加用例,改参数就行。再往下是批量下发。选设备组、选脚本、下发,多台设备同时跑,中控上能实时看到每一台画面。分组下发时,老机型跑兼容性用例,主力机型跑主流程。设备规模偏大时,初始化和批量配置可以先看 批量初始化多台 iPhone 的做法。
批量改名的界面长这样:填好起始名后可以先预览,确认了再执行,一次改完整组别名。后面的截图命名和分组管理也有了依据。最后是结果回收和失败定位。截图按「用例编号-机型-时间」命名,执行记录导出成表。失败的那一台留下失败瞬间的截图和当时的设备状态。开发问「怎么复现」时,你手里就有东西。
成本按哪些项算
值不值,先把成本项列全,再谈一台手机多少钱。
| 成本项 | 判断口径 |
|---|---|
| 设备 | 需要几台、要覆盖几个机型档位、用新机还是退役机 |
| 配件 | 供电、线材、散热、支架,以及连接方式需要的硬件 |
| 软件 | 按设备规模计费还是按功能计费,会不会随设备数阶跃 |
| 人工 | 每轮回归需要多少机时,其中多少是可标准化的重复动作 |
| 维护 | 谁负责巡检、谁负责脚本改动、出故障多久能恢复 |
| 隐性 | 返工成本、新机型适配成本、结论说不清导致的重复验证 |
我的口径是:先统计一轮完整回归要多少人机小时,再看里面有多少是「准备和留证」这类可以标准化的动作。这个比例越高,越小的规模就能算得过来。如果大部分时间在做判断和跨部门沟通,上群控的意义有限。另一个口径是设备利用率。一台测试机一周只被用两小时,成本就按这两小时摊。要是天天排队等用,再加一台通常划算。更细的人工成本拆法可以看 苹果群控人工成本拆解。设备成本是一次性的,人工和维护是持续的,后两项容易漏算。
测试场景停在哪里
测试场景说得清的时候,对象和目的是固定的:被测 App 是自己的,或客户授权测试的;设备是自己拥有的真机;目标是发现问题并留证。不改变被测对象的行为,也不参与作弊或干扰平台秩序。一旦有人拿类似能力去做「让多个账号装作真实用户活动」,性质就变了。另外两点容易漏。测试账号数据、截图内容属于内部资产,涉及真实用户信息要按隐私要求处理。多地办公的话,设备位置和数据回传路径也要提前确认。
脚本装上之后还得跟人。App 一改版,页面结构、控件位置都可能变,找图和定位会失效。没人管的话,两周后就开始大批失败。截图要配上执行时间、设备型号、包版本和执行节点,缺了这些,事后对不上机型,也对不上版本。设备多了,分组、供电、巡检都会变复杂,先跑通一个小组再扩。业务逻辑上的「对不对」仍然要人定。老机型和系统版本别漏,偶发问题常常出在老设备或新系统上。
真机验证要把一批固定动作跑很多遍,并且能证明自己真跑过。人来做这些重复动作会慢,而且经常留不下能对上机型和版本的证据。苹果群控把重复执行收成同一套操作,结果事后能追溯。要不要上、上多大规模,看一轮回归里有多少时间属于可以标准化的重复动作。站内同类场景的拆解,可以先从 群控落地的适用性判断 开始看。
关于 EasyClick:手机自动化脚本开发平台,覆盖安卓免 ROOT、iOS 免越狱、鸿蒙三大手机生态,还提供苹果脚本编写、苹果群控、安卓群控、远程云控、AI 群控手机等。→ 了解全部产品
想要真实跑起来?
本文介绍的方案均可在 EasyClick 手机自动化平台落地。官网提供完整文档、开发工具与群控云控产品,免费体验。