<aside> 🐕

</aside>

1. 개요

IMG_4690.MO2V-copy.gif

CRDT 적용이 효과가 있는지! 테스트하기 위해 수동으로 매번 그림 그렸던 날들은 안녕!

드로잉 테스트 자동화와 클라이언트 간 캔버스 일치 정도를 수치로 검증하기 위해 브라우저 환경 통합 테스트를 시도해 보고자 먼저 브라우저 환경 테스트 도구를 조사해 보았습니다.

(CRDT란? 아래 글 참고해주시면 감사하겠습니다 :D)

CRDT (Last-Write-Wins)

2. 브라우저 환경 테스팅 도구

image.png

image.png

image.png

image.png

image.png

웹 테스트 자동화는 2004년 Jason Huggins가 Selenium Core를 개발하며 시작되었습니다.

Selenium은 반복적인 수동 테스트를 자동화해 효율성을 극대화하였고 이후 WebDriver를 통해 브라우저 제어 기능이 더욱 강화되었습니다.

2015년 TestCafe는 설정 없이 사용할 수 있는 간편함으로 Selenium의 복잡성을 해결하며 새로운 패러다임을 제시했고, 2017년에는 Puppeteer가 등장하여 Headless Chrome을 기반으로 웹 스크래핑, 성능 테스트 등 다양한 작업을 가능하게 했습니다. 같은 해 Cypress는 실시간 리로드와 시간 여행 디버깅 등 혁신적인 기능을 제공하며 주목을 받았습니다.

2020년, Puppeteer의 한계를 보완하며 등장한 Playwright는 크로스 브라우저 지원과 자동 대기 기능으로 안정적인 테스트 환경을 제공하며 인기를 끌고 있습니다.

2.1 특징 비교

먼저 지원하는 브라우저, 문법, 장/단점, 적용에 적합한 프로젝트 측면에서 5가지 툴의 특징을 살펴보겠습니다.