返回探索
EvoMaster

EvoMaster - 自动化API测试生成工具

自动生成Web API测试用例,支持多种接口类型和语言输出

4
702 浏览
访问官网

详细介绍

EvoMaster 仓库中文介绍文档

EvoMaster 是第一个(2016年)开源的人工智能驱动工具,用于为网络/企业应用程序自动生成系统级测试用例,由 WebFuzzing 维护,支持对 Web API 进行白盒和黑盒测试。它汇聚了进化算法、动态程序分析等核心技术。

要点:

  • 开头就要说清楚:这是什么工具、解决什么问题
  • 包含Stars数(如有)、维护者信息
  • 1-3句话,简洁有力

一、核心信息速览

维度 详情
:--- :---
仓库地址 [EvoMaster](https://github.com/WebFuzzing/EvoMaster)
许可证 LGPL-3.0
核心定位 自动化生成系统级测试用例,用于Web API的白盒和黑盒测试
主要语言 Kotlin
适用人群 软件测试人员;开发人员;自动化测试工程师
关键亮点 支持REST、GraphQL和RPC;使用进化算法;支持多种编程语言输出测试用例;适合回归测试

二、核心功能

功能模块 描述 典型场景
:--- :--- :---
API测试 支持对REST、GraphQL、gRPC和Thrift等API进行测试 测试Web服务接口的健壮性
模糊测试 通过生成输入来发现程序崩溃或漏洞 发现潜在的安全问题
测试用例生成 自动生成有效的测试套件 回归测试中验证代码变更
多语言支持 支持Python、JavaScript、Java/Kotlin JUnit格式 提供多样化的测试结果格式
动态分析 利用动态程序分析技术优化测试用例 提高测试覆盖率
进化算法 使用进化算法优化测试策略 自动提升测试效率
高效覆盖率 最大化代码覆盖率 确保测试全面性
可扩展性强 支持自定义配置 适应不同项目需求

三、快速上手

1. 环境准备

需要安装 Docker 和 Java 环境。

2. 安装方式

无需单独安装,直接通过 Docker 运行即可。

3. 基础配置

根据需要调整参数,如最大运行时间、请求速率等。

4. 核心示例

docker run -v "$(pwd)/generated_tests":/generated_tests webfuzzing/evomaster  --blackBox true --maxTime 30s  --ratePerMinute 60 --bbSwaggerUrl  https://petstore.swagger.io/v2/swagger.json

四、核心亮点

  1. AI驱动:利用人工智能和进化算法提升测试效率。
  2. 多协议支持:支持REST、GraphQL、gRPC和Thrift等多种API类型。
  3. 高效覆盖:最大化代码覆盖率,确保测试的全面性。
  4. 多语言输出:支持生成Python、JavaScript、Java/Kotlin JUnit格式的测试用例。

五、适用场景

  1. API测试:用于对Web API进行自动化测试。
  2. 安全测试:通过模糊测试发现潜在的安全漏洞。
  3. 回归测试:生成有效测试套件用于代码变更后的回归测试。
  4. 持续集成:作为CI/CD流程的一部分,提升测试自动化水平。

六、优缺点

优势

  • 支持多种API类型,适用范围广。
  • 采用AI驱动方法,提高测试效率。
  • 生成的测试用例质量高,适用于回归测试。

不足

  • 对于非Web API的其他系统可能需要额外配置。
  • 需要一定的Docker知识才能使用。

七、与同类工具对比(可选)

工具 类型 核心差异
:--- :--- :---
EvoMaster 开源工具 免费开源,支持多种API和语言
Postman 商业工具 适合手动测试,但缺乏自动化生成能力

八、总结

EvoMaster 是一款面向软件测试人员和开发人员的开源工具,能够自动为Web API生成系统级测试用例,具有高效性和多语言支持的优势。它适合用于API测试和安全测试,但在非Web API场景下可能需要额外配置。

相关工具