3 分•作者: fohara•25 天前
大家好!Flawd 是一款变异测试工具,支持五种语言(Python、JS、TS、Go、Rust),并且可以作为单个二进制文件在本地运行。重要的是(对许多人来说),您的代码永远不会离开您的机器,所有处理都在您的开发机或 CI 运行器上直接进行。
变异测试是一个过程,在这个过程中,故障(称为变异体)被有意地注入到您的代码库中,然后运行测试。任何未被您的测试检测到的故障都称为幸存者(或幸存的变异体)。幸存者通常表明您的测试断言没有关注预期行为,或者可能完全缺失。代码覆盖率可以告诉您在测试运行期间哪些代码被执行了,而变异测试可以提供关于断言强度以及是否会捕获某些类别的错误的见解。
随着越来越多的代码和测试由代码代理编写,现在是时候构建这样一个工具了。变异测试并非新事物,但许多工具要么是特定于单一语言的,要么在设计时没有考虑到代理工作流程,因此这些是我们想要解决的问题。模型会变得越来越强大和有效,但在某个时候仍然会出现“谁来监督监督者”的情况,我们希望 Flawd 能够为这种平衡提供一种检查。
我们最近对 10 个成熟的开源项目运行了 Flawd,您可以在这里找到完整的报告:<a href="https://fixture.dev/writing/we-mutation-tested-10-projects" rel="nofollow">https://fixture.dev/writing/we-mutation-tested-10-projects</a>
此外,您可以在这里查看示例报告的外观:<a href="https://fixture.dev/flawd/sample-report" rel="nofollow">https://fixture.dev/flawd/sample-report</a>。Flawd 还可以生成机器可读的报告,可以交给代码代理进行测试加强任务。
欢迎随时就 Flawd 提出任何问题,感谢您的关注!