프론트엔드 E2E 테스트란?

규갓 God Gyu·2024년 12월 17일

면접질문

목록 보기
30/142

애플리케이션의 사용자 경험을 처음부터 끝까지 시뮬레이션하여 테스트하는 방식(End-to-End)
단위 테스트, 통합 테스트와 달리, E2E 테스트는 사용자 관점에서 전체 애플리케이션이 의도한 대로 작동하는지 검증

브라우저 환경에서 실제 사용자 동작을 흉내 내어 다양한 시나리오를 테스트하며, 버튼 클릭, 페이지 이동, 데이터 입력 등을 포함

보통 Cypress, Playwright과 같은 도구를 이용해 작성

사용자와 동일한 방식으로 애플리케이션을 테스트하므로, 사용자에게 직접적인 영향을 미치는 오류를 조기에 발견할 수 있음
프로덕트의 안정성을 높이고, 실제 배포 후 발생할 수 있는 리스크를 줄이는 데 도움
중요한 사용자 흐름이나 비즈니스 로직이 포함된 페이지에 적용하면 효과적

========================
유닛 테스트는 개별적인 코드 조각이 제대로 동작하는지 확인하지만, 전체 시스템의 흐름과 사용자가 실제로 겪는 경험을 확인해주진 않음
ex-로그인 기능의 유닛 테스트는 올바른 사용자 정보를 입력했을 때 인증 성공 확인 가능, 로그인 이후 페이지 이동, 세션 유지 렌더링 같은건 확인 모샇ㅁ

E2E테스트는 애플리케이션을 사용자 관점에서 처음부터 끝까지 검사하여, 모든 시스템이 통합적으로 잘 작동하는지 확인
UI 상호작용, API 호출, 화면 전환 등 여러 구성 요소가 함께 작동하는 과정에서 발생할 수 있는 문제를 탐지
그래서 시나리오를 점검하여 전체 시스템 관점에서의 오류를 조기에 발견

따라서 E2E와 유닛테스트를 상호보완적으로 함께 활용하면 좋음
유닛 테스트는 개별 컴포넌트를 신속하고 정확하게 검사하여 디버깅 시간을 줄이고, 코드의 작은 변화가 의도한 대로 작동하는지 확인
E2E테스트는 애플리케이션의 중요한 사용자 흐름을 점검하여 배포 후 발생할 수 있는 치명적인 문제를 예방
두 테스트를 함께 활용하면 애플리케이션의 안정성과 신뢰성을 극대화할 수 있음

profile
웹 개발자 되고 시포용

0개의 댓글