본문으로 건너뛰기

시각적 회귀 테스트

시각적 회귀 테스트의 개념, 스크린샷 비교로 UI 버그를 찾는 방식, 자주 발생하는 실수.

시각적 회귀 테스트는 사용자 인터페이스의 외형에서 의도하지 않은 변경을 찾아내는 자동화 테스트 방식입니다. 페이지나 컴포넌트의 스크린샷을 찍고, 승인된 기준 이미지(베이스라인)와 비교하여 설정한 임계값을 넘는 차이를 검토 대상으로 표시합니다.

기능 테스트는 버튼이 동작하는지 확인합니다. 시각 테스트는 버튼이 여전히 올바르게 보이는지 확인하며, 위치, 색상, 크기, 글꼴, 간격을 대상으로 합니다. 공유 CSS 파일 하나의 변경으로 여러 페이지의 레이아웃이 밀릴 수 있으며, 시각 테스트는 이런 부작용을 배포 전에 드러냅니다. 팀은 보통 지속적 통합(CI)에서 Playwright, Cypress 기반 플러그인 또는 전용 시각 테스트 서비스로 이 테스트를 실행합니다.

시각적 회귀 테스트의 동작 방식

  1. 고정된 뷰포트 크기의 제어된 브라우저에서 각 페이지나 컴포넌트를 렌더링함.
  2. 스크린샷을 캡처하고, 검토 후 베이스라인으로 저장함.
  3. 변경이 발생할 때마다 같은 조건에서 다시 캡처함.
  4. 새 이미지를 베이스라인과 비교하여 차이 이미지(diff 이미지)를 생성함.
  5. 검토자가 의도한 변경은 승인하여 새 베이스라인으로 삼고, 버그는 수정함.

시각적 회귀 테스트의 적용 대상

  • 디자인 시스템과 컴포넌트 라이브러리.
  • 템플릿이 많은 마케팅 사이트.
  • CSS나 의존성 업데이트가 잦은 웹 앱.
  • Chromium, Firefox, WebKit에 걸친 크로스 브라우저 검사.

픽셀 diff와 지각 diff 비교

픽셀 diff는 각 위치의 색상 값을 비교하여 불일치 개수를 셈. 정확하지만 안티앨리어싱과 글꼴 렌더링에 민감함. SSIM 기반 비교와 같은 지각 diff는 뷰어가 인지하는 방식으로 구조와 대비의 변화를 측정하여 오탐을 줄임. 많은 도구가 픽셀 diff에 허용 오차와 마스킹 영역을 결합하여 사용함.

자주 하는 실수

  • 베이스라인 생성과 비교를 서로 다른 OS에서 실행함. 글꼴 렌더링이 달라짐.
  • 캡처 영역에 날짜, 광고, 애니메이션을 남겨 둠.
  • diff를 확인하지 않고 승인함. 이 경우 버그가 베이스라인으로 굳어짐.
  • 뷰포트 크기를 하나만 테스트함.

같은 스크린샷을 반복해서 찍는 경우

테스트 스위트 없이 수동으로 시각 점검을 할 때는 Temposhot Website Capture가 고정된 기기 크기로 URL 목록을 캡처합니다. Compare Images는 두 캡처 사이의 차이를 강조 표시합니다. 자세한 내용은 웹사이트 스크린샷 자동화를 참고합니다.

자주 묻는 질문

시각적 회귀 테스트가 기능 테스트를 대체합니까?

아니요. 시각 테스트는 외형을 검사합니다. 동작은 기능 테스트가 계속 검사합니다.

오탐은 어떻게 줄입니까?

동적 콘텐츠를 고정하고, 모든 실행에서 같은 환경을 사용하며, 의도적으로 바뀌는 영역은 마스킹합니다.

출처

관련 자료

같은 스크린샷을 반복해서 찍고 계십니까?

Temposhot은 타이머에 맞춰 화면, 창 또는 영역을 캡처하고 결과를 PDF, 이미지, ZIP 또는 MP4로 내보냅니다. 무료 브라우저 도구는 단일 이미지만 다룹니다.

관련 리소스

관련 용어

전체 용어집