InfoGrab DocsInfoGrab Docs

실험 가이드

GitLab에서 A/B/n 테스트 실험을 설계, 구현, 테스트, 배포하는 전체 워크플로와 GLEX 프레임워크 사용 방법을 설명합니다.

모든 GitLab 팀은 실험을 수행할 수 있으며, 주로 Growth 하위 부서 팀이 담당합니다. 실험은 주로 GitLab.com을 대상으로 하기 때문에 릴리스와 연결되지 않습니다. 실험은 A/B/n 테스트로 실행되며, 테스트를 켜거나 끄기 위해 실험 기능 플래그 뒤에 위치합니다. 실험이 생성한 데이터를 기반으로 팀은 실험이 긍정적인 영향을 미쳤는지, 새 기본값으로 설정해야 하는지, 아니면 롤백해야 하는지 결정합니다. GitLab의 실험은 GitLab 개발에서의 기능 플래그 에서 제공하는 개념과 밀접하게 연관되어 있습니다. 실험 실행을 고려하기 전에 GitLab 개발에서의 기능 플래그 문서를 읽고 이해할 것을 강력히 권장합니다. 실험은 GitLab이 개발에서 기능 플래그를 사용하는 방식에 대한 기초를 이해하지 않으면 혼란스럽거나 고급스럽게 느껴질 수 있는 추가 개념을 포함합니다. 한 가지 개념: 실험은 여러 변형(variant)으로 실행될 수 있으며, 이를 때로는 A/B/n 테스트라고도 합니다. 실험 실행에는 gitlab-experiment gem (GLEX라고도 불림)을 사용합니다. 이 gem은 Ruby를 사용하는 모든 GitLab 속성에서 공유할 수 있도록 별도의 리포지터리에 존재합니다. 고급 주제를 더 깊이 파고들거나 이슈를 열고 싶다면 해당 프로젝트의 문서를 편하게 읽어보세요. 해당 문서는 main 브랜치의 내용을 반영하며 GitLab에서 사용 중인 버전과 다를 수 있음을 인지하세요. 용어집 # 공통 언어를 보장하기 위해, 실험에 대해 소통할 때 사용하는 다음 기본 용어를 이해해야 합니다: experiment : 특정 시간에는 실행하고 다른 시간에는 실행하지 않으려는 코드 경로의 모든 변형. context : 실험에서 제공하는 일관된 경험. control : 기본값, 즉 "원래" 코드 경로. candidate : 하나의 코드 경로만 있는 실험을 정의. variant(s) : 여러 코드 경로가 있는 실험을 정의. behaviors : control을 포함한 실험의 모든 가능한 코드 경로를 참조하는 데 사용. 실험 워크플로 # GitLab에서 실험을 실행하려면 다음 워크플로를 따르세요: 실험 구현 - GLEX 프레임워크를 사용하여 A/B/n 테스트를 생성하고 구성 실험 테스트 - RSpec 테스트 작성 및 실험 동작 검증 실험 배포 - 기능 플래그를 사용하여 실험 배포 코드 리뷰 가이드라인 - 적절한 기준으로 실험 코드 리뷰 GLEX (또는 Gitlab::Experiment , gitlab-experiment gem)는 GitLab에서 실험을 구현하기 위해 선호되는 옵션입니다. 실험에 새 아이콘 및 일러스트레이션 추가 # 일부 실험에서는 코드베이스에 커스텀 아이콘이나 일러스트레이션을 추가해야 할 수 있습니다. 이 프로세스는 길고 현재 단계에서는 실험 결과가 불확실합니다. 따라서 실험 정리 프로세스 까지 이 작업을 연기하는 것이 좋습니다. 다음 워크플로를 권장합니다: 아이콘 및 일러스트레이션 에 대한 Pajamas 가이드라인을 검토하세요