工程开发
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