UI 테스트와 E2E(End-to-End) 테스트는 둘 다 소프트웨어의 기능을 실제 사용자 관점에서 검증하는 테스트이지만, 그 목적과 범위, 적용 방식에서 차이가 있습니다.
1. UI 테스트 (User Interface Test)
목적:
- 애플리케이션의 사용자 인터페이스(UI)가 기대한 대로 작동하는지 검증하는 테스트입니다.
- UI 요소와의 상호작용(버튼 클릭, 텍스트 입력, 화면 전환 등)을 중점으로 확인합니다.
특징:
- 특정 화면이나 컴포넌트의 기능을 테스트합니다.
- 단일 화면이나 특정 동작을 중점으로 실행되며, 주로 앱의 개별적인 UI 요소들에 대한 테스트입니다.
- 예를 들어, 로그인 화면에서 버튼이 클릭되면 로그인 요청이 전송되고 결과가 화면에 제대로 표시되는지 등을 테스트합니다.
테스트 범위:
- 보통 단일 컴포넌트나 UI 요소의 기능을 집중적으로 테스트합니다.
- 단일 화면에서 사용자 상호작용이 기대한 대로 작동하는지를 확인하는 데 중점을 둡니다.
사용 예:
- 버튼 클릭 시 예상된 동작이 발생하는지.
- 텍스트 필드에 입력한 값이 올바르게 표시되는지.
- 화면 전환 시 네비게이션이 올바르게 동작하는지.
2. E2E 테스트 (End-to-End Test)
목적:
- 전체 시스템의 흐름을 사용자 관점에서 처음부터 끝까지 테스트하여, 모든 기능이 서로 연결되어 올바르게 작동하는지 검증하는 테스트입니다.
- 시스템의 여러 구성 요소(백엔드, 데이터베이스, API, UI 등)가 올바르게 통합되어 작동하는지를 확인합니다.