“新包已经上传,请大家更新。”

过一会儿没人回应,只能逐个提醒。有人说正在开会,有人表示稍后安装,还有人回复“已经更新了”,实际打开的却仍然是旧版本。

等到测试人员继续反馈上一个版本已经修复的问题,研发才开始追问:从哪里下载的、有没有覆盖安装成功、手机里显示的版本号是多少。

对更新频繁的智能硬件 App 来说,这种沟通成本会不断累积。智能门锁、摄像头、耳机、机器人等产品的测试,不仅涉及 App 本身,还可能与硬件型号、固件版本、手机系统和网络环境有关。如果测试起点都没有统一,后面的故障反馈很难判断。

那么,新测试包发布后,还要不要逐个通知测试人员?

答案是:常规版本没有必要长期依赖人工逐个通知,但也不能认为安装包上传成功,就等于所有测试人员已经完成更新。

真正需要建立的是一条完整链路:

版本获准测试、通知送达、测试人员下载安装、确认当前版本、完成指定验证。

通知只能解决其中一段。

逐个通知的问题,不只是浪费时间

测试人员较少时,研发在群里提醒一下似乎没有什么问题。

但随着参与测试的人数增加,逐个通知会带来三个麻烦。

第一个麻烦是通知标准不一致。

有人只收到一句“更新一下”,有人得到完整的修改说明,还有人只看到别人转发的 APK。不同测试人员不知道本次版本究竟修复了什么,也不知道应该重新验证哪些功能。

第二个麻烦是通知记录和版本脱节。

测试群里的消息会不断被新内容覆盖。测试人员几天后再打开聊天记录,可能看到多个安装包和多次更新通知,却无法判断哪个仍然有效。

第三个麻烦是研发把“回复收到”误认为“已经更新”。

测试人员看到消息、打开下载页面、下载 APK、成功安装和实际运行新版本,是几个不同动作。任何一个环节中断,测试人员都可能继续使用旧版本。

因此,减少人工通知并不只是为了让研发少发几条消息,而是为了避免测试活动长期依赖聊天记录和个人记忆。

新测试包上传成功,不代表它已经可以通知所有人

并不是每一次构建都应该立即触达全部测试人员。

研发过程中可能连续生成多个包,其中有些只用于开发自测,有些用于验证单个问题,还有些才是准备交给完整测试团队的版本。如果构建完成后就自动通知所有人,测试人员会频繁收到更新,最后反而不知道哪一次通知真正需要处理。

在通知之前,团队至少要确认三件事:

  • 这个安装包是否已经完成基本启动和安装检查;

  • 它是开发自测包、专项验证包,还是面向测试团队的正式测试包;

  • 本次需要哪些人员更新,以及更新后要验证什么。

只有经过确认的测试版本,才应进入团队共用的安装入口并触发通知。

如果企业已经把打包和上传接入CI/CD,也仍然需要保留版本放行条件。自动化可以减少重复上传,但不能替产品、研发或测试负责人决定某个构建是否适合扩大测试范围。

否则,自动上传越快,错误版本传播得也越快。

一次完整更新,要经过四个状态

很多团队只记录“已发布”和“未发布”,这不足以判断测试是否真正开始。

对于需要多人参与的Android App内测,至少要区分四个状态。

版本已经发布

安装包完成上传,版本号、构建编号和更新说明已经填写,发布负责人确认它可以进入本轮测试。

这只能证明测试包已经准备好。

通知已经送达

需要参与本轮测试的人员收到了邮件、短信、群消息或项目系统通知。

这只能证明信息已经发出,不能证明对方已经阅读。

测试人员已经安装

测试人员完成APK下载和安装,并打开了新版本。

这里仍需注意:下载次数不能直接等同于成功安装人数。一个人可能重复下载,也可能下载后没有安装。

指定内容已经验证

测试人员确认当前App版本,并按照本轮任务完成验证,将结果和必要的环境信息反馈给团队。

只有走到这里,本次更新才真正形成闭环。

把这四个状态分开以后,团队就不会再用一句“新包已经发了”概括整个测试进度。

测试通知里最重要的不是下载链接

测试通知当然要包含安装入口,但只有链接是不够的。

