자연어 기반 오픈소스 차세대 E2E 테스트 프레임워크 'e2e'

자연어 지시로 앱을 조작하는 AI 에이전트와 Playwright 스타일의 로케이터·단언을 결합해 웹과 모바일(iOS/Android)을 단일 코드로 테스트하고, 성공한 동작을 캐싱해 반복 실행 비용을 없앤 오픈소스 프레임워크.

tau · 2026년 10월 5일

#e2e #testing #ai-agent #playwright #developer-tools

자연어 기반 오픈소스 차세대 E2E 테스트 프레임워크 'e2e'

웹과 모바일 애플리케이션 개발에서 E2E(End-to-End) 테스트는 사용자 경험의 무결성을 검증하는 핵심 절차지만, UI 변경 시마다 쉽게 깨지는 선택자(Selector) 유지보수와 플랫폼별 도구 분편화로 인해 지속적인 엔지니어링 비용을 유발해왔습니다. 최근 자연어 기반으로 화면을 탐색하는 AI 에이전트 테스트 도구들이 등장했으나, 느린 실행 속도와 반복 실행마다 발생하는 높은 LLM API 비용이 도입의 걸림돌로 지적되었습니다. 테스터아미(TesterArmy)가 이러한 한계를 해결하기 위해 Playwright 스타일의 결정론적 로케이터와 AI 에이전트 단계를 결합하고, 성공한 동작을 캐시하여 재실행하는 오픈소스 테스트 프레임워크 'e2e'를 공개했습니다.

웹 브라우저와 모바일 기기 화면을 자연어 에이전트와 Playwright 로케이터로 동시에 테스트하는 e2e 프레임워크 아키텍처 다이어그램

이미지 출처: TesterArmy / GitHub

자연어 에이전트 조작과 결정론적 로케이터 단언의 결합

e2e의 핵심 아키텍처는 유연한 자연어 지시문과 엄격한 코드 기반 검증의 상호 보완적 결합입니다. 사용자가 자연어로 목표를 기술하면 에이전트가 앱과 상호작용하여 이를 완수하는 agent.act() 등의 에이전트 단계와, 정확한 결과를 확인하기 위한 Playwright 스타일의 로케이터 및 단언(assertion)을 하나의 테스트 안에서 함께 사용할 수 있습니다.

// e2e 하이브리드 테스트 작성 예시
test("장바구니 담기 및 결제 흐름 검증", async ({ page, agent }) => {
  await page.goto("https://example.com/shop");

  // 자연어로 복잡한 상품 탐색 및 장바구니 담기 수행
  await agent.act("무선 노이즈 캔슬링 헤드폰을 검색하고 첫 번째 상품을 장바구니에 추가해줘");

  // 정밀한 Playwright 스타일 로케이터와 단언으로 결과 검증
  await expect(page.getByRole("button", { name: "장바구니 (1)" })).toBeVisible();
});

개발자는 테스트의 성격에 따라 에이전트 조작과 전통적인 로케이터 단언을 유연하게 조합할 수 있습니다. 에이전트부터 테스트 실행 엔진까지 필요한 요소를 폭넓게 커스터마이징할 수 있어 프로젝트 환경에 맞는 최적화가 가능합니다.

액션 캐싱 기반 재실행 메커니즘과 BYO 모델 구조

AI 기반 테스트 도구의 주요 한계였던 반복적인 API 비용과 실행 지연 시간은 캐싱 메커니즘을 통해 해결했습니다.

프레임워크에서 통과한 에이전트 조작 단계(passing agent steps)는 캐시에 저장되며, 이후 테스트 재실행 시 AI 모델을 다시 호출하지 않고 캐시에서 그대로 재실행(replay)됩니다. 이를 통해 불필요한 모델 호출을 없애고 반복 실행 비용과 지연 시간을 크게 줄일 수 있습니다.

또한 개발자가 이미 비용을 지불하고 있는 기존 AI 모델이나 구독(model or subscription you already pay for)을 에이전트 단계에 그대로 연결해 활용할 수 있도록 지원합니다.

웹·iOS·Android 단일 크로스 플랫폼 지원과 오픈소스 라이선스

e2e는 웹과 모바일 환경을 아우르는 크로스 플랫폼 테스트 환경을 제공합니다.

  1. 크로스 플랫폼 지원 범위

    • 동일한 테스트를 웹(Web), iOS, Android 전반에서 실행할 수 있어 플랫폼별 도구 분편화 없이 일관된 테스트 스위트를 구성할 수 있습니다.
  2. 오픈소스 라이선스 및 확장성

    • e2e는 Apache-2.0 라이선스로 배포되는 오픈소스 TypeScript 프레임워크입니다.
    • 테스트 목적에 따라 에이전트부터 엔진까지 구성 요소를 자유롭게 커스터마이징할 수 있습니다.
  3. 실행 환경 및 CI 연계

    • 캐시가 없는 초기 에이전트 단계 실행에는 사용자의 기존 AI 모델이나 구독이 활용됩니다.
    • 프레임워크를 개발한 테스터아미(TesterArmy) 플랫폼을 통해 풀 리퀘스트(PR)마다 또는 정기 일정에 따라 웹과 모바일 앱의 자연어 테스트를 자동 실행할 수 있습니다.

출처