Skip to main content

A Survey on Web Testing: On the Rise of AI and Applications in Industry

· 18 min read

논문 정보

  • 저자 (Authors): Iva Kertusha¹, Gebremariem Assres¹, Onur Duman², Andrea Arcuri¹

  • 소속 (Affiliations): ¹Kristiania University College, Norway; ²Glasgow Caledonian University, Glasgow, UK

  • 게재처 (Publication Venue): arXiv (cs.SE)

  • 제출일 (Submission Date): 2025년 3월 7일 (arXiv 등록일 기준, 논문 내용은 2014-2024년 검토)

  • arXiv ID: arXiv:2503.05378v1

  • 키워드 (Keywords): 웹 테스팅(web testing), GUI 테스팅(GUI testing), 프론트엔드(front-end), 설문 조사(survey), SBST(Search-Based Software Testing), AI(Artificial Intelligence), 퍼징(fuzzing)

요약

초록 (Abstract)

웹 애플리케이션 테스팅은 점증하는 디지털 세계에서 웹 시스템의 신뢰성, 보안성 및 성능을 보장하기 위한 필수적인 관행이다. 본 논문은 2014년부터 2024년까지의 웹 테스팅 방법론, 도구 및 동향에 초점을 맞춘 체계적 문헌 연구(SLR)를 제시한다. 214개의 연구 논문을 분석하여 이 분야의 주요 동향, 인구 통계, 기여, 도구, 과제 및 혁신을 식별한다. 또한, 연구에 참여한 참가자 수와 실험 결과를 포함하여 연구에서 채택된 실험 설정을 분석한다. 결과에 따르면 웹 테스팅 연구는 매우 활발했으며, ICST가 주요 발표 학회였다. 대부분의 연구는 새로운 기술에 중점을 두며 블랙박스 테스팅 자동화를 강조한다. Selenium이 가장 널리 사용되는 도구인 반면, 산업적 채택과 인간 대상 연구는 비교적 제한적이었다. 본 연구 결과는 웹 테스팅 연구의 동향, 발전 및 과제, 자동화된 테스팅 방법의 진화, 테스트 케이스 생성에서 인공지능의 역할, 현재 연구의 격차에 대한 상세한 개요를 제공한다. 산업계와의 협력 및 참여 수준에 특별한 주의를 기울였다. 많은 도구가 오픈소스 가용성이 부족하지만, 산업 시스템 사용에 대한 긍정적인 추세가 관찰된다.

서론 (Introduction)

월드 와이드 웹(WWW)은 가장 큰 인터넷 기반 애플리케이션으로, 1993년 공개 이후 눈부신 성장을 경험했다. 웹 프론트엔드는 사용자 경험을 형성하는 데 중요한 역할을 하며, 웹 애플리케이션의 기본 기능과 사용자 간의 인터페이스 역할을 한다. 웹 프론트엔드 테스팅은 웹 애플리케이션이 원활하고 신뢰할 수 있는 사용자 경험을 제공하도록 보장하는 데 필수적이다. 그러나 현대 웹 애플리케이션의 동적이고 다양한 특성으로 인해 대화형 요소의 복잡성, 비동기적 행동, 반응성 등이 웹 프론트엔드 테스팅에 상당한 과제를 제기한다. 본 설문 조사는 지난 10년간(2014-2024) 웹 테스팅 분야의 주요 동향, 발전 및 과제를 식별하는 것을 목표로 214개 논문을 분석하고 14개의 연구 질문을 통해 이를 탐구한다.

배경 (Background)

  • 웹 애플리케이션: 1991년 도입 이후 웹은 정적 HTML 페이지에서 CSS를 통한 표현 강화, JavaScript를 통한 동적 상호작용 콘텐츠 구현, 서버 측 기술 및 데이터베이스 개발을 거쳐 인공지능, 머신러닝, 고급 자동화를 통합하는 '지능형 웹'(Web 4.0)으로 진화했다.
  • JavaScript와 비동기성: JavaScript는 동적이고 상호작용적인 웹 애플리케이션을 만드는 데 핵심적인 기술이며, 클라이언트와 서버 측 모두에서 작동한다. React, Angular, Vue.js와 같은 프레임워크가 널리 사용된다. 그러나 동적 타이핑, 비동기 이벤트 처리 등은 테스팅을 어렵게 만드는 요인이다.
  • 웹 테스팅: 웹 애플리케이션 테스팅 비용은 개발 비용의 거의 50%를 차지한다. 수동 테스팅은 오류에 취약하고 비용이 많이 들어 자동화의 필요성이 커졌다. Selenium은 브라우저를 프로그래밍 방식으로 제어하는 초기 자동화 도구 중 하나이며, Puppeteer, Playwright, Cypress 등도 사용된다. 테스트 케이스 생성 자동화 도구로는 ATUSA, AutoBlackTest, GUITAR, Crawljax, Testar 등이 있으며, 대부분 화이트박스 또는 블랙박스 원칙에 기반한다.

