본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 05. 27. 15:55

테스트 자동화에서의 실질적인 AI 도입

요약

테스트 자동화의 유지보수 비용과 AI 의존성 문제를 해결하기 위해 Playwright 기반의 AI 네이티브 프레임워크인 OpenSecant을 소개합니다. 결정론적 자동화를 AI로 대체하는 대신, 자연어 실행과 셀프 힐링 기능을 통해 지능적으로 증강하는 것을 목표로 합니다.

핵심 포인트

  • Playwright 기반의 AI 네이티브 회복 탄력적 자동화 프레임워크 구축
  • 자연어 기반 테스트 실행 및 로컬 우선 로케이터 지능 지원
  • 로컬 해결 실패 시 LLM 폴백을 통한 셀프 힐링 기능 제공
  • OpenAI, Ollama 등 다양한 클라우드 및 로컬 LLM 지원
  • 복잡한 스텝 정의 없이 단순한 테스트 파일과 코드 매핑 구조 지향

수년간 엔지니어링 및 품질 조직을 이끌어오면서, 저는 직접 무언가를 만들어 봄으로써 실질적인 AI 도입을 탐구하고 싶었습니다.

테스트 분야의 AI에 관한 대부분의 대화는 다음 사항에 집중되어 있습니다:

  • AI 생성 테스트 (AI-generated tests)
  • 자율 테스트 (Autonomous testing)
  • 셀프 힐링 (self-healing) 마법

하지만 실제 엔지니어링 시스템에서는 신뢰성, 투명성, 확장성 및 비용이 여전히 중요합니다.

고전적인 문제: 전통적인 자동화 프레임워크에는 몇 가지 고충이 따릅니다. 유지보수 오버헤드를 유발하는 복잡성, 많은 양의 코딩, 기술 의존성 생성, 중복된 로직, 테스트 확산(Test sprawl) 등이 있습니다. 물론 이에 대한 상용 솔루션들이 존재하지만, 비용이 많이 들고, 벤더 종속성(vendor lock-in)을 유발하며, 유연성이 떨어지고 확장성이 낮습니다.

AI 테스트 문제: 스마트 IDE, 에이전틱 QA (Agentic QA), 도구 호출 (Tool calling) 등이 모두 삶을 더 편하게 만들기 위해 진화하고 있지만, 팀 간의 일관되지 않은 사용, 클라우드 LLM 의존성, 비싼 테스트 구축 및 실행 비용, AI에 대한 과도한 의존성 등은 여전히 지속되는 문제들입니다.

이러한 고민이 저를 OpenSecant를 구축하도록 이끌었습니다 — Playwright를 기반으로 구축된 AI 네이티브 회복 탄력적 자동화 프레임워크입니다.

목표는 결정론적 자동화 (deterministic automation)를 AI로 대체하는 것이 아니라, 가치를 더하는 곳에서 자동화를 지능적으로 증강하는 것이었습니다.

OpenSecant이 현재 지원하는 기능:

✅ 자연어 기반 테스트 실행 (Natural language-driven test execution)
✅ 로컬 우선 로케이터 지능 (Local-first locator intelligence)
✅ 로컬 해결 실패 시 LLM 폴백 (LLM fallback)
✅ 셀프 힐링 셀렉터 (Self-healing selectors)
✅ 단계 메모리 / 재사용 가능한 자동화 지능 (Step memory / reusable automation intelligence)
✅ 탐색적 워크플로우를 위한 QA 에이전트 모드 (QA agent mode)
✅ 병렬 실행 지원 (Parallel execution support)
✅ 클라우드 + 로컬 LLM 제공업체 (OpenAI, Azure OpenAI, Bedrock, Ollama)
✅ 스크린샷을 포함한 테스트 보고서 (Test Report)

... 그리고 더 많은 기능이 준비 중입니다.

아키텍처 (Architecture):

핵심 개념 (Key Concepts):

단순성 (Simplicity):
더 이상 피처 파일 (feature files)이나 스텝 정의 (step definition)는 필요하지 않습니다. 오직 테스트 파일과 코드 매핑 단계만 존재합니다. 이는 QA, 개발자 (Dev), 비즈니스 분석가 (BA) 등 모든 역할을 충족합니다.

결정론적 우선 접근 방식 (Deterministic-first approach):
로컬 로케이터 엔진 (local locator engine)을 사용하여 로케이터 식별을 해결함으로써, LLM 호출에 대한 의존성을 줄입니다.

자가 치유 철학 (Self-healing philosophy):
오류 발생 시 로케이터 엔진 (Locator engine)으로 폴백(fall back)하며, DOM 구조와 접근성 스냅샷 (Accessibility snapshot)을 결합한 하이브리드 요소 구조를 전달합니다. 제안된 로케이터가 실패하면, 2단계로 로컬 LLM 또는 클라우드 LLM을 호출하는 AI 호출 방식으로 폴백하며, 각 계층에서 재시도 (retries)를 수행합니다.

로컬 LLM 지원 (Local LLM support):
클라우드 LLM은 비용이 많이 듭니다. 저는 여러 제공업체의 클라우드 LLM을 사용해 왔습니다. 하지만 수천 개의 테스트를 구축, 실행, 치유해야 할 때 클라우드 모델에 의존하는 것은 비용 부담이 크다는 것을 깨달았습니다.

데이터 프라이버시 (Data Privacy), 설계에 의한 보안 (Security by Design) - 테스트가 민감한 데이터를 다뤄야 하는 경우 로컬 LLM이 정답입니다.

도구 호출 유연성 (Tool Calling Flexibility) - 내부 환경 (Internal Environments), 데이터베이스 (Databases) 등의 통합을 쉽게 테스트할 수 있습니다.

엔터프라이즈 도입 (Enterprise Adoption) - 확장이 더 용이합니다.

저는 phi4-mini, gemma4-e2b 등과 같은 모델과 함께 Ollama를 사용했습니다. 이 모델들은 몇 초 내에 응답하기 위해 8GB GPU를 갖춘 머신이 필요합니다. 이는 최근 로컬 머신이나 파이프라인 설정에서 표준이 되어가고 있으며, 덕분에 확장이 더 쉬워지고 있습니다.

OpenAI, Bedrock, Azure와의 통합도 가능하지만, 비용 측면에서 주의하여 사용하십시오.

에이전틱 QA (Agentic QA):
에이전틱 QA (Agentic QA)는 품질 엔지니어링 (Quality Engineering)의 미래이며, 저는 이를 향해 강력한 발걸음을 내디뎠습니다. 사이트나 앱을 자율적으로 탐색하거나, 향후 실행을 위해 테스트를 구축하고 저장하는 것과 같은 유스케이스 (use cases)가 포함됩니다.

작동 코드 (The working code):

## 로드맵 (Roadmap):

  • 더 스마트한 자가 치유 (Healing) 전략
  • 더 나은 에이전트 기반 탐색 (Agentic exploration)
  • MCP 통합
  • 분산 실행 (Distributed execution)
  • 플러그인 생태계 (Plugin ecosystem)
  • API 및 네이티브 모바일 앱 자동화로의 확장
  • 멀티 에이전트 오케스트레이션 (Multi Agent Orchestration)

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0