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。
相關
- 專案
- 專案
- 專案
- 專案
- 專案