Google 致力于为黑人社区推动种族平等。查看具体举措

开始使用适用于 iOS 的 Firebase 测试实验室

Firebase 测试实验室可让您在各种设备和配置上对应用进行质量测试。本指南概述了测试实验室的关键概念、iOS 产品以及如何开始测试的说明。

有关测试实验室配额和定价计划的信息,请参阅使用情况、配额和定价

关键概念和术语

当您针对您选择的设备和配置运行测试或一组测试用例时,测试实验室会批量针对您的应用运行测试,然后将结果显示为测试矩阵

设备 × 测试执行 = 测试矩阵

设备
您运行测试的物理或虚拟设备(仅限 Android),例如手机、平板电脑或可穿戴设备。测试矩阵中的设备由设备型号、操作系统版本、屏幕方向和区域设置(也称为地理和语言设置)标识。
测试,测试执行
要在设备上运行的测试(或一组测试用例)。您可以为每个设备运行一个测试,也可以选择将测试分片并在不同的设备上运行其测试用例。
测试矩阵
包含测试执行的状态和测试结果。如果矩阵中的任何测试执行失败,则整个矩阵都会失败。

第 1 步:准备您的测试以上传到测试实验室

您可以使用测试实验室运行以下测试。请注意,所有测试类型在物理设备上最多可以运行 45 分钟,任何未捕获的异常都会导致测试失败。

  • XCTest(包括 XCUITests) :您使用XCTest 框架编写的单元测试。有关修改 XCTest 以与测试实验室一起运行的说明,请访问创建 XCTest

  • 游戏循环测试:使用“演示模式”来模拟游戏应用程序中的玩家动作的测试。这是一种快速且可扩展的方式来验证您的游戏是否对用户表现良好。当您选择运行游戏循环测试时,您可以:

    • 为您的游戏引擎编写本机测试。

    • 避免为不同的 UI 或测试框架编写相同的代码。

    • (可选)创建多个循环以在单个测试执行中运行。您还可以使用标签来组织循环,以便跟踪它们并重新运行特定的循环。

    请访问运行游戏循环测试以获取有关如何在测试实验室中运行测试的说明。

第 2 步:选择一个工具来运行您的测试

您可以选择以下工具来运行您的测试:

  • Firebase 控制台可让您上传应用并从任何地方开始测试。有关使用此工具的说明,请参阅使用 Firebase 控制台进行测试

  • gcloud 命令行界面 (CLI)使您能够以交互方式从命令行运行测试,并且也非常适合作为自动化构建和测试过程的一部分编写脚本。有关使用此工具的说明,请参阅使用 gcloud CLI进行测试

  • 在真实设备上进行测试之前,请在模拟器本地运行您的测试,以确保它按预期运行。有关说明,请参阅本地测试

第 3 步:指定测试设备

借助测试实验室,您可以在 Google 数据中心托管的各种 iOS 设备和模型上针对您的应用运行测试。要了解更多信息,请参阅可用设备。

第 4 步:查看测试结果

无论您如何开始测试,您的所有测试结果都由测试实验室管理并可在线查看。

测试结果摘要会自动存储并可在 Firebase 控制台中查看。它包含与您的测试最相关的数据,包括特定于测试用例的视频、屏幕截图、通过、失败或获得不稳定结果的测试数量等。

原始测试结果包含测试日志和应用失败详细信息,并自动存储在 Google Cloud 存储桶中。如果您指定存储桶,则您需要承担存储成本。如果您不指定存储桶,测试实验室会免费为您创建一个。

有关更多详细信息,请参阅分析 Firebase 测试实验室结果。

设备清理

Google 非常重视您应用数据的安全性。我们遵循行业标准的最佳实践,在每次测试运行后删除应用程序数据并重置物理设备的系统设置,以确保它们准备好运行新测试。对于我们可以使用自定义恢复映像刷新的设备,我们通过在测试运行之间刷新这些设备更进一步。

对于测试实验室使用的虚拟设备,设备实例使用后会被删除,以便每次测试运行使用一个新的虚拟设备实例。


测试实验室和移动广告

对于使用或与数字广告提供商(例如,广告网络、需求方平台)以及数字广告提供商合作的应用程序开发人员:

测试实验室为开发人员提供了一个可扩展的应用测试基础设施,可以自动化应用测试。不幸的是,此功能可能会被旨在产生欺诈性广告收入的恶意应用程序滥用。

为了缓解这个问题:

  • 应用程序开发人员应通知与他们合作的任何数字广告提供商,以过滤掉从属于测试提供商(包括测试实验室)的设备产生的收入和所有相应流量。

  • 数字广告提供商可以通过过滤源自以下IP 地址块的流量来过滤广告收入和测试实验室生成的所有相应流量(请注意,您还可以使用 gcloud CLI 中的gcloud beta firebase test ip-blocks list命令访问此列表):

平台和设备类型CIDR IP 地址块
Android 和 iOS 物理设备

108.177.6.0/23

70.32.147.112/28(03-2020 添加)

74.125.122.32/29(04-2020 添加)

108.177.29.80/28(04-2020 添加)

216.239.44.24/29(04-2020 添加)

安卓虚拟设备

34.68.194.64/29(11-2019 添加)

34.69.234.64/29(11-2019 添加)

34.73.34.72/29(11-2019 添加)

34.73.178.72/29(11-2019 添加)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

35.243.2.0/27(7-2019 添加)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29