웹 네비게이션 기반 자동 기능 테스트 혁신

본 논문은 웹 애플리케이션의 페이지 이동(네비게이션)을 그래프 모델로 변환하고, 중국 우편배달원 문제(CPP)를 활용해 모든 링크를 최소 비용으로 순회하는 테스트 경로를 자동 생성한다. UML 모델·Selenium 스크립트·XML 입력을 받아 테스트 케이스를 만들고, 데이터 파생·실행·보고까지 4단계 파이프라인을 제공한다. 구현된 오픈소스 프레임워크 Automatic Testing Platform(ATP)을 실제 인보이스 관리 시스템에 적용해 …

저자: Boni Garcia (UPM), Juan Carlos Due~nas (UPM)

웹 네비게이션 기반 자동 기능 테스트 혁신
본 논문은 웹 애플리케이션이 점점 복잡해짐에 따라 테스트 비용과 시간 부담이 급증하고, 이로 인해 테스트가 소홀히 되거나 생략되는 현상을 해결하고자 한다. 이를 위해 저자는 웹 애플리케이션의 네비게이션을 “브라우저를 이용한 페이지 이동”으로 정의하고, 이를 그래프 이론의 다중 유향 그래프(멀티다이그래프)로 모델링한다. 웹 페이지는 정점, 하이퍼링크는 간선으로 표현되며, 테스트 목표는 모든 간선을 최소 한 번씩 방문하는 경로 집합을 자동으로 생성하는 것이다. 배경 섹션에서는 자동화 테스트(AST)의 세 세대(레코드·플레이백, 데이터‑드리븐·기능‑분해, 키워드‑드리븐·모델‑베이스)와 웹 테스트의 특수성을 설명한다. 특히 웹은 사용자 수, 환경 다양성, 동적 페이지 생성 등으로 인해 전통적인 테스트 기법이 한계에 봉착한다는 점을 강조한다. UML이 웹 모델링에 표준화되지 않은 상황에서 UWE, W2000, WebML, NDT 등 다양한 UML 확장 기법을 소개한다. 핵심 기술적 논의는 “웹 네비게이션 그래프에서 독립 경로 찾기”이다. 저자는 BFS·DFS, TSP, 최단경로(SPP) 알고리즘을 검토했지만, 이들 알고리즘은 정점 커버리지는 보장하지만 간선 커버리지는 만족시키지 못한다는 결론에 도달한다. 반면, 중국 우편배달원 문제(CPP)는 모든 간선을 최소 한 번씩 방문하는 회로를 찾는 문제로, 목표와 정확히 일치한다. 다만 CPP는 입력 그래프가 강하게 연결(strongly connected)되고 음의 가중치 사이클이 없어야 하는 제약이 있다. 웹 네비게이션 그래프는 종종 비강한 연결성을 가지므로, 저자는 “리셋(R)” 가상 링크를 잎 노드에서 시작 노드(홈)로 연결해 강한 연결성을 인위적으로 만들고, 이 가상 링크는 나중에 경로 표현식에서 제거한다. 알고리즘 선택을 검증하기 위해 무작위 멀티다이그래프(1~50개의 간선)를 100번씩 생성하고, CPP와 노드 축소(node reduction) 두 방법을 적용해 비용(사용된 링크 수)과 실행 시간(밀리초)을 비교하였다. 실험 결과 CPP가 평균적으로 더 적은 링크를 사용하고, 계산 시간도 경쟁력 있음을 확인했다. 따라서 최종 설계에서는 CPP 기반 경로 생성 방식을 채택한다. 제안된 자동화 프레임워크는 “Automatic Testing Platform(ATP)”라는 이름의 오픈소스 도구로 구현되었다. ATP는 네 단계 파이프라인을 제공한다. ① 테스트 케이스 생성: UML 모델, Selenium 스크립트, XML 파일을 입력으로 받아 그래프를 구축하고 CPP를 적용해 경로 집합을 도출한다. ② 테스트 데이터 파생: 경로에 필요한 입력값을 스프레드시트에 저장한다. ③ 테스트 실행: Selenium WebDriver를 이용해 실제 브라우저에서 각 경로를 순차적으로 실행한다. ④ 테스트 보고: 각 테스트 케이스의 성공/실패, 실행 시간, 로그 등을 종합한 리포트를 자동 생성한다. 검증 사례로는 모델‑드리븐 방식으로 개발된 실제 인보이스 관리 시스템을 대상으로 ATP를 적용하였다. 시스템은 복잡한 업무 흐름과 다수의 페이지 전환을 포함하고 있었으며, ATP는 100% 링크 커버리지를 달성하고, 몇몇 결함을 조기에 발견하였다. 이 사례는 제안 방법이 산업 현장에서 실용적임을 입증한다. 논문은 또한 한계점을 솔직히 기술한다. 가상 “리셋” 링크는 테스트 환경에만 존재하므로 실제 운영 시에는 존재하지 않으며, 이는 테스트와 실제 사용 간의 차이를 야기할 수 있다. 또한 CPP는 최소 링크 수에 초점을 맞추므로, 페이지 로딩 시간, 동시 사용자 부하 등 비기능 요구사항을 고려한 테스트에는 추가적인 메트릭이 필요하다. 동적 페이지 생성이나 SPA와 같은 최신 웹 기술에 대해서는 현재 정적 그래프 모델링만으로는 충분하지 않으며, 동적 그래프 확장이나 런타임 모델링이 요구된다. 결론적으로, 이 연구는 웹 애플리케이션 테스트를 그래프 이론과 CPP에 기반한 자동화 접근법으로 재구성함으로써, 테스트 비용 절감과 품질 향상에 기여한다. 제안된 ATP는 오픈소스로 제공되어 학계·산업 모두에서 확장 및 활용이 가능하며, 향후 동적 웹 환경과 비기능 테스트를 포함하도록 발전시킬 여지가 있다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기