Skip to main content
QUICK REVIEW

[논문 리뷰] Automatic Web Testing using Curiosity-Driven Reinforcement Learning

Yan Zheng, Yi Liu|arXiv (Cornell University)|2021. 03. 10.
Software Testing and Debugging Techniques참고 문헌 52인용 수 4
한 줄 요약

이 논문은 웹 애플리케이션의 고도로 다양하고 고coverage 테스트 케이스를 자동으로 생성하기 위해 궁금증 기반 탐색을 사용하는 엔드 투 엔드 강화학습 프레임워크인 WebExplor을 제안한다. 동적으로 학습된 결정성 유한 오토마타(DFA)를 통합하여 고수준 가이던스를 제공함으로써, WebExplor은 기존 최고 수준의 기술들을 능가하는 코드 커버리지와 결함 탐지 성능을 달성하였으며, 상용 SaaS 애플리케이션에서 12개의 알려지지 않은 버그를 발견하였다.

ABSTRACT

Web testing has long been recognized as a notoriously difficult task. Even nowadays, web testing still heavily relies on manual efforts while automated web testing is far from achieving human-level performance. Key challenges in web testing include dynamic content update and deep bugs hiding under complicated user interactions and specific input values, which can only be triggered by certain action sequences in the huge search space. In this paper, we propose WebExplor, an automatic end-to-end web testing framework, to achieve an adaptive exploration of web applications. WebExplor adopts curiosity-driven reinforcement learning to generate high-quality action sequences (test cases) satisfying temporal logical relations. Besides, WebExplor incrementally builds an automaton during the online testing process, which provides high-level guidance to further improve the testing efficiency. We have conducted comprehensive evaluations of WebExplor on six real-world projects, a commercial SaaS web application, and performed an in-the-wild study of the top 50 web applications in the world. The results demonstrate that in most cases WebExplor can achieve a significantly higher failure detection rate, code coverage, and efficiency than existing state-of-the-art web testing techniques. WebExplor also detected 12 previously unknown failures in the commercial web application, which have been confirmed and fixed by the developers. Furthermore, our in-the-wild study further uncovered 3,466 exceptions and errors.

연구 동기 및 목표

  • 매우 넓고 동적인 액션 공간과 동적 콘텐츠로 인해 탐색이 비효율적이고 불균형해지는 자동 웹 테스팅의 과제를 해결하기 위해.
  • 정적 네비게이션 모델에 의존하고 도메인 전문 지식이 수반되는 모델 기반 접근법의 한계를 극복하기 위해.
  • 명시적인 모델이나 사전 정의된 테스트 목표가 필요 없이 엔드 투 엔드로 적응 가능한 테스트 케이스 생성을 가능하게 하기 위해.
  • 동적 행동과 깊은 논리적 종속성을 가진 복잡한 웹 애플리케이션에서 탐색 효율성과 커버리지를 향상시키기 위해.

제안 방법

  • 세계 모델 내에서 예측 오차를 최대화하여 방문하지 않은 상태로의 탐색을 장려하기 위해 궁금증 기반 강화학습(CDRL)을 활용한다.
  • 웹 애플리케이션의 의미를 포괄하기 위해 DOM 구조, UI 요소 속성, 액션 이력을 조합한 맞춤형 상태 표현을 설계한다.
  • 새로운 행동이나 잠재적으로 결함이 있는 행동으로의 탐색을 유도하기 위해 궁금증 기반 내재 보상(intrinsic reward)을 통합한다.
  • 실행된 액션 시퀀스로부터 점진적으로 결정성 유한 오토마타(DFA)를 학습하여 유효한 제어 흐름을 모델링하고 탐색을 가이드한다.
  • DFA를 고수준 제약 조건으로 활용하여 의미적으로 유효하고 더 복잡한 논리를 트리거할 가능성이 높은 경로를 우선순위화한다.
  • 내재 보상과 외재 보상(예: 코드 커버리지, 크래시 탐지)을 조합하여 신선함과 기능적 정확성의 균형을 이룬다.

실험 결과

연구 질문

  • RQ1궁금증 기반 강화학습은 매우 넓고 동적인 액션 공간을 가진 복잡한 웹 애플리케이션을 효과적으로 탐색할 수 있는가?
  • RQ2학습된 DFA를 통합할 경우 궁금증 중심 RL 대비 탐색 효율성과 테스트 커버리지에서 어떤 개선이 이루어지는가?
  • RQ3기존 최고 수준의 자동 웹 테스팅 도구에 비해 WebExplor은 결함 탐지 및 코드 커버리지 측면에서 얼마나 뛰어난 성능을 보이는가?
  • RQ4실제 운영 환경의 웹 애플리케이션에서 이전에 알려지지 않은 버그를 WebExplor이 발견할 수 있는가?

주요 결과

  • WebExplor은 6개의 실세계 웹 애플리케이션과 상용 SaaS 플랫폼에서 모든 기준 방법보다 유의미하게 높은 코드 커버리지를 달성하였다.
  • 상용 SaaS 웹 애플리케이션에서 12개의 이전에 알려지지 않은 결함을 탐지하였으며, 개발 팀에서 모두 확인하고 수정하였다.
  • 세계 최상위 50개 웹 애플리케이션을 대상으로 한 실외 연구에서 WebExplor은 총 3,466건의 예외와 오류를 발견하여 광범위한 실세계 적용 가능성을 입증하였다.
  • DFA 가이드 탐색 통합으로 인해 궁금증 중심 RL 대비 테스트 케이스 품질과 탐색 효율성에서 명확한 개선이 이루어졌다.
  • WebExplor은 기존의 모델리스 및 모델기반 웹 테스팅 기법들보다 결함 탐지율과 실행 효율성 측면에서 모두 뛰어난 성능을 보였다.
  • 동적 콘텐츠와 복잡한 상호작용 패턴(예: 다단계 액션 시퀀스가 필요한 폼 제출)에 대해 뛰어난 적응성을 보였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.