테스트 표준 및 스타일 가이드라인
GitLab v19.2이 문서는 GitLab 프로젝트의 자동화 테스트에 관한 다양한 가이드라인과 모범 사례를 설명합니다. 이 문서는 thoughtbot 테스트 스타일 가이드의 확장 문서입니다. GitLab은 Ruby on Rails 위에 구축되어 있으며, 모든 백엔드 테스트에는 RSpec을, 엔드-투-엔드 통합 테스트에는 Capybara를 사용합니다.
이 문서는 GitLab 프로젝트의 자동화 테스트에 관한 다양한 가이드라인과 모범 사례를 설명합니다.
이 문서는 thoughtbot 테스트 스타일 가이드의 확장 문서입니다. 이 가이드가 thoughtbot 가이드와 상충하는 규칙을 정의하는 경우, 이 가이드가 우선합니다. 일부 가이드라인은 중요성을 강조하기 위해 그대로 반복될 수 있습니다.
개요#
GitLab은 Ruby on Rails 위에 구축되어 있으며, 모든 백엔드 테스트에는 RSpec을, 엔드-투-엔드 통합 테스트에는 Capybara를 사용합니다. 프론트엔드에서는 JavaScript 단위 테스트 및 통합 테스트에 Jest를 사용합니다.
자동화 테스트의 의미와 원칙을 이해하기 위해 모든 사람이 읽어야 할 두 편의 훌륭한 글을 소개합니다:
-
Five Factor Testing: 왜 테스트가 필요한가?
-
Principles of Automated Testing: 테스트 수준. 테스트 우선순위. 테스트 비용.
테스트 수준#
다양한 테스트 수준과 변경 사항을 어떤 수준에서 테스트해야 하는지 결정하는 방법에 대해 알아보세요.
테스트 모범 사례#
좋은 테스트를 작성하는 방법에 대해 알아야 할 모든 것: 테스트 설계, RSpec, FactoryBot, 시스템 테스트, 파라미터화 테스트 등.
테스트 전략#
테스트 전략 문서는 GitLab 자동화 테스트의 청사진을 정의합니다 — 테스트가 어디서 실행되는지, 언제 실행되는지, 그리고 개발 생명주기 전반에 걸쳐 무엇을 차단하는지를 다룹니다.
프론트엔드 테스트 표준 및 스타일 가이드라인#
좋은 프론트엔드 테스트를 작성하는 방법에 대해 알아야 할 모든 것: Jest, 프로미스 테스트, 스터빙 등.
Flaky 테스트#
Flaky 테스트란 무엇인지, 우리가 경험한 다양한 종류의 flaky 테스트들, 그리고 이에 대한 대처 방법을 알아보세요.
테스트 격리(Quarantining)#
테스트 격리에 대한 기술적 참조 자료: RSpec 및 Jest 문법, 메타데이터 유형, 명령어.
GitLab 파이프라인#
GitLab 테스트 스위트가 CI 컨텍스트에서 어떻게 실행되는지: 설정, 캐시, 아티팩트, 병렬화, 모니터링.
Rake task 테스트#
Rake task를 테스트하는 방법에 대해 알아야 할 모든 것.
엔드-투-엔드 테스트#
GitLab QA 테스트 프레임워크를 사용하여 엔드-투-엔드 테스트를 실행하는 방법에 대해 알아야 할 모든 것.
마이그레이션 테스트#
마이그레이션을 테스트하는 방법에 대해 알아야 할 모든 것.
MSW 통합 테스트#
MSW 통합 테스트는 빠른 MSW 기반 Jest 테스트로 Capybara feature spec을 대체하여 전체 페이지 프론트엔드 인터랙션을 검증할 수 있습니다.
컨트랙트 테스트#
컨트랙트 테스트 소개: 테스트 실행 방법 및 작성 방법.
테스트 결과 추적#
AI 기능 테스트#
AI 기반 기능을 테스트할 때 염두에 두어야 할 사례들.
Organizations를 활용한 테스트 작성#
Organizations를 활용한 테스트 작성 가이드라인.