Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

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

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

关键概念和术语

当你运行一个测试或一组测试案例对设备和您所选择的配置,测试实验室对运行在一个批处理您的应用程序测试,然后显示结果作为测试矩阵

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

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

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

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

  • XCTest(包括XCUITests):你已经使用编写的单元测试XCTest框架。访问创建XCTest关于修改XCTest与测试实验室运行的指令。

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

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

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

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

    访问运行游戏循环测试以了解如何运行测试实验室的测试说明。

第2步:选择要运行测试工具

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

  • 火力地堡控制台可以让你上传的应用程序,并开始从任何地方测试。见测试与火力地堡控制台有关使用此工具的说明。

  • gcloud指令行界面(CLI),使您能够以交互方式运行命令行测试,也非常适合脚本作为自动构建的一部分和测试过程。见测试与gcloud CLI获得使用该工具的说明。

  • 在真实设备上测试之前,在一个模拟器上本地运行的测试,以确保其行为与预期。查看本地测试的说明。

步骤3:指定的测试装置

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

第4步:查看测试结果

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

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

原始测试结果含有测试日志和应用程序故障的详细信息,并自动存储在谷歌云桶。如果您指定存储桶,则您需要承担存储成本。如果您不指定存储桶,测试实验室会免费为您创建一个。

有关详细信息,请参阅分析火力地堡测试实验室结果。

设备清理

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

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


允许测试实验室设备访问私有后端服务器

一些移动应用程序需要与私有后端服务通信才能在测试期间正常运行。如果你的后端服务器通过防火墙规则的保护,您可以通过使用允许测试实验室的物理和虚拟设备访问下面的IP地址块通过你的防火墙开放的路线。

移动广告

测试实验室提供可自动进行应用测试的可扩展基础设施,不幸的是,此功能可能会被旨在产生欺诈性广告收入的恶意应用滥用。

为了缓解这个问题:

  • 如果您使用或与第三方数字广告提供商(例如广告网络或需求方平台)合作,建议您在应用开发和测试过程中使用测试广告而不是真实广告。

  • 如果您必须在您的测试中使用真实的广告,通知您筛选出收入和通过使用从测试实验室生成的所有相应的交通工作的数字广告提供商以下IP地址块。您无需通知 Google 拥有的广告提供商;测试实验室会为您处理这些。

测试实验室设备使用的 IP 地址

通过测试实验室设备产生的所有网络流量从以下来源于IP地址块。请注意,您还可以通过访问此列表gcloud beta firebase test ip-blocks list中gcloud CLI命令。该列表会定期更新(平均每年一次)。

平台和设备类型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