全流程自动化测试:让测试跟上每天的发布节奏

HiFox 几乎每天都在发布新版本。打开 Changelog,你经常能看到一天十几条功能更新和体验改进。

这么多改动,如何及时完成测试,跟上每天的发布节奏?

我们的测试团队用 HiFox 搭建了一套覆盖提测、用例设计、测试执行和结果验收的自动化流程:不同 Agent 分工处理代码检查、测试版本确认、用例生成和实际操作,测试人员负责安排执行、确认疑点和最终验收。

下面,我们拿一个真实的功能需求,看看它从开发完成到测试验收,是如何在 HiFox 中一步步流转的。

一、我们有哪些 Agent,各自负责什么?

HiFox 的自动化测试主要由五个 Agent 配合完成。

Agent职责主要产出
白小浅阅读需求与代码,执行白盒测试,检查提测条件提测预检、测试结果、风险提示
测小统核对测试版本与任务批次,维护提测状态版本核验结果、测试批次及任务字段
测小案将需求与白盒风险转成可执行用例测试范围、数据准备、用例表
凤小九操作浏览器,执行 Web 黑盒测试用例结果、截图、录屏、测试报告
端小九执行桌面客户端的黑盒测试,以及客户端的安装、升级用例结果、截图、录屏、测试报告,以及环境证据

白小浅从代码和测试结果判断实现是否正确;测小案负责生成测试用例;凤小九和端小九按照测试用例实际进行测试;测小统则确保任务与测试版本对应。

每个任务按实际需要选择测试路径。凤小九和端小九都是负责黑盒测试的,普通 Web 功能可以交给凤小九,涉及客户端安装、升级或本地环境时,再安排端小九。

这些 Agent 的工作流程大致如下。

二、Agent 是如何实现全流程自动化测试的?

案例:会话中可以切换 Runtime

我们拿一个实际案例来走一遍 HiFox 的全流程自动化测试。

在 HiFox 中,Agent 通过 Runtime 执行工作。Runtime 可以理解为运行在某台电脑上的 AI 工具,例如 Claude Code 或 Codex。

用户与 Agent 聊天时,可能希望临时换一个执行工具,或者换到另一台电脑上运行,同时保留 Agent 原来的默认设置。

因此,聊天窗口需要提供会话级的 Runtime 选择:

  • 默认“跟随 Agent 设置”。
  • 可以为当前会话选择其他 Runtime。
  • 清楚展示当前使用的工具和电脑。
  • 遇到不能切换的情况,说明原因。

开发提交 PR

需求确认之后进入开发,开发完成后,会把 PR 关联到这个需求,然后把任务标记为“待测试”。

这个时候,自动化测试流程就正式开始了。

任务被标记为待测试

白小浅:白盒测试

HiFox 空间中设置了一个自动化:当任务被设置为“待测试”状态时,白小浅就会自动介入,开始进行白盒测试。

白小浅首先核对需求对应的提交、合并结果和测试包,确认目标提交已经包含改动,再执行相关测试。

白小浅的白盒测试结果

测试结果是用例全过,可以流转到下一环节。

预检同时指出了需要黑盒继续检查的部分:切换电脑后的工作目录表现、弹层位置,以及失败重试是否仍然落到指定电脑。这些风险随后成为用例设计的输入。

测小统:版本预检

单个需求提交之后,会集中到一个版本里进行测试。测小统的职责就是确认当前提测的版本包含哪些需求,可以进入测试的就把状态流转到测试中。

版本打包完成后,会通知到飞书群,然后触发测小统安排测试。

测小统的版本核验结果

测小案:设计测试用例

测小案在一个任务进入“测试中”时触发,会自动生成一系列测试用例。

测小案生成的测试用例

测小案先围绕需求设计了七条用例,覆盖默认跟随、固定目录限制、切换后的目录恢复、弹层展示和配置保持等行为。

在给它提了更多要求之后,它补充了九条真实使用场景,将设计扩展到 16 条用例。

端小九:执行黑盒测试

