不稳定测试被定义为在未更改代码或测试本身的情况下既返回了合格也返回了失败的测试。
有几个因素会导致不稳定测试结果,如环境不一致、测试运行之间未刷新测试数据、时间和时区问题以及测试执行顺序的依赖项。
不稳定测试的问题在于,它们会减缓 CI/CD 管道并削弱测试过程的可靠性。 由于无法依赖不稳定测试结果,您也无法确定成功的测试运行是否意味着代码没有错误,或者您是否应该在测试失败时花时间尝试重现和修正问题。
要发现不稳定测试,您需要比较多个测试运行的测试结果。 手动执行此分析将相当耗时,不过,好在许多 CI 服务器可自动检测不稳定测试。
找出不稳定测试是对其进行控制的第一步。 了解问题的严重程度,就可以确定修正的优先次序。 在此期间应将不稳定测试静音,从自动化测试报告中排除不稳定测试结果。