Xcode 10 并行测试套件测试速度较慢,测试数量较少

Posted

技术标签:

【中文标题】Xcode 10 并行测试套件测试速度较慢,测试数量较少【英文标题】:Xcode 10 parallel test suite testing is slower with a low number of tests 【发布时间】:2018-06-05 09:18:03 【问题描述】:

在 Xcode 10(当前为 beta 1)中,我为我的 ios 项目的测试套件开启了并行测试。

“编辑方案”>“测试”>“信息”。勾选“在模拟器上并行执行”

引入此功能是为了减少测试时间,方法是一次启动多个模拟器以在它们上分布测试套件。 (不要与 Xcode 9 中引入的并行测试相混淆,后者不包括测试套件传播)。

我有 200 次测试,这些是我的结果:

0.6 秒无并行执行 0.9 秒并行执行

所以显然这不能正常工作。我想这可能与模拟器的启动时间有关。但这不是执行时间计算的一​​部分。所以,要么是 Xcode 10 测试版中的一个错误,要么是我没有正确设置它。

【问题讨论】:

【参考方案1】:

有一些开销。 XCTest 需要克隆模拟器,以便每个实例之间的状态相同。每个克隆都必须完成启动。

您可以自行决定并行化是否会缩短测试的执行时间。 UI 测试几乎总是更快。单元测试结果取决于项目的详细信息及其运行的测试。

【讨论】:

【参考方案2】:

我刚刚还在一个包含大约 250k 行代码的中型项目中进行了广泛的测试,我注意到一些非常相似的东西。虽然构建(干净构建和增量构建)的速度与 Xcode 9.4 大致相同,但我还看到运行测试的速度降低了大约 20%。

请注意,尽管该项目的测试相对较少,而且 Apple 通常会在 beta 3 和 beta 6 之间提高性能,因为 beta 1 和 beta 2 主要是为我们提供新功能。那么让我们看看下一个测试版会如何改变...

我也没有看到演示中的“一屏八个模拟器”功能,是吗?

【讨论】:

你是对的。我们现在应该等待。我看到 3 个模拟器弹出用于我的测试。

以上是关于Xcode 10 并行测试套件测试速度较慢,测试数量较少的主要内容,如果未能解决你的问题,请参考以下文章

在同一 iOS 设备上使用 xcodebuild 运行并行测试

如何让 SBT 并行运行测试套件?

如何并行运行机器人框架测试用例而不是并行测试套件?

Selenium GRID:并行运行多个 Robot Framework 测试套件

如何在机器人框架中并行运行多个测试套件上的多个测试用例 | Python

我可以并行运行多个 iOS UI 测试吗?