엔드-투-엔드 테스트 작성 초보자 가이드
GitLab 커뮤니티 에디션 및 엔터프라이즈 에디션을 위한 엔드-투-엔드 테스트 작성 방법과 디렉터리 구조, 페이지 오브젝트 개발을 단계별로 설명합니다.
이 튜토리얼은 GitLab 커뮤니티 에디션(Community Edition) 및 GitLab 엔터프라이즈 에디션(Enterprise Edition) 을 위한 엔드-투-엔드( e2e ) 테스트 작성 과정을 안내합니다. 이 튜토리얼을 완료하면 다음을 수행할 수 있습니다: 엔드-투-엔드 테스트가 필요한지 판단합니다. qa/ 내의 디렉터리 구조를 이해합니다. 로그인 기능을 검증하는 기본 엔드-투-엔드 테스트를 작성합니다. 누락된 페이지 오브젝트(page object) 라이브러리를 개발합니다. 테스트를 작성하기 전에 # 테스트를 작성하기 전에, spec을 실행하도록 GitLab Development Kit(GDK) 이 구성되어 있어야 합니다. 엔드-투-엔드 테스트는: qa/ 디렉터리 내에 포함됩니다. 독립적이고 멱등성(idempotent) 을 가져야 합니다. 필요에 따라 즉석으로 리소스 (예: 프로젝트, 이슈, 사용자)를 생성합니다. UI 및 API 인터페이스를 테스트하며, API를 활용하여 UI 테스트를 효율적으로 설정합니다. 엔드-투-엔드 테스트 필요 여부 판단 # GitLab 프로젝트의 엔드-투-엔드 테스트를 작성하기 전에, 특정 기능의 코드 커버리지를 확인하세요. 유닛, 기능, 또는 통합 레벨에서 충분한 테스트 커버리지가 이미 존재하나요? 예 라고 답한다면 엔드-투-엔드 테스트는 필요하지 않습니다 . GitLab에서 레벨별 테스트 분포에 대한 정보는 Testing Levels 를 참조하세요. Testing levels 문서의 How to test at the correct level? 섹션을 확인하세요. 기능이 얼마나 자주 변경되는지 검토하세요. 하위 레벨 테스트에서 이미 커버된 안정적인 기능은 엔드-투-엔드 테스트로 커버할 필요가 없을 수 있습니다. 마지막으로, 기능 구현 및 하위 레벨 테스트에 참여한 개발자들과 제안된 테스트에 대해 논의하세요. 이 기능에 대해 이전에 작성된 테스트를 GitLab 커버리지 프로젝트에서 확인하세요. 코드 커버리지를 분석하려면 특정 기능을 구현하는 애플리케이션 파일을 이해해야 합니다. 이 튜토리얼에서는 하위 레벨 테스트에서 이미 충분히 커버됐지만, 대부분의 엔드-투-엔드 플로우의 첫 단계이자 가장 이해하기 쉬운 로그인 엔드-투-엔드 테스트를 작성합니다. DevOps 단계 식별 # GitLab QA 엔드-투-엔드 테스트는 DevOps 라이프사이클의 다양한 단계 별로 구성됩니다. 단계(stage) 에 따라 테스트가 위치할 곳을 결정하고, 테스트가 속하는 기능을 파악한 다음, 해당 단계 아래 하위 디렉터리에 배치하세요. [ ](/19.1/development/testing_guide/end_to_end/beginners_guide/img/gl-devops-lifecycle-by-stage_v12_10.png) 테스트가 엔터프라이즈 에디션 전용인 경우, features/ee 디렉터리에 테스트를 생성하되 동일한 DevOps 라이프사이클 형식을 따릅니다. 기본 테스트 골격 생성 # 이 튜토리얼의 첫 번째 부분에서는 M