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は、Webおよびエンタープライズアプリケーション向けにシステムレベルのテストケースを自動生成するように設計されたAI駆動ツールです。API(REST、GraphQL、RPC)向けの効果的なテストスイートを作成し、プログラムのクラッシュを発見し、障害を明らかにし、回帰テストスイートを提供するという課題に特化しています。
仕組み
このツールは、進化的アルゴリズムと動的プログラム解析を組み合わせて、ランダムな初期集団からテストケースを進化させます。コードカバレッジと障害検出を最大化することを目指しています。
2つのモードで動作します:
- ブラックボックステスト:プログラミング言語に関係なく任意の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の要件なしで社内で実行。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト