工程开发
flaky-detect avatar

flaky-detect

通过分析持续集成 (CI) 历史、执行模式与代码结构,识别、分类并排除不稳定的测试 (flaky tests),以提升测试套件的可靠性。

简介

Flaky Detect 技能专为工程团队设计,旨在隔离那些导致生产力低下的非确定性测试故障(即不稳定的测试)。通过整合持续集成 (CI) 历史数据与静态代码分析,此工具能帮助开发者超越简单的调试,针对间歇性测试失败实施根本原因解决方案。适用于 CI/CD 工程师、QA 主管及处理大规模测试套件不稳定问题的软件开发者。

  • 分析 GitHub Actions 与自定义 CI 日志,以检测各测试执行期间的统计性通过/失败异常。

  • 根据行业分类标准归纳不稳定行为,包括异步/时间同步问题、测试顺序依赖、环境差异、资源限制与非确定性逻辑。

  • 执行测试文件的静态分析,识别如显式超时、未等待的 Promise、不受控的随机性以及对外部环境的依赖等常见缺陷模式。

  • 提供具体的代码改善建议,例如使用模拟时间函数(如 vi.setSystemTime)或确保测试隔离性。

  • 支持多轮重复执行分析,以高信度识别间歇性故障。

  • 当用户汇报 CI 管线不可预测地失败,或特定测试无故时而通过、时而失败时,建议启用此技能。

  • 输入要求包括对历史 CI 日志或测试执行结果的访问权限。输出格式为结构化报告,详列通过率、根本原因分类、代码级别的漏洞位置以及修正建议。

  • 实际限制包含需要足够的历史数据量(如至少 5 次执行)以计算可靠的通过率。虽然提供自动化检测,建议仍需人工验证修正方案,以确保测试意图不被误改。

  • 在进行测试可靠性审核、发布准备或维护遗留测试基础架构时使用此工具,以确保部署过程的稳定性与可重复性。

仓库统计

Star 数
127
Fork 数
18
Open Issue 数
1
主要语言
TypeScript
默认分支
main
同步状态
空闲
最近同步时间
2026年4月30日 08:00
在 GitHub 查看