AI新工具
banner

Mutahunter


介绍:

Mutahunter是一款开源且语言无关的LLM驱动自动化软件突变测试工具。









Mutahunter

Mutahunter是一个开源的、与编程语言无关的基于大型语言模型(LLM)的变异测试工具,专注于自动化软件测试。它由CodeIntegrity团队维护,欢迎任何人贡献。Mutahunter利用先进的LLM模型注入上下文感知的故障到代码库中,从而超越了传统的基于语法树(AST)的变异测试方法。其AI驱动的方式确保了全面和有效的测试,显著提高了软件的安全性和质量。

使用场景

Mutahunter适用于多个编程语言,并可扩展以支持任何能提供Cobertura XML、Jacoco XML或lcov格式覆盖报告的编程语言。其主要应用场景包括:

  1. 增强测试用例的有效性:通过注入伪装成真实漏洞的变异,Mutahunter能有效评估和改进测试用例的鲁棒性。
  2. 软件质量提升:帮助开发者发现测试用例中未覆盖到的潜在缺陷,提高整体代码质量和安全性。
  3. CI/CD集成:未来计划包括与流行的CI/CD平台如GitHub Actions集成,以便在持续集成过程中自动执行变异测试。
  4. 代码审查:通过自动生成变异,帮助审查Pull Request中的改动,确保新代码的高质量和安全性。

使用Mutahunter的步骤概要如下:

  1. 安装并配置所需环境,包括Python 3.11+,LLM API Key(如OpenAI或Anthropic)。
  2. 准备覆盖报告文件(Cobertura XML、Jacoco XML、lcov格式)。
  3. 运行Mutahunter命令,生成变异测试报告,识别出测试用例的弱点和未捕获的潜在漏洞。

具体命令示例如下:

mutahunter run --test-command "pytest test_app.py" --test-file-path "test_app.py" --code-coverage-report-path "coverage.xml" --only-mutate-file-paths "app.py"

Mutahunter生成的报告包括:

  • mutants_killed.json:包含被测试用例捕杀的变异列表。
  • mutants_survived.json:包含存活下来的变异列表。
  • mutation_coverage.json:包含变异覆盖报告。
  • test_suite_report.md(实验性):详细报告测试用例中识别出的弱点和未捕获的潜在漏洞。

通过这些报告,开发者可以直观地看到测试用例的有效性和代码中的潜在风险点,从而进行针对性的改进。

可关注我们的公众号:每天AI新工具

广告:私人定制视频文本提取,字幕翻译制作等,欢迎联系QQ:1752338621