테스트 자동화를 가속하는 영문형 DSL 플랫폼 ATAP
초록
ATAP는 테스트 담당자가 프로그래밍 지식 없이도 영어와 유사한 도메인 특화 언어(DSL)로 자동화 스크립트를 작성하도록 지원한다. Xtext·Xbase 기반 DSL를 Selenium WebDriver 코드로 변환하고 Eclipse 플러그인 형태로 제공한다. 실제 프로젝트 적용 결과, 스크립트 작성 시간이 평균 25 % 감소하고 비전문가도 71 % 이상의 시나리오를 자동화할 수 있었다.
상세 분석
본 논문은 테스트 자동화의 두 가지 근본적인 문제—스크립트 작성이 개발 작업에 가까워 비전문가가 접근하기 어렵고, 작성된 스크립트가 가독성이 낮아 유지보수가 비용이 많이 든다—에 대한 해결책으로 ATAP(Accelerating Test Automation Platform)를 제안한다. ATAP는 영어에 가까운 DSL을 도입함으로써 테스트 담당자가 자연어 수준의 구문으로 테스트 흐름을 기술하도록 설계되었다. 주요 기술 스택은 Xtext와 Xbase를 이용한 DSL 정의, Xtend 기반 코드 생성기, 그리고 Selenium WebDriver API 호출이다. DSL은 Gherkin의 ‘Given‑When‑Then’ 구조를 차용해 사전조건, 동작, 검증을 명확히 구분한다. 또한, Eclipse IDE와 통합된 플러그인 형태로 제공돼 자동 완성(proposals) 기능을 통해 키워드와 객체명을 선택형으로 입력하도록 지원한다. 이는 사용자가 DSL 문법을 외우지 않아도 되게 하여 학습 비용을 크게 낮춘다.
ATAP는 두 종류의 파일(객체 정의 파일과 테스트 단계 파일)로 스크립트를 구성한다. 객체 파일에서는 웹 요소를 ID, name, xpath 등으로 선언하고, 테스트 단계 파일에서는 ‘When I set the TextField fromCity to “New York”’와 같은 명령을 기술한다. DSL에 포함되지 않은 복잡한 동작은 ‘JavaCode’ 키워드를 통해 직접 Java 코드를 삽입할 수 있게 함으로써 Selenium 전체 기능을 손실 없이 활용한다.
실제 적용 사례는 인도와 미국에 걸친 다국적 프로젝트이며, 세 그룹(전문 Selenium 엔지니어, 비전문 테스트 담당자, ATAP 개발자)이 동일한 시나리오를 자동화하도록 실험했다. 결과는 다음과 같다. (1) ATAP는 모든 시나리오를 커버했으며, Selenium WebDriver 대비 평균 25 %의 작업량 절감 효과를 보였다. (2) 비전문 테스트 담당자는 전체 시나리오의 약 71 %를 성공적으로 자동화했으며, 유지보수 시 DSL 스크립트의 가독성이 크게 도움이 되었다. (3) 정성적 피드백에서는 DSL의 직관성, 자동 완성 기능, 그리고 Eclipse 기반 통합 환경이 높은 만족도를 이끌어냈다.
논문은 기존 자동화 접근법—프로그래밍 기반, Record‑Replay, 이미지 인식, 자연어 기반(ATA)—과 비교해 ATAP의 차별성을 강조한다. 프로그래밍 기반은 비전문가에게 진입 장벽이 높고, Record‑Replay는 유지보수 시 파편화와 취약성을 초래한다. 이미지 인식은 환경 변화에 민감하고 스크립트 작성 비용이 크다. 자연어 기반은 모호성으로 파싱 오류가 빈번하다. 반면 ATAP는 DSL이라는 제한된 어휘 집합을 사용해 모호성을 제거하고, 동시에 충분히 표현력을 유지한다는 점에서 실용적이다.
한계점으로는 DSL이 현재 Selenium의 주요 명령에만 매핑돼 있어, 복잡한 로직이나 비표준 웹 요소 처리 시 ‘JavaCode’ 삽입에 의존해야 한다는 점이다. 또한, Eclipse에 종속적인 개발 환경은 비IDE 사용자에게 장벽이 될 수 있다. 향후 연구에서는 DSL 확장성을 확보하고, 웹 기반 IDE와 연동해 접근성을 높이는 방안을 제시한다.
전반적으로 ATAP는 테스트 자동화의 진입 장벽을 낮추고, 유지보수 비용을 절감하는 실용적인 솔루션으로 평가된다. DSL 기반 접근법이 테스트 자동화 분야에서 충분히 확장 가능함을 보여주며, 향후 다양한 도메인(모바일, API)에도 적용될 여지를 제공한다.
댓글 및 학술 토론
Loading comments...
의견 남기기