WebFuzzing/EvoMaster
The first open-source AI-driven tool for automatically generating system-level test cases (also known as fuzzing) for web/enterprise applications. Currently targeting whitebox and blackbox testing of Web APIs, like REST, GraphQL and RPC (e.g., gRPC and Thrift).
解决的问题
EvoMaster 是一款 AI 驱动的工具,旨在为 Web 和企业应用程序自动生成系统级测试用例。它专门针对为 API(REST、GraphQL 和 RPC)创建有效测试套件的挑战,以发现程序崩溃、揭示故障并提供回归测试套件。
工作原理
该工具使用进化算法结合动态程序分析,从随机初始种群中演化测试用例。它旨在最大化代码覆盖率和故障检测。
它有两种运行模式:
- 黑盒测试:可在任何 API 上运行,无论编程语言如何,但由于缺乏代码分析,效果较低。
- 白盒测试:专门针对基于 JVM 的 API(Java 和 Kotlin)。它分析字节码,使用污点分析和可测试性转换来生成更有效的测试。
适用对象
需要为 Web API 自动生成测试套件的软件测试人员和开发人员,尤其是使用 Java 或 Kotlin 等 JVM 语言进行更高精度测试的人员。
亮点
- 多 API 支持:支持 REST(通过 OpenAPI 模式)、GraphQL 和 RPC(gRPC 和 Thrift)。
- 自动测试生成:生成 Python、JavaScript 和 Java/Kotlin JUnit 格式的可执行测试套件。
- 白盒能力:对于 JVM 应用,可以拦截 SQL 和 MongoDB 通信以提高覆盖率并生成数据库初始化数据。
- 故障检测:通过检查 500 状态代码、模式不匹配和访问策略违规来识别错误。
- 隐私优先:在内部运行,无需遥测或外部 LLM API。
相关
- 项目
- 项目
- 项目
- 项目
- 项目