Ios 如何在Xcode中设置性能测试的最大值
当我在XCode中运行性能测试用例时,我可以设置基线。如果测量结果与基线不同,则会失败 基线是1秒。在以下情况下,测试用例将失败:Ios 如何在Xcode中设置性能测试的最大值,ios,swift,xcode,performance,performance-testing,Ios,Swift,Xcode,Performance,Performance Testing,当我在XCode中运行性能测试用例时,我可以设置基线。如果测量结果与基线不同,则会失败 基线是1秒。在以下情况下,测试用例将失败: 测量值为1.5秒 测量值为0.5秒 我希望看到失败,以防测量速度低于基线(情况1.5秒)。如果更快(案例0.5秒),我很高兴看到绿色的测试案例。 有没有办法做到这一点?指定最大值而不是基线?要回答这个问题,我们必须了解XCodeTest的性能测试。本质上,测试将在完整测试运行期间记录以下两个属性: 10次试运行测量的平均结果 这些测试运行的标准偏差(指示测量范
- 测量值为1.5秒
- 测量值为0.5秒
有没有办法做到这一点?指定最大值而不是基线?要回答这个问题,我们必须了解XCodeTest的性能测试。本质上,测试将在完整测试运行期间记录以下两个属性:
- 10次试运行测量的平均结果
- 这些测试运行的标准偏差(指示测量范围)
max\u STDDEV%
。默认值max\u STDDEV
设置为10%,可在性能结果GUI弹出窗口中更改max\STDDEV
),但这是有风险的,因为仅依赖平均条件1。将允许通过测试,即使是在以下情况下(平均值等于基线(1)),但性病发展率高达40%
(下图为WWDC 2014年会议第一次参考)
在性能测试方面,您希望确保测试具有某种确定性的实现和算法,这样测试的目的可能是发现破坏性能的语言/API更新或新的代码实现。如果您的测试场景确实与上面的场景相同,那么在仔细考虑之后,in可能适合仔细查看,并可能提高最大允许标准偏差。例如,对于随机算法,允许存在较大的标准偏差,更多地依赖于平均性能。然而,危险测试(例如具有大允许stddev的随机算法)是,只有10次测试可能不足以捕获性能损失
另见:
- (见溪流或河流)
- 10次试运行测量的平均结果
- 这些测试运行的标准偏差(指示测量范围)
- 测试运行期间的平均值不得比给定的基线平均值增加10%以上(其中基线平均值是每个配置的并存储在源中)
- 标准偏差不得超过给定的百分比,例如平均值的
。默认值max\u STDDEV%
设置为10%,可在性能结果GUI弹出窗口中更改max\u STDDEV
根据上述规则,我们认识到,当运行“太快”时,您的测试似乎失败的原因并不是因为通过了特定的下限值(0.5s),而是因为测量范围变得太大,未能达到上述标准偏差条件2.
尝试弥补这一点的一个不太好的方法是增加测量允许的最大标准偏差值(
- 要回答这个问题,我们必须了解XCodeTest的性能测试。本质上,测试将在完整测试运行期间记录以下两个属性:
max\STDDEV
),但这是有风险的,因为仅依赖平均条件1。将允许通过测试,即使是在以下情况下(平均值等于基线(1)),但性病发展率高达40%
(下图为WWDC 2014年会议第一次参考)
在性能测试方面,您希望确保测试具有某种确定性的实现和算法,这样测试的目的可能是发现破坏性能的语言/API更新或新的代码实现。如果您的测试场景确实与上面的场景相同,那么在仔细考虑之后,in可能适合仔细查看,并可能提高最大允许标准偏差。例如,对于随机算法,允许存在较大的标准偏差,更多地依赖于平均性能。然而,危险测试(例如具有大允许stddev的随机算法)是,只有10次测试可能不足以捕获性能损失
另见:
- (见溪流或河流)