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 기반 도구입니다. API(REST, GraphQL, RPC)용 효과적인 테스트 스위트를 만들어 프로그램 충돌을 찾고, 결함을 드러내며, 회귀 테스트 스위트를 제공하는 문제를 구체적으로 해결합니다.
작동 방식
이 도구는 진화 알고리즘과 동적 프로그램 분석을 결합하여 무작위 초기 모집단에서 테스트 케이스를 진화시킵니다. 코드 커버리지와 결함 탐지를 최대화하는 것을 목표로 합니다.
두 가지 모드로 작동합니다:
- 블랙박스 테스트: 프로그래밍 언어에 관계없이 모든 API에서 실행되지만, 코드 분석이 없어 효과가 낮습니다.
- 화이트박스 테스트: JVM 기반 API(Java 및 Kotlin) 전용입니다. 바이트코드를 분석하고, 오염 분석 및 테스트 용이성 변환을 사용하여 더 효과적인 테스트를 생성합니다.
대상 사용자
웹 API용 테스트 스위트를 자동으로 생성해야 하는 소프트웨어 테스터와 개발자, 특히 Java나 Kotlin 같은 JVM 언어를 사용하여 더 높은 정밀도의 테스트를 원하는 사람들을 위한 도구입니다.
주요 기능
- 멀티 API 지원: REST(OpenAPI 스키마 기반), GraphQL, RPC(gRPC 및 Thrift)를 지원합니다.
- 자동 테스트 생성: Python, JavaScript, Java/Kotlin JUnit 형식으로 실행 가능한 테스트 스위트를 생성합니다.
- 화이트박스 기능: JVM 앱의 경우 SQL 및 MongoDB 통신을 가로채 커버리지를 개선하고 데이터베이스 초기화 데이터를 생성할 수 있습니다.
- 결함 탐지: 500 상태 코드, 스키마 불일치, 액세스 정책 위반을 확인하여 버그를 식별합니다.
- 프라이버시 중심: 원격 측정이나 외부 LLM API 요구 사항 없이 사내에서 실행됩니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트