Core Concepts
HTML5 캔버스를 사용하여 웹 애플리케이션을 개발할 때 개발자들은 다양한 유형의 테스트 가능한 문제점들을 겪는다. 이러한 문제점들은 시각적, 성능, 웹 아키텍처 등 다양한 특성에 걸쳐 나타나며, 이를 해결하기 위해서는 다양한 접근 방식의 테스트 기법이 필요하다.
Abstract
이 연구에서는 HTML5 캔버스를 사용하는 123개의 오픈 소스 프로젝트에서 수집한 2,403개의 이슈 보고서를 분석하여 테스트 가능한 캔버스 문제점들의 분류 체계를 구축했다.
첫째, 시각적 문제점은 가장 많이 보고되는 유형으로, 렌더링, 레이아웃, 상태, 외관 등의 하위 유형으로 구분된다. 이러한 문제점들은 캔버스 비트맵의 시각적 표현에 관련된 것들이다.
둘째, 사용자 상호작용 문제점은 캔버스 요소에서 발생하는 DOM 이벤트와 관련된 것으로, 단일 동작 실패(Action)와 복합 동작 실패(Behaviour)로 구분된다.
셋째, 웹 아키텍처 문제점은 브라우저 간 동작 차이와 교차 출처 리소스 공유(CORS) 문제로 나타난다.
넷째, 성능 문제점은 메모리 사용의 비효율성으로 인한 것이다.
다섯째, 통합 문제점은 캔버스 데이터 저장과 브라우저 런타임 오류로 구분된다.
이러한 분류 체계는 향후 캔버스 테스팅 연구를 위한 기반을 제공한다.
Stats
시각적 문제점은 전체 문제점의 35%를 차지한다.
렌더링 문제점은 시각적 문제점의 20%를 차지한다.
레이아웃 문제점은 시각적 문제점의 12%를 차지한다.
웹 아키텍처 문제점은 전체 문제점의 17%를 차지한다.
브라우저 간 동작 차이 문제점은 웹 아키텍처 문제점의 14%를 차지한다.
성능 문제점은 전체 문제점의 5%를 차지한다.
통합 문제점은 전체 문제점의 29%를 차지한다.
브라우저 런타임 오류 문제점은 통합 문제점의 27%를 차지한다.
Quotes
"HTML5 <canvas>는 웹 애플리케이션에서 고품질 그래픽을 표시하는 데 널리 사용된다."
"그러나 <canvas>를 사용하여 애플리케이션을 구축하는 데 필요한 웹, GUI, 시각적 기술의 조합과 테스팅 및 디버깅 도구의 부족으로 인해 이러한 애플리케이션 개발이 매우 어렵다."