Device Farm:什么是设备农场、云服务与真实设备

作者: IT Sectr 发布日期: 2026-04-11 阅读时间: 9 分钟

Device Farm — 是一项云服务,提供对数百台真实移动设备的远程访问,用于应用程序的自动化和手动测试。开发人员上传 APK 或 IPA,选择设备配置并并行运行测试,无需购买物理设备。根据 Perfecto, 2025 的报告,使用 Device Farm 的团队比使用本地设备农场的团队减少 73% 的回归测试时间。

要点

  • Device Farm — 通过订阅可用的真实移动设备云农场
  • 并行运行 多台设备上的测试将验证时间从几天缩短到几小时
  • AWS Device Farm、BrowserStack 和 Firebase Test Lab — 三大提供商
  • 跨浏览器测试 在模拟器上得到支持
  • CI/CD 集成 允许每次提交时自动在 Device Farm 上运行测试

什么是 Device Farm

Device Farm — 是一种用于移动应用程序测试的基础设施解决方案,通过互联网提供对物理和虚拟设备的远程访问。与购买和维护自己的设备实验室不同,开发人员租用他人设备上的时间,仅按实际使用付费。

为什么需要 Device Farm

移动设备市场包含超过 24,000 种独特的 Android 智能手机型号(根据 OpenSignal, 2025)。购买所有流行型号用于测试是不可能的 — 这需要数百万美元的投资和不断更新设备群。Device Farm 通过订阅方式提供对最新设备的访问来解决这个问题。

物理设备与模拟器

模拟器仅覆盖 60–70% 的测试场景。真实设备对于检查传感器、摄像头、GPS、电池电量、弱硬件性能以及来电时的行为是必需的。Device Farm 结合了两种方法:用于快速冒烟测试的模拟器和用于完全验证的物理设备。

Device Farm 适合谁

Device Farm 适用于发布第一个应用程序的初创公司、定期发布的成熟产品团队以及拥有数十个应用程序的 企业项目。使用合理性随着目标设备数量和发布频率的增加而增加 — 需要检查的配置越多,云模型就越有利。

Device Farm 如何工作

使用 Device Farm 的典型工作场景包括五个阶段:上传构建、选择设备、配置测试、运行、分析结果。每个阶段都通过 API 自动化,从而可以将 Device Farm 嵌入到 CI/CD 管道中而无需手动干预。

上传应用程序

开发人员将构建的 APK(Android)、AAB 或 IPA(iOS)文件上传到提供商的云存储。某些服务(如 Firebase Test Lab)也直接接受 Xcode 或 Android Studio 项目。文件大小有限制:AWS Device Farm 支持最大 200 MB,BrowserStack 支持最大 500 MB。

选择配置

从设备目录中选择目标型号和操作系统版本。现代 Device Farm 支持分组:“2024–2025 年所有旗舰机”或“搭载 Android 13–14 的经济型 Android 设备”。并行执行 允许同时在 10–50 台设备上运行一个测试,将总时间缩短到几分钟。

运行与监控

测试在提供商的真实设备上运行。开发人员通过 Web 控制台实时观察进度:日志、屏幕截图、测试视频记录。测试失败时,Device Farm 会截取屏幕截图并收集崩溃日志用于诊断。

groovy
// Jenkinsfile 中 Device Farm 配置示例
pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh './gradlew assembleDebug'
            }
        }
        stage('Device Farm Tests') {
            steps {
                sh '''aws device-farm schedule-run
                    --project-arn arn:aws:devicefarm:us-west-2:123:project:1
                    --app-arn arn:aws:devicefarm:us-west-2:123:app:1
                    --device-pool-arn arn:aws:devicefarm:us-west-2:123:pool:1
                    --test-arn arn:aws:devicefarm:us-west-2:123:test:1'''
            }
        }
    }
}

Device Farm 的主要功能

现代 Device Farm 不仅提供测试运行,还提供用于诊断、性能监控和与其他开发服务集成的辅助工具。功能集因提供商而异,但核心保持一致。

自动化测试

