不稳定测试是针对相同配置可能会失败或通过的测试。

到目前为止,您用于识别和处理Jenkins不稳定测试的插件有哪些?

到目前为止我发现了以下两个




脆弱测试处理程序插件:此插件用于处理脆弱测试,包括重新运行失败的测试,汇总和报告脆弱测试统计信息以及

测试结果分析器插件:显示矩阵在同一测试中的后续运行,因此您可以识别哪些测试为偶尔红色。


评论

您要让插件做什么特别的事情吗?

与其依靠插件来解决这个问题,我不如寻找一种具有开箱即用功能的框架。我遇到的一件事是github.com/Codeception/CodeceptJS

#1 楼

抱歉,如果这不是您想要听到的答案,请执行以下操作:测试不应该是flakey

如果测试没有完成,则应考虑将其拆分成较小的碎片或将编排更改为增加稳定性。与增加覆盖范围相比,保持测试的信心更为重要。

进行Flakey测试会浪费大量测试资源,并阻止构建链在CI / CD环境中运行。

Flakey测试插件可以提供帮助,但隔离这些测试并诊断问题确实更好,因为您真的不相信通过此认证。

flakey测试的主要原因是:


等待-尝试使用异常处理程序而不是等待固定的时间段,因为它们也可以更快地完成,但当发生时不会弄乱
不失败-最好在事情不起作用时声明失败,在测试中,您不应该尝试解决该问题(除非您嘲笑该应用程序的一部分具体来说,然后您应该维护该合同)。这是一个典型的错误,编写应用程序代码而不是测试的人会这样做。
通信-当您进行Flakey测试时,您应该与开发人员进行交流,并让他们帮助解决该问题,通常我会与开发人员进行配对会议并且我们可以解决或至少封装好Flake的行为。通常,这仅仅是因为依赖关系不是最新的或未及时交付,如果您不与开发人员保持联系,可能很难找出原因。
如果发现这种情况发生了很多事情可能值得召开3次amigos会议,以确保您最终不会完成尚未准备好的任务。 https://www.agilealliance.org/glossary/three-amigos

评论


Microsft承认脆弱性是某些类型的测试的本质(在发现错误时具有很高的回忆性):uploads.pnsqc.org/2016/papers/…。它们的用途不同于常规回归测试。您想消除在用于过程中的网关控制的regresion测试中的松懈感。

– dzieciou
18年1月2日,12:58



是的,我认识到Microsoft产品的脆弱性;-)(bazinga!)

–阿米亚斯(Amias)
18年1月2日在13:00

我认为您甚至没有阅读这篇文章也忽略了这一点。

– dzieciou
18年1月2日,13:01



我读了一下,我明白了,有一些很好的见识,但这更多是关于拼命尝试解决质量问题而不是最佳实践。该文档可能还提到了软件开发历史上最大的混乱之一,但显然失败了,因为Office是著名的越野车混乱。这是对我的明确警告,非常感谢您的阅读。有一种方法可以使用flakey测试,但真正的收获是隔离flakey测试,不要尝试修复测试或测试套件中的故障。

–阿米亚斯(Amias)
18年1月2日在13:12

Google还认识到即使有采取措施避免并解决这些问题,也有1.5%的测试结果持续不稳定。 testing.googleblog.com/2016/05/…

–亨里克·诺德维克(Henrik Nordvik)
19年3月13日在18:29