标签
一篇来自 Buildkite 的工程博客文章详细描述了一个不稳定的测试如何导致在 redis-client Ruby 库中发现了一个 use-after-free 漏洞,并介绍了调试过程和根本原因分析。
描述了Cursor中的一个循环命令,用于自动修复不稳定的测试:多次运行测试套件,收集间歇性失败,并修复或隔离它们,直到连续5次全绿运行。
文章讨论了软件开发中不稳定测试(flaky tests)的问题,并提出一个简单的机械习惯:在使用合并队列时,继续在主分支上运行完整测试套件,并维护一个可见的近期主分支失败列表,以帮助识别和消除不稳定测试。