/ 오픈소스 / magnitude

magnitude

AI 기반 오픈 소스 엔드 투 엔드 웹 애플리케이션 테스트 프레임워크로, 시각적 AI 에이전트를 사용하여 테스트 프로세스를 자동화합니다.

TypeScriptApache-2.0Application
⭐ GitHubhttps://github.com/magnitudedev/magnitude
34
스타 수
+-11
스타 증가율
Jul 28, 2026
최근 업데이트
2,905
클릭 수

Magnitude - AI 기반 웹 애플리케이션 테스트 프레임워크

프로젝트 개요

Magnitude는 웹 애플리케이션을 위해 설계된 오픈 소스 AI 네이티브 테스트 프레임워크입니다. 시각적 AI 에이전트로 구동되며, 인터페이스를 보고 그 안의 모든 변화에 적응할 수 있습니다.

핵심 기능

🎯 주요 기능

  • ✍️ 자연어 테스트 케이스 구축 - 자연어를 사용하여 테스트 케이스를 쉽게 구축
  • 🧠 강력한 추론 에이전트 - 테스트 흐름을 지능적으로 계획하고 조정
  • 👁️ 빠른 시각적 에이전트 - 안정적으로 테스트 실행
  • 📄 테스트 계획 저장 - 계획을 저장하여 동일한 방식으로 실행
  • 🛠 스마트 문제 처리 - 문제가 발생하면 추론 에이전트가 개입하여 처리
  • 🏃♂️ 유연한 배포 - 로컬 또는 CI/CD 파이프라인에서 테스트 실행 가능

빠른 시작

1. 테스트 실행기 설치

npm install --save-dev magnitude-test

2. 프로젝트 초기화

npx magnitude init

이렇게 하면 다음과 같은 기본 테스트 디렉토리 tests/magnitude가 생성됩니다.

  • magnitude.config.ts - Magnitude 테스트 구성 파일
  • example.mag.ts - 예제 테스트 파일

3. LLM 클라이언트 구성

Magnitude는 두 개의 LLM 클라이언트를 설정해야 합니다.

플래너 (Planner)

  • 추천 모델: Gemini 2.5 Pro
  • 구성 방법:
    • Google AI Studio 또는 Vertex AI를 통해 Gemini 사용
    • Google AI Studio에서 API 키를 생성하고 GOOGLE_API_KEY로 내보내기
    • 대체 제공업체 지원: ANTHROPIC_API_KEY / OPENAI_API_KEY

실행기 (Executor)

  • 사용 모델: Moondream
  • 구성 방법:
    • Moondream에 등록하고 API 키 생성
    • 환경 변수 MOONDREAM_API_KEY 설정
    • 매일 5,000회 무료 요청 제공 (약 수백 개의 테스트 케이스)
    • 완전 오픈 소스이며 자체 호스팅 지원

테스트 실행

기본 실행 명령

npx magnitude

이렇게 하면 *.mag.ts 패턴을 사용하여 발견된 모든 Magnitude 테스트 파일이 실행됩니다.

병렬 테스트

npx magnitude -w <workers>

테스트 케이스 예제

기본 문법

import { test } from 'magnitude-test';

test('can add and complete todos', { url: 'https://magnitodo.com' })
  .step('create 3 todos')
  .data('Take out the trash, Buy groceries, Build more test cases with Magnitude')
  .check('should see all 3 todos')
  .step('mark each todo complete')
  .check('says 0 items left')

복잡한 시나리오 예제

import { test } from 'magnitude-test';

test('can log in and create company')
  .step('Log in to the app')
  .data({ username: '[email protected]', password: 'test' })
  .check('Can see dashboard')
  .step('Create a new company')
  .data('Make up the first 2 values and use defaults for the rest')
  .check('Company added successfully');

핵심 개념

자연어 설명

  • 단계 (Steps): 수행해야 할 작업 설명
  • 확인 (Checks): 자연어 단정
  • 데이터 (Data): 테스트 데이터, 임의의 키-값 쌍 지원

디자인 철학

테스트 케이스 작성은 동료에게 특정 프로세스를 테스트하는 방법을 설명하는 것과 같습니다.

  • 그들이 취해야 할 단계
  • 무엇을 확인해야 하는지
  • 어떤 테스트 데이터를 사용하는지

CI/CD 통합

Magnitude 테스트는 LLM 클라이언트 자격 증명을 포함하기만 하면 Playwright 테스트를 실행할 수 있는 모든 CI 환경에서 실행할 수 있습니다.

GitHub Actions 지원

프로젝트는 GitHub Actions에서 테스트 케이스를 실행하는 방법에 대한 자세한 설명을 제공합니다.

기술 아키텍처

이중 모델 설계

Magnitude는 분리된 계획/실행 모델 아키텍처를 사용합니다.

  • 계획 모델: 효과적인 테스트 전략 수립
  • 실행 모델: 빠르고 안정적으로 테스트 실행

다른 솔루션과의 차이점

OpenAI 또는 Anthropic의 Computer Use API와 비교:

  • 더 빠른 속도: 테스트 케이스에 최적화됨
  • 더 높은 신뢰성: 특별히 설계된 에이전트 아키텍처
  • 더 낮은 비용: 테스트 시나리오에 대한 비용 효율성 최적화
  • 네이티브 테스트 실행기: 특별히 구축된 테스트 설계 및 실행 도구

요약

Magnitude는 AI 기술과 기존 테스트 프레임워크의 장점을 결합하여 웹 애플리케이션에 강력하고 유연하며 사용하기 쉬운 테스트 솔루션을 제공함으로써 테스트 자동화 분야의 중요한 혁신을 나타냅니다. 자연어 테스트 설명과 시각적 AI 에이전트의 결합으로 테스트 케이스의 작성 및 유지 관리가 그 어느 때보다 쉬워졌습니다.