웹의 발전을 위한 테스트

앞으로도 여러 브라우저의 HTML5 엔진에서 구현하는 품질과 정확성에는 많은 차이가 있을 것입니다. Microsoft는 웹 플랫폼의 상호 운용성과 동일 마크업이란 목표를 달성하기 위해 W3C에서 개발 중인 테스트 도구 모음 프로젝트에 지속적으로 참여하고 지원할 계획입니다. Microsoft는 지금까지 총 7,573개의 테스트를 제출했으며, IE 테스트 센터에서도 이에 대한 정보를 확인할 수 있습니다. 각 브라우저에서 동일 마크업에 대한 지원이 강화되면 누구나 HTML5의 기대 성능을 실감할 수 있을 것입니다.

이 글의 제목은 6월 15일과 16일 샌프란시스코 사무소에서 Adobe 주최로 열린 주말 이벤트와 관련이 있습니다. Adobe, Google, Mozilla, Apple, HP 및 Microsoft에서 수십 명의 W3C 전문가 및 회원이 웹 표준 테스트, CSS 및 SVG 테스트 작성 방법, 적절한 버그 정리 방법 및 테스트 도구 모음 관리에 사용할 수 있는 도구에 대해 배우기 위해 자발적으로 이 이벤트에 참가했습니다.

이후에 이 모임은 하루 종일 음료와 음식이 무료로 제공되는 '해커톤' 테스트로 바뀌었습니다. 참가자들은 토요일의 대부분을 CSS OM, 변환, 배경 및 테두리, 예외, SVG 및 기타 모듈에 대한 새로운 테스트 사례를 작성하는 데 보냈습니다. 그리고 나서 참가자들에게는 몇 가지 상이 수여되었습니다.

웹 표준 테스트

Adobe의 Alan Stearns는 W3C 테스트의 일반적인 원칙 및 사양 발전에 대한 테스트의 역할에 참가자들을 초대했습니다. 지정된 사양에 대한 브라우저의 개별 통과율을 설정하는 것은 W3C 테스트 도구 모음의 목표가 특히나 아닙니다. 규격이 W3C 권고안으로 통과하려면 작업 그룹이 해당 규격의 구현 가능성을 증명해 보여야 합니다. 실제적으로는 다음과 같은 의미입니다.

  • 규격의 각 요구 사항에 대한 테스트 사례 만들기(이를 '규범적 주장'이라고 함)
  • 두 개 이상의 별도 구현이 각 테스트를 통과하는지 확인

'두 개 이상의 브라우저가 전체 테스트 모음을 통과해야 함'과 '두 개 이상의 브라우저가 테스트 도구 모음의 각 테스트를 통과해야 함' 간의 차이점에 주목하시기 바랍니다. 일반적으로 브라우저 테스터는 이 구문을 '사양 테스트'라고 설명합니다.

그러나 이 테스트 프로세스의 중요한 부작용은 모든 브라우저에서 개발하고 테스트할 수 있는 상호 운용 가능한 공통 기준선을 설정하는 것입니다. 테스트 도구 모음은 모든 브라우저에서 버그를 찾도록 도와주며, 경우에 따라 사양의 문제점을 확인할 수도 있습니다.

CSS 및 SVG 테스트 작성

세 가지 유형의 테스트가 있습니다.

  • 독립 실행형 테스트 - 일반적으로 시각적 확인에 의존합니다. 실패 조건이 발생한 경우 빨간색 콘텐츠가 표시됩니다.
  • 참조 테스트 - 테스트 중인 기능에 대한 종속성이 없는 시각적 참조테스트를 비교합니다. 테스트에는 비교해야 하는 참조 테스트에 대한 링크가 포함되어야 합니다.
  • CSS 개체 모델 테스트 - JavaScript 테스트 도구에 종속되며, 개체 모델이 정적 스타일 시트에 지정된 내용을 반영하는지 확인합니다. 예를 들어 이 CSS 미디어 쿼리 테스트가 이 유형에 해당합니다.

W3C의 Doug Schepers는 SVG 테스트를 다루고, Adobe의 Rebecca Hauck 및 Jacob Goldstein은 테스트 작성 자습서를 제공했습니다. CSS 작업 그룹의 공동 의장인 Peter Linss는 테스트 도구 모음 빌드 시스템 및 Shepherd와 같은 관리 도구를 비롯하여 CSS 테스트 프레임워크에 대해 심층적으로 설명했습니다.

적절한 버그 정리

그런 다음 Mozilla의 Elika는 적절한 브라우저 버그 보고서를 작성하는 방법에 대해 설명했습니다.

  • 문제가 구체적이고 재현 가능해야 함
  • 빌드 및 플랫폼이 식별되어야 함
  • 중복된 항목을 찾아야 함
  • 문제 재현 단계를 포함해야 함
  • 예상 결과와 실제 결과를 설명해야 함
  • 되도록 문제를 간결하게 표현해야 합니다. 즉, 문제를 재현하는 데 필요 없는 HTML, JavaScript 및 CSS를 문제 페이지에서 모두 없애고 나머지만 버그에 첨부해야 함

테스트 도구 모음 빌드

테스트 도구 모음 빌드에는 상당한 투자가 필요합니다. CSS2.1에서 권고안 단계에 도달하는 데 시간이 오래 걸린 이유 중 하나는 사양의 규모와 테스트할 요구 사항의 기본 개수 때문이었습니다. 최신 버전의 테스트 도구 모음에는 9,422개의 테스트가 포함되어 있습니다.

Microsoft는 그 중 7,000개 이상의 테스트에 기여했으며, 지금도 다른 표준 사양에 대한 추가 테스트에 계속 기여하고 있습니다.

IE10의 경우에는 CSS, HTML, SVG 및 DOM에 대한 광범위한 새로운 표준 기능 목록에 대한 지원을 추가했습니다. 이러한 새 기능에 대한 테스트 사례 중 일부를 IE 테스트 센터에 게시했습니다. 최근 IE10 Release Preview에서 접두사를 사용하지 않는 기능 중 주목할 만한 것을 중심으로 추가로 제출할 예정입니다.

도움을 제공하는 방법

웹 상호 운용성 향상을 위한 커뮤니티의 일원이 되신 것을 기쁘게 생각합니다. 웹 발전에 도움을 주고 싶은 경우 상호 운용성 향상에 기여하실 수 있습니다. 테스트 기여 방법을 살펴보시거나 기존 테스트를 검토하실 수 있습니다. 자세한 내용은 CSS WG wiki이벤트 페이지를 참조하세요.

향후 이벤트에 대한 소식도 계속 알려 드리겠습니다.

- Internet Explorer 프로그램 관리자 Sylvain Galineau 및
Internet Explorer 테스트 책임자 John Jansen