突变测试进入了DAML。
该公司发布了 Mewt,一个开源的变异测试引擎,用于识别测试套件中的漏洞,现已将其扩展以支持 DAML,即用于 Canton Network 应用程序的语言。Mewt 读取 DAML 代码,生成变异体,并将其通过现有测试套件运行,以统计存活变异体的数量。该数量反映了测试套件的检查程度,相较于传统的代码覆盖率报告,能提供更准确的测试有效性度量。代码覆盖率报告可能具有误导性,因为它仅表明代码是否被执行,而无法判断若代码未按预期工作,测试是否会失败。相反,变异测试通过破坏代码并检查测试是否失败来对测试进行评级,从而提供更全面的测试有效性度量。Mewt 对 DAML 的支持包括两种针对授权原语的新变异,而授权原语是 DAML 合约中常见的漏洞来源。该工具可轻松集成到现有工作流中,其输出能清晰指出缺失且需要编写的测试。通过使用 Mewt,开发人员可确保其测试全面且有效,降低代码中漏洞和错误的风险。公司计划继续改进 Mewt,包括增加更多变异类型,并提升其检测等价变异体的能力(即不影响代码行为的变更)。总体而言,Mewt 为开发人员提供了一个强大的工具,以提升测试的质量与有效性;其对 DAML 的支持是确保 Canton Network 应用程序可靠性与安全性的关键一步。使用 Mewt 有助于开发人员在开发早期识别并修复漏洞,从而降低交付高质量软件所需的总体成本和时间。