用例设计完成之后就可以开始实际的执行了。当前这个需求需要在客户端中验证,所以实际执行的是端小九,由测试同事手动发起。

端小九执行的用例结果

端小九执行了所有用例,给出了每条用例的验证情况,并交付了一系列证据,包括 HTML 报告、产物清单、71 张截图和 8 段录屏。

测试产生的截图与录屏证据

人工验收

人工验收主要验两件事:

  1. 走一遍需求流程,确认没有 Agent 漏掉的问题。
  2. 查验 Agent 在测试中留存的所有证据,确认 Agent 的测试流程正确。

人工验收通过之后,这个需求就测试完成,可以流转为待发布了。

三、在 HiFox 中如何配置?

要让这些 Agent 持续协作,需要将分工落实到 HiFox 的 Agent 配置、自动化规则、任务字段和测试环境中。

Agent

在 HiFox 中,以上的白盒分析、用例设计和实际执行等流程都需要被创建为 Agent,并配置指令,连接 Git 等等。

自动化测试相关的 Agent 配置

这些 Agent 使用本地运行模式,通过绑定的电脑和 Runtime 执行工作。由于自动化测试往往需要 24 小时可运行,所以我们建议的方案是使用一台 24 小时开机的共享开发机,在上面安装好 Runtime 如 Claude Code 或 Codex 等。白盒 Agent 需要仓库与测试依赖;客户端 Agent 则需要安装好的测试客户端及可操作的桌面环境。

工具使用方法还可以通过 技能 配置。例如,凤小九配置了 electron 技能,Windows 端小九配置了《HiFox Stage 测试流程》技能。提示词定义职责,技能提供具体操作方法。

自动化

在 HiFox 的“自动化”功能中,配置触发条件、执行 Agent、执行指令,就能把测试接到日常任务流转中。

测试流程中最常用的两条自动化是:

触发条件执行 Agent执行指令
任务状态变为“待测试”白小浅执行需求分析、白盒测试、风险判断和提测预检
任务状态变为“测试中”测小案根据任务描述和评论设计测试用例,将结果输出到原任务评论

在自动化详情中可以看到提示词和运行记录。

自动化详情中的提示词与运行记录

除了任务状态变化触发 Agent 之外,我们还会使用定时自动化,每天自动更新帮助文档和 Changelog,具体见让文档更新跟着产品发布走。

飞书集成

HiFox 支持集成飞书,从飞书创建和指派任务,把运行结果推送到飞书等等。

关于飞书配置的详情,具体见连接飞书:让群聊里的问题真正被推进下去。

飞书中的任务通知

Git 集成

HiFox 支持集成 Github/Gitlab,可以把任务和代码对应起来,从而推进自动化测试。

关于 Git 配置的详情,具体见 GitHub 集成。

任务与代码的关联

快捷指令

HiFox 中支持随时从任务随时发起跟其他 Agent 的对话,并可以配置常用的会话内容,一键发送给 Agent。特别适合测试场景。

从任务发起快捷指令

配置常用的会话内容

四、必要的准备

要让 Agent 顺畅地完成从代码检查到实际操作的全流程自动测试,团队还需要做好一系列准备。

前后端代码放在同一个仓库

在这套实践中,前后端代码放在同一个仓库,方便 Agent 沿着用户操作追踪完整实现:从页面入口,到接口请求,再到业务逻辑和数据存储。

以切换 Runtime 为例,白小浅需要同时检查前端选择器、后端切换限制和运行派发逻辑。同仓库让它可以在同一份代码基线上核对这些行为,也更容易确认一个测试版本是否包含完整改动。

仓库里还应写清前后端启动方式、测试命令、依赖安装和测试数据库准备方法,减少每次执行时重新摸索环境的成本。

在仓库里沉淀可重复执行的单元测试