所有主要框架都得到支持:Android 的 Espresso 和 UI Automator,iOS 的 XCTest 和 XCUITest,跨平台项目的 Appium 和 Calabash。Device Farm 无需修改代码即可运行测试 — 只需在配置时指定测试框架即可。

手动交互测试

开发人员通过浏览器获得对真实设备的远程访问:触摸、滑动、旋转屏幕、按下按钮 — 所有操作都实时传输。交互模式 对于复现自动化测试未覆盖的罕见错误至关重要。AWS Device Farm 提供最多 60 分钟的手动会话,无需额外费用。

诊断数据收集

每次运行后,Device Farm 会生成报告:测试的 视频记录、逐步屏幕截图、设备日志(Android 的 logcat,iOS 的 syslog)、性能数据(CPU、内存、网络)和崩溃堆栈。这些数据有助于在不使用本地设备复现的情况下定位问题。

CI/CD 集成

所有大型 Device Farm 提供商都提供 Jenkins、GitLab CI、GitHub Actions 和 CircleCI 的插件。Webhook 通知 通过 Slack、Telegram 或电子邮件通知团队测试结果。配置 CI/CD 集成是实施持续交付的团队的标准做法。

功能AWS Device FarmBrowserStackFirebase Test Lab
物理设备
模拟器
手动测试
错误定位视频 + 日志视频 + 日志仅日志
免费限制每月 1000 分钟60 分钟试用期Firebase 测试 — 免费

Device Farm 市场由三个主要类别代表:通用云提供商(AWS)、专业测试服务(BrowserStack)和平台生态系统内的工具(Firebase)。选择取决于技术栈和团队预算。

AWS Device Farm

与 Amazon Web Services 生态系统集成。已经使用 AWS 进行托管和 CI/CD 的开发人员获得统一合同以及与 CodePipeline 和 CodeBuild 的无缝集成。AWS Device Farm 支持在物理设备和模拟器上测试 Android、iOS 和 Web 应用程序。

BrowserStack App Automate

最大的独立提供商,拥有超过 3,000 台真实设备的设备群。BrowserStack 以方便的 Web 界面、快速的设备提供速度(10–15 秒)和无需复杂配置的 Appium 支持而闻名。该服务在新型号发布后一周内自动更新设备群。

Firebase Test Lab

Google 提供的免费服务,适用于 Android 应用程序,具有 iOS 测试功能(有限)。Firebase Test Lab 对初创公司尤其有吸引力:基本测试场景无需订阅即可使用。与 Firebase Console 和 Crashlytics 的集成允许将测试失败与生产中的真实崩溃联系起来。

其他提供商

市场上还有 Samsung Remote Test Lab(免费访问三星设备)、Kobiton(面向企业,支持本地部署)、Perfecto(被 Perforce 收购,专注于金融领域)和 Sauce Labs(最古老的服务之一,现在是 Tricentis 的一部分)。

在 Device Farm 上运行测试示例

让我们看看 Firebase Test Lab 与 Android 应用程序的命令行集成。Firebase Test Lab 通过 gcloud CLI 运行测试,从而可以将执行嵌入到任何 CI 管道中,无需额外插件。该示例显示了在三个设备上的最小冒烟测试配置。

bash
# 安装 gcloud CLI 并授权
gcloud auth login
gcloud config set project my-android-app

# 将 APK 上传到 Firebase Test Lab
gcloud firebase test android run \
    --app app-debug.apk \
    --test app-debug-test.apk \
    --type instrumentation \
    --device model=Pixel7,version=34 \
    --device model=SamsungS23,version=33 \
    --device model=OnePlus12,version=34 \
    --timeout 30m \
    --results-bucket gs://my-app-test-results

该命令上传两个文件:构建本身和带有 Espresso 仪器测试 的测试 APK。如果未明确指定 version,Firebase Test Lab 会自动为每个模型选择最新的可用操作系统版本。结果保存在 Google Cloud Storage 中,格式为 XML 和 HTML,可在浏览器中查看。

与 GitHub Actions 集成

每次推送时自动运行使用 GitHub Actions。工作流构建应用程序,运行 Firebase Test Lab 并返回验证状态。