一条有效的版本通知应该让测试人员不用追问,就能知道下面这些信息:

  • 本次测试版本号和构建编号;

  • 发布日期或发布时间;

  • 本次主要修改内容;

  • 需要重新验证的问题;

  • 适用的硬件型号或固件范围;

  • 是否可以直接覆盖安装;

  • 是否需要重新登录、清除数据或重新绑定设备;

  • 发现问题后应提交哪些信息。

并不是每次更新都需要写很长的说明。关键是让测试人员能够判断:这一次为什么要更新,更新后要做什么。

“修复若干问题,优化用户体验”不适合作为测试说明,因为它没有告诉测试人员任何可执行内容。

如果本次修复的是摄像头首次连接失败,通知应明确要求测试人员在指定手机和设备环境中重新完成添加流程;如果调整了蓝牙设备兼容逻辑,则应说明需要覆盖哪些硬件或系统组合。

测试说明越明确,测试结果越容易被复现。

蒲公英可以减少逐个通知,但不能证明对方已经完成更新

使用蒲公英进行App内测分发时,企业可以把需要长期参与测试的人员加入相应应用的成员管理。

根据蒲公英当前官方文档,应用上传新版本后,发布者可以通过邮件、短信或微信消息接收版本更新通知;加入成员管理的内部测试用户,可以通过邮件和短信收到新版本通知。测试成员也支持按照当前页面提供的方式批量导入。蒲公英应用版本更新的检查与通知

这样做的价值是让固定测试人员与具体应用建立关系。常规测试版本发布后,团队不必完全依赖研发人员在多个群聊中逐个寻找测试人员。

同时,蒲公英安装页面可以展示应用名称、版本号和更新日志。测试人员从统一入口进入时,能够先确认当前页面展示的版本,再下载安装。蒲公英应用安装说明

但这里必须说明能力边界。

收到邮件或短信,不代表测试人员已经打开;打开安装页面,不代表已经下载;下载APK,也不代表已经成功覆盖安装。因此,蒲公英能够改善通知和版本获取过程,却不能直接替企业确认每一位测试人员已经完成升级和验证。

如果某轮测试必须知道每个人的完成情况,企业仍需在项目管理工具、测试平台或反馈表中记录确认结果。

App内检查更新,解决的是另一个环节

除了发布后的邮件和短信通知,企业还可能希望测试人员打开旧版App时,直接看到新版本提示。

蒲公英当前官方说明推荐通过API和官方的AppUpdateChecker示例,在App内实现版本检查。官方开发者常见问题同时说明,旧版蒲公英SDK已于2023年停止维护,新项目不应再把已停止维护的旧SDK作为方案。蒲公英开发者常见问题

App内检查更新与邮件通知解决的是两个不同问题。

邮件或短信通知可以提醒测试人员“现在有新包”;App内检查则是在对方仍然打开旧版时,帮助识别是否存在新版,并引导到相应安装入口。

两者可以结合,但不能互相替代。

如果测试人员很少打开App,单靠App内提示可能长期无法触达;如果只发邮件,测试人员也可能忘记安装。对于高频使用的内部测试App,可以结合实际开发成本考虑版本检查;对于临时测试项目,则可以通过成员通知和明确的测试任务完成协作。

是否需要强制更新也不能只从技术上决定。

智能硬件App可能需要与不同设备型号或固件版本配合。如果没有完成兼容验证,简单要求所有测试人员立即升级,可能反而失去旧环境的复现条件。是否阻止旧版本继续使用,应由企业根据测试目标和业务风险判断。

同一个安装入口,比每次发送新APK更容易维护

逐个通知之所以麻烦,往往还因为团队每次都在发送新的文件。

同一应用在蒲公英上的短地址可以指向其当前版本,测试人员可以保存相对稳定的安装入口,而不必每次从聊天记录中寻找新的APK附件。历史版本则有各自的版本信息和管理方式。蒲公英开发者常见问题

稳定入口的作用不是让测试人员“自动更新”,而是统一更新的起点。

研发发布新测试包后,可以通知测试人员回到固定入口核对版本,而不是继续增加网盘地址、邮件附件和群文件。这样,即使通知来自邮件、群聊或项目系统,最终的安装来源仍然一致。