单元测试不需要启动完整产品,能在几秒内验证接口逻辑、权限规则、状态流转这类内部行为。对自动化测试来说,它是白盒检查中最快、最稳定的一道防线,和黑盒测试互补:单元测试证明内部逻辑正确,黑盒测试负责确认用户可感知的行为。明显的逻辑问题应该在单元测试阶段被拦下,而不是消耗黑盒用例的执行时间才发现。

要让 Agent 用得上单元测试,需要提前做到:

  • 覆盖重要且容易出错的逻辑。权限判断、状态流转、边界条件、数据转换这些部分要有测试兜底,Agent 才能在改动出现时立刻验证预期,而不是逐行推断。
  • 测试稳定、结果确定。不依赖外网、特定电脑的本地状态、当前日期或随机值,依赖外部服务的部分用替身替代。同一批测试在任何一台 Runtime 机器上的结果应当一致,“偶尔失败”的测试会让 Agent 无法判断该信还是该改。
  • 运行命令写进仓库。仓库往往同时包含多种语言(例如前端、后端、客户端各有一套测试),要把怎么跑全部测试、怎么只跑与某个改动相关的测试都写清楚,Agent 才能选对范围最小的验证。
  • 把测试接进提交门禁。提交改动前自动运行受影响的测试,让基础问题在进入版本之前就被拦下;白盒预检面对的干扰也会更少。

按全栈方式交付功能

一个 Feature 应当有贯穿前后端的负责人,将界面交互、接口行为、权限规则和数据变化作为整体交付。

例如,“切换电脑后工作目录恢复默认”,需要前端更新显示、后端保存正确配置,并让后续运行使用新配置。验收标准应描述这条完整行为。

这不要求所有代码都由同一个人编写,但需要有人对完整用户路径负责。提测时,前后端改动、部署条件和验收规则都应已经对齐,让测试 Agent 能沿着同一条业务链路验证。

使用 24 小时在线的共享测试机

自动化测试适合运行在专门的共享测试机上。测试机应保持在线,避免个人电脑休眠、关机或被日常工作占用后,Agent 执行中断。

共享机需要预先准备浏览器、测试客户端、Runtime 和测试工具;登录专用测试账号,以及所需的组织、空间和角色权限等。

把测试环境准备写成脚本

仓库中提供统一的依赖安装、数据库初始化、服务启动和测试命令,让 Agent 能重复执行。

环境检查也应自动化:开测前确认服务可访问、数据库迁移完成、测试机在线、Runtime 可用。准备失败时直接报告具体原因,避免耗费大量时间探索环境。

为测试准备专用账号和数据

提前准备管理员、普通成员、只读成员,以及有权、无权访问指定空间的账号。

测试数据也应支持自动创建和清理。用例依赖的条件越明确,执行时越少出现“缺少环境,无法验证”。

给每个 Feature 写清验收标准

需求中至少说明主流程、权限限制、异常行为和保存后的预期。

“支持切换 Runtime”还不够,需要明确:切换影响当前会话还是整个 Agent?运行中能否切换?换电脑后路径如何处理?失败重试使用哪个 Runtime?

这些规则先确定,Agent 才能据此判断对错,减少把实现现状直接当作预期结果的情况。

测试产物及时上传,避免只保存在执行目录

报告、截图、录屏和结果文件应在执行后及时上传,并关联任务、运行编号和用例编号。

Agent 的临时工作目录可能被回收。前面的调研中就出现过产物丢失后重新执行测试的情况。持久化证据能避免重复劳动,也方便其他人复核。

五、结语

这套全流程自动化测试让 Agent 承担了代码检查、用例设计和测试执行中的大量工作,也让测试人员能够把精力放在验收标准、异常判断和质量把关上。需求、代码、用例和执行证据都围绕同一张任务流转,交接有依据,问题也更容易追溯。

如果你的团队也希望让测试跟上开发节奏,可以从 HiFox 中的一条自动化开始:任务进入“待测试”,自动交给 Agent 做白盒检查。跑通之后,再逐步加入用例设计、浏览器或客户端测试,以及人工验收。

欢迎使用 HiFox,从一个真实需求开始,搭建适合自己团队的自动化测试流程。