- 개요
- 테스트 수준
- 테스트 모범 사례
- 프론트엔드 테스트 표준 및 스타일 가이드
- 기능 테스트 시작하기
- 불안정한 테스트
- GitLab 파이프라인
- 리뷰 앱
- Rake 작업 테스트
- 엔드 투 엔드 테스트
- 마이그레이션 테스트
- 계약 테스트
- 테스트 결과 추적
테스트 표준 및 스타일 가이드
이 문서는 GitLab 프로젝트의 자동화된 테스트에 대한 여러 지침과 모범 사례를 설명합니다.
이는 thoughtbot 테스트 스타일 가이드의 _확장_이 되도록 의도되었습니다. 이 가이드에서 thoughtbot 가이드와 충돌하는 규칙을 정의한다면 이 가이드가 우선합니다. 일부 지침은 그 중요성을 강조하기 위해 말 그대로 반복될 수 있습니다.
개요
GitLab은 Ruby on Rails 위에 구축되었으며, 백엔드 테스트에는 RSpec를 사용하고, 엔드 투 엔드 통합 테스트에는 Capybara를 사용합니다. 프론트엔드 측에서는 JavaScript 단위 및 통합 테스트에 Jest를 사용합니다.
다음은 자동화된 테스트가 무엇을 의미하며 그 원리가 무엇인지 이해하기 위해 모두가 읽어야 할 두 가지 훌륭한 기사입니다.
- Five Factor Testing: 왜 테스트가 필요한가?
- Principles of Automated Testing: 테스트 수준, 테스트 우선순위, 테스트 비용.
테스트 수준
다양한 테스트 수준과 변경 내용을 어느 수준에서 테스트해야 하는지 결정하는 방법에 대해 알아봅니다.
테스트 모범 사례
좋은 테스트를 작성하는 방법에 대해 알아야 할 모든 것: 테스트 디자인, RSpec, FactoryBot, 시스템 테스트, 매개변수화된 테스트 등.
프론트엔드 테스트 표준 및 스타일 가이드
좋은 프론트엔드 테스트를 작성하는 방법에 대해 알아야 할 모든 것: Jest, 프라미스 테스트, 스텁 등.
기능 테스트 시작하기
기능 테스트를 시작해야 하는 경우 일반 지침, 팁 및 트릭을 확인하여 화이트박스 테스트를 최대한 활용하세요.
불안정한 테스트
불안정한 테스트가 무엇인지, 우리가 겪은 다양한 종류의 불안정한 테스트 및 대처 방법에 대해 알아봅니다.
GitLab 파이프라인
GitLab 테스트 스위트가 CI 컨텍스트에서 실행되는 방식: 설정, 캐시, 아티팩트, 병렬화, 모니터링.
리뷰 앱
GitLab CE/EE를 위해 리뷰 앱이 설정되는 방법 및 사용법에 대해 알아봅니다.
Rake 작업 테스트
Rake 작업을 테스트하는 방법에 대해 알아야 할 모든 것입니다.
엔드 투 엔드 테스트
GitLab QA 테스트 프레임워크를 사용하여 엔드 투 엔드 테스트를 실행하는 방법에 대해 알아야 할 모든 것입니다.
마이그레이션 테스트
마이그레이션을 테스트하는 방법에 대해 알아야 할 모든 것입니다.
계약 테스트
계약 테스트 소개, 테스트 실행 방법, 작성 방법에 대해 알아봅니다.
테스트 결과 추적
테스트 스위트 실행 결과를 추적하는 방법에 대해 알아봅니다.