需要注意的是,测试人员已经保存到本地的旧APK不会因为新版本发布而消失。群聊中的旧文件也不会自动失效。

因此,团队应当形成一个简单规则:

聊天软件只发送版本通知和正式安装入口,不再把APK文件本身作为长期分发方式。

这条规则不能彻底阻止旧包传播,但能明显减少测试人员继续从历史聊天记录安装旧版本的情况。

测试人员说“已经更新”,还要确认什么

测试人员完成安装后,最好能够在App内方便地找到当前版本号。

这个信息可以放在“关于”“设置”或测试信息页面中。除了对用户可见的版本名称,研发和测试团队还应能识别具体构建编号。否则,两个安装包都显示同一个版本名称时,仍然可能无法判断测试的是哪一次构建。

智能硬件App的反馈还不能只包含App版本。

为了让研发能够复现问题,测试记录通常还需要包括:

  • 手机型号和Android系统版本;

  • 智能硬件型号或批次;

  • 设备固件版本;

  • App版本和构建编号;

  • 问题发生的操作步骤;

  • 完整提示信息、截图或必要的视频;

  • 问题发生时间和网络环境。

不是每个问题都需要填写全部内容,但版本信息应成为基本要求。

当测试人员反馈“更新后仍然有问题”时,研发首先应核对版本,而不是马上假设修复无效。

哪些情况下仍然需要人工重点通知

建立自动通知机制以后,人工沟通仍然有价值,只是不应再承担全部常规更新工作。

下面几类版本值得单独提醒:

阻塞测试的紧急修复。
如果旧版本导致主要测试流程无法继续,需要明确告诉相关人员暂停旧版本测试并尽快更新。

安装方式发生变化。
例如新包不能直接覆盖安装、需要重新登录,或者安装前必须保留某些数据,应提前说明,避免测试人员按普通更新处理。

测试对象临时变化。
新增的外部体验人员或短期合作方可能没有加入固定测试成员,需要单独提供入口和任务说明。

硬件或固件范围发生变化。
如果本次版本只适用于部分设备,不能依靠通用通知让所有人同时更新。

具有明确截止时间的验证。
当版本必须在某个节点前完成回归测试时,需要通过项目管理机制确认负责人和结果,而不能只等待通知后的自发反馈。

也就是说,自动通知适合承担常规信息触达,人工沟通则应该用在存在风险、例外和明确责任的版本上。

一套更省事的测试更新方法

如果团队不希望每次发布后都逐个催促,可以把日常流程固定下来:

发布负责人只将经过基础验证的版本设为本轮测试版本,并填写可执行的更新说明。

长期参与测试的成员加入固定通知范围,临时测试人员则通过本轮任务单独管理。

所有通知指向同一个正式测试入口,不再长期转发APK文件。

测试人员安装后,在App内确认版本号和构建编号,再执行本次指定任务。

需要强制确认的版本,在测试记录中登记“已安装”和“已验证”,不能只以通知发送成功作为完成依据。

测试结束后,负责人汇总未更新人员和未完成事项,而不是让研发在多个群聊里反复追问。

这套方法的重点不是把所有工作自动化,而是把自动通知、人工确认和测试责任分别放在适合的位置。

不需要逐个通知,但必须有人对测试结果负责

Android App发布新测试包后,企业完全依赖研发逐个通知测试人员,效率确实很低。

蒲公英的成员管理、版本通知、统一安装入口和版本信息,可以帮助固定测试团队更及时地知道新版本已经发布,也能减少APK文件散落在邮件和群聊中的情况。

但“减少人工通知”不能被理解为“上传后就不用管了”。

一个测试版本是否真正生效,最终要看测试人员有没有完成安装、能不能确认当前版本,以及指定问题有没有得到验证。

因此,更合理的分工是:

平台负责把版本和通知送到测试人员面前;
App负责清楚显示当前版本,并在需要时检查更新;
测试人员负责按任务完成验证;
发布负责人负责确认本轮结果。

当这些责任被分开以后,研发不必每次都逐个发送相同消息,也不会因为“大家应该已经更新了”而在旧版本上反复排查问题。

真正高效的App内测,不是让通知完全消失,而是让每一次必要的通知都对应一个明确版本、一个明确任务和一个可以确认的结果。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