Selenium 이란?
웹 브라우저를 자동으로 제어하고 테스트할 수 있는 오픈소스 자동화 도구
기본 기능
- 실제 브라우저를 열어서 사람처럼 웹 사이트를 조작할 수 있음
- 자바스크립트로 동적으로 생성되는 콘텐츠도 처리 가능
- 로그인, 클릭, 스크롤 등 다양한 브라우저 동작 자동화
구성 요소
Selenium Web Driver
- 브라우저 자동화 드라이버
- 시중에서 많이 이용되는 여러 가지 브라우저들에 대한 라이브러리 제공
Selenium IDE
- 웹 - 사용자 상호작용을 기록(녹화) 하고 재생하여 테스트 자동화에 활용
- Chrome 및 Firefox 의 extension 으로 설치 및 이용
Selenium Grid
- 분산 환경을 구성하여 hub 가 요청을 수신, node 들에 테스트 수행을 분배하고 결과 수집
- WebDriver 스크립트를 다수의 테스트 머신에 병렬 적용하여 테스트를 가속하고 효율화
E2E 테스트
- 종단간 테스트(end-to-end test)
- 개발물의 안쪽은 침투하지 않고
- 입력(경우에 따라서는 사용자 상호작용)으로부터
- 출력(경우에 따라서는 브라우저의 작동)까지를
- 사용자 (또는 "클라이언트") 관점에서 테스트 하는 것
필요성
- GUI 를 포함하는 시스템에서 UI 와 코어 로직의 연결 및 동작 검증
- 단위 테스트로는 검증이 불가한 사용자 관점의 테스트
🌟 배운 점
Selenium과 E2E 테스트를 통해 사용자 관점에서의 테스트 자동화가 얼마나 중요한지 깨달았다. Selenium은 실제 브라우저를 제어하여 사용자의 행동을 시뮬레이션할 수 있고, E2E 테스트는 전체 시스템의 흐름을 검증할 수 있어 실제 사용자 경험과 가장 유사한 테스트가 가능하다. 특히 복잡한 웹 애플리케이션에서 자동화된 테스트의 중요성을 느꼈고, 이를 통해 버그를 조기에 발견하고 안정적인 서비스를 제공할 수 있다는 점이 인상적이었다. 비록 설정과 유지보수에 시간이 많이 들지만, 장기적으로 보면 서비스 품질 향상에 매우 중요한 도구인 것 같다.
'데브코스 > 웹 기반 문서 편집기 제작 프로젝트' 카테고리의 다른 글
CI-CD 파이프라인 설계 (0) | 2025.01.05 |
---|---|
AWS(Amazon Web Services) (0) | 2025.01.03 |
단위 테스트 (0) | 2024.12.31 |
개발 환경 셋업 (0) | 2024.12.20 |
응용 구조 설계 (0) | 2024.12.19 |