yaml
name: Android CI with Device Farm
on: [push]
jobs:
  test-on-devices:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-java@v4
        with:
          distribution: temurin
          java-version: 17
      - run: ./gradlew assembleDebug assembleDebugAndroidTest
      - uses: google-github-actions/auth@v2
        with:
          credentials_json: ${{ secrets.GCP_SA_KEY }}
      - run: gcloud firebase test android run
          --app app/build/outputs/apk/debug/app-debug.apk
          --test app/build/outputs/apk/androidTest/debug/app-debug-test.apk
          --device model=Pixel8,version=35

Device Farm 定价模式

Device Farm 的成本由几个参数组成:并行会话数、设备类型(物理或模拟器)、测试持续时间和附加功能。在选择提供商之前了解成本结构非常重要,以避免扩展时产生意外支出。

测试分钟

大多数提供商按设备实际使用时间收费。物理设备 比模拟器贵 2–5 倍。AWS Device Farm 为新账户每月提供 1000 免费分钟,BrowserStack 提供 60 分钟试用期。物理 Android 设备上一分钟的平均成本为 0.05–0.17 美元。

团队订阅

对于定期测试,固定订阅更划算。BrowserStack 为 3 名用户提供每月 299 美元的 Team 计划,在物理设备上无限分钟。AWS Device Farm 没有固定订阅 — 按分钟付费,这对于不规则负载很方便,但在密集使用时更贵。

隐藏成本

计算预算时请考虑:测试工件(视频、屏幕截图、日志)的 存储 — AWS Device Farm 免费保存结果最多 90 天,BrowserStack 最多 30 天;上传大型 APK/IPA 时的 网络流量并行会话数 — 增加并行性可能需要更昂贵的计划。

常见问题

Device Farm 与普通模拟器有何不同?

模拟器 通过软件在您的计算机上模拟设备,而 Device Farm 提供对具有原始固件、处理器和传感器的真实物理设备的访问。只有在真实设备上才能检查摄像头、GPS、外壳温度以及与运营商网络的交互。

Device Farm 可以用于 iOS 应用程序吗?

是的,所有大型提供商都支持 iOS。测试需要使用开发证书构建的 IPA 文件。BrowserStack 和 AWS Device Farm 提供物理 iPhone 和 iPad,Firebase Test Lab 通过数据中心的 macOS 模拟器支持 iOS。

Device Farm 如何与 Jenkins 集成?

Jenkins 通过插件(例如 AWS Device Farm Plugin)或在构建阶段运行的 CLI 命令进行集成。该插件自动上传构建工件,在选定设备上运行测试并将结果返回到 Jenkins 管道。

初创公司应该选择哪个 Device Farm?

对于初创公司,Firebase Test Lab 是最优选择 — 基本功能免费,与 Android Studio 的集成开箱即用。对于 iOS 项目,BrowserStack 提供 60 分钟免费测试。随着团队成长,转向包含完整设备群的付费订阅。

将应用程序上传到 Device Farm 安全吗?

大型提供商遵守 SOC 2 认证 并在传输和存储过程中加密数据。AWS Device Farm 在隔离的 AWS 账户中运行,BrowserStack 为每个会话使用一次性设备。敏感数据(API 密钥)建议放在构建配置中。

总结

  • Device Farm — 用于在真实设备上测试的云基础设施,取代物理实验室
  • 并行运行 数十台设备上的测试将回归测试时间从几天缩短到 1–2 小时
  • AWS Device Farm、BrowserStack 和 Firebase Test Lab — 三大主要提供商,各有不同的定价模式
  • 物理设备 对于检查传感器、性能和与操作系统的交互是必需的
  • CI/CD 集成 Device Farm 与 Jenkins、GitHub Actions 和 GitLab CI 确保每次提交时自动测试
  • 提供商选择 取决于技术栈:Firebase 方便用于 Android,BrowserStack 用于跨平台项目,AWS 用于 Amazon 生态系统中的团队
  • 建议:从 Android 的 Firebase Test Lab 和 iOS 的 BrowserStack 开始,然后随着团队成长扩展到 AWS Device Farm

我们将开发一款交钥匙移动应用程序

IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。

讨论项目

另请阅读