지난 20년간 웹 테스팅에 관한 여러 설문 조사가 수행되었다. 초기 연구들은 2014년 이전의 상황을 다루었으며, 특정 측면(GUI 모델 추출, 모델 기반 테스팅, 회귀 테스트 케이스 생성, 테스트 품질, Selenium 프레임워크, 블랙박스 퍼징, 웹 페이지 레이아웃 테스팅 등)에 초점을 맞춘 연구들이 있었다. 본 설문 조사는 지난 10년간의 웹 프론트엔드 테스팅 연구에 대한 더 심층적인 분석을 제공하며, 특히 이전 설문 조사에서 충분히 다루어지지 않은 AI와 같은 여러 중요한 측면을 분석하는 데 기여한다.

연구 방법 (Research Method)

  • 연구 질문 (14개): 연도별 논문 발행 수, 주요 학회, 과학적 기여 유형, 주요 연구 주제, 실험에 사용된 시스템(SUTs), 개발/개선된 도구, 도구의 오픈소스 여부, 도구 간 비교 빈도, 인간 대상 연구의 참가자 수, 알고리즘 실험에서의 결함 발견 수, 주로 사용된 테스트 생성 기법, GUI 테스팅에 사용된 기존 프레임워크/라이브러리, AI 기술 사용 연구 수, 산업계 협력 연구 수를 다룬다.
  • 데이터베이스 및 검색 질의: IEEE, ACM, MIT Libraries, Web of Science (WoS), Wiley, ScienceDirect, SpringerLink 등 7개 주요 데이터베이스를 검색했다. 검색어는 "web"과 "test*", "fuzz*", "UI" 또는 "GUI"와 "test*", "fuzz*" 등을 조합했으며, "mobile", "android", "iOS", "desktop" 등은 제외했다.
  • 논문 선정 기준: 영어로 작성, 2014-2024년 출판, 웹 테스팅 관련, 학위 논문/특허/설문 조사 논문 제외. 초기 검색에서 625편의 논문을 확보, 필터링 및 스노우볼링을 통해 최종 214편을 선정했다.
  • 데이터 추출: 선정된 논문 목록과 추출된 데이터를 구조화된 구글 스프레드시트에 정리했다. 데이터 추출 및 검증은 최소 2명의 저자가 참여하여 정확성과 일관성을 확보했다.

실험 연구 (Empirical Study - 연구 질문에 대한 답변)

  • RQ1 (연간 발행 논문 수): 지난 10년간 웹 테스팅 연구는 매우 활발했으며, 연간 15~30편의 논문이 꾸준히 발행되었고 2021년에 정점을 찍었다. (그림 1 참조)
  • RQ2 (주요 학회): ICST(IEEE International Conference on Software Testing, Verification and Validation)가 가장 일반적인 학회였고, FSE와 ICSE가 그 뒤를 이었다. 주요 저널로는 JSS, STVR, SQJ, TSE, EMSE, IST 등이 있었다. (표 3 참조)
  • RQ3 (과학적 기여 유형): 가장 일반적인 기여 유형은 '새로운 도구 또는 기법 제안'(164편)이었고, 대다수는 저자들에 의한 '알고리즘 실험'(148편)을 통해 경험적으로 검증되었다. '인간 대상 실험'(25편)이나 '산업계 경험 보고서'(9편)는 상대적으로 적었다. (표 4, 5 참조)
  • RQ4 (주요 과학적 주제): '테스트 생성'(104편)이 단연 가장 일반적인 주제였다. 그 외 '테스트 유지보수'(42편), '테스팅 프레임워크'(41편), '모델 추론'(31편), '오라클'(20편) 등이 연구되었다. 테스트 유지보수 하위 주제로는 로케이터, 페이지 객체, 플레이키 테스트가 있었다. (표 6, 7, 8 참조)
  • RQ5 (실험에 사용된 SUTs): '알고리즘 실험'을 포함한 148개 논문 분석 결과, 오픈소스 프로젝트(54%, 평균 4.9개), 온라인 웹 애플리케이션(33%, 평균 172.3개 - 소수 논문의 대규모 사용으로 평균 왜곡), 산업용 애플리케이션(16%, 평균 1.5개), 인공적인 애플리케이션(13%, 평균 1.6개) 순으로 사용되었다. (표 9 참조)
  • RQ6 (개발/개선된 도구): 분석된 214편 중 174편이 신규 또는 개선된 도구에 초점을 맞췄다. 이름 없는 도구가 55편으로 가장 많았고, TESTAR가 8편으로 이름 있는 도구 중 가장 많이 언급되었다. 대부분의 도구는 초기 구현 후 적극적으로 유지보수되지 않았다. (표 10 참조)
  • RQ7 (도구의 오픈소스 여부): 도구 중 31.7%(52개)만이 오픈소스로 공개되었다.
  • RQ8 (알고리즘 실험에서 도구 간 비교 빈도): 알고리즘 실험을 수행한 148편 중 43편만이 기존 접근 방식과 비교했다. Crawljax가 10개 연구에서 벤치마크 도구로 가장 많이 사용되었다. (표 11 참조)
  • RQ9 (인간 대상 연구의 참가자 수): 214편 중 28편만이 학계(학생, 교수) 또는 산업계 실무자를 포함한 인간 대상 실험을 수행했다. 총 404명의 학계 관계자와 392명의 산업계 실무자가 참여했다. (표 12 참조)
  • RQ10 (알고리즘 실험에서의 결함 발견 수): 결함 수를 평가 지표로 사용한 55편의 논문 중 20편은 정확한 수를 보고하지 않았다. 보고된 결함 수는 연구마다 크게 달랐으며(최소 3개 ~ 최대 3478개), 테스트 대상 시스템(SUTs)의 수와 식별된 결함의 특성에 따라 영향을 받았다. 대부분 테스트 생성에 초점을 맞춘 연구들이었다. (표 13 참조)
  • RQ11 (주로 사용된 테스트 생성 기법): 214편 중 144편이 블랙박스 테스팅, 17편이 화이트박스 테스팅에 중점을 두었다. 화이트박스 테스팅 연구는 주로 웹 애플리케이션의 엔드투엔드, 회귀 및 단위 테스트 자동화에 초점을 맞췄다. (표 14 참조)
  • RQ12 (GUI 테스팅에 사용된 기존 프레임워크/라이브러리): Selenium이 104편의 논문에서 사용되어 가장 널리 활용되었으며, Cypress(4편), Puppeteer(1편)가 그 뒤를 이었다. Playwright는 관련 연구 섹션에서만 언급되고 실제 사용되지는 않았다. (표 15 참조)
  • RQ13 (AI 기술 사용 연구 수): 검토된 214편 중 62편이 검색 기반 소프트웨어 테스팅(SBST) 또는 AI 기반 접근 방식을 사용했다. 검색 기반 접근 방식(주로 유전 알고리즘)은 테스트 케이스 생성 및 UI 테스팅에 광범위하게 적용되었다. AI 기반 접근 방식에서는 강화 학습(특히 Q-러닝), 컴퓨터 비전, 자연어 처리(NLP)가 주로 사용되었다. (표 16 참조)
  • RQ14 (산업계 협력 연구 수): 총 214편의 논문 중 38편(17.8%)이 어떤 형태로든 학계-산업계 협력 또는 산업 보고를 포함했다. 여기에는 산업 시스템을 사용한 알고리즘/도구 연구 24편, 산업 시스템에 대한 인간 대상 연구 4편, 도구 논문 1편, 산업계 경험 보고서 9편이 포함된다. (표 17 참조)

타당성 위협 (Threats To Validity)

  • 논문 선정 과정: 가장 널리 사용되는 학술 데이터베이스를 신중하게 검토된 검색어로 검색하고 스노우볼링을 수행했지만, 일부 관련 논문을 놓쳤을 가능성이 있다. 또한, 논문 선정의 주관성으로 인해 다른 연구자가 다른 결과를 얻을 수도 있다.
  • 데이터 추출 과정: 데이터 추출은 최소 2명의 저자가 검증했지만, 특히 정성적 데이터(카테고리, 기여도 등) 분류에 있어 해석의 차이가 발생할 수 있다.

결론 (Conclusions)

본 연구는 지난 10년간(2014-2024) 발표된 웹 테스팅 관련 논문 214편을 분석하여 웹 테스팅의 동향과 현황에 대한 포괄적이고 상세한 이해를 제공했다. 연구 결과, 웹 테스팅 연구 커뮤니티는 활발하게 활동하고 있으며(특히 ICST, FSE 학회 중심), 블랙박스 테스팅 자동화에 중점을 둔 새로운 기술 개발이 주를 이루고 있다. Selenium이 가장 널리 사용되는 도구이며, AI 기술의 채택도 증가하고 있다. 산업계와의 협력은 긍정적인 추세를 보이지만, 인간 대상 연구와 오픈소스 도구의 가용성은 여전히 제한적이다. 향후 연구는 웹 테스팅 도구의 오픈소스 가용성을 확대하고, 테스팅 방법론을 더욱 정교화하며, 웹 애플리케이션 테스팅의 효율성과 효과를 향상시키는 신기술을 탐구하는 방향으로 나아가야 한다.