InfoGrab DocsInfoGrab Docs

실험 가이드

요약

실험은 어느 GitLab 팀이든 수행할 수 있으며, 주로 Growth 하위 부서의 팀이 진행합니다. 실험은 A/B/n 테스트로 실행되며, 테스트를 켜고 끄는 실험 기능 플래그 뒤에서 동작합니다. GitLab의 실험은 GitLab 개발에서의 기능 플래그가 제시하는 개념과 긴밀하게 연결돼 있습니다.

실험은 어느 GitLab 팀이든 수행할 수 있으며, 주로 Growth 하위 부서의 팀이 진행합니다. 실험은 주로 GitLab.com을 대상으로 하므로 릴리스와 연동되지 않습니다.

실험은 A/B/n 테스트로 실행되며, 테스트를 켜고 끄는 실험 기능 플래그 뒤에서 동작합니다. 팀은 실험이 만들어 낸 데이터를 바탕으로 실험이 긍정적인 영향을 주어 새 기본값으로 삼을지, 아니면 롤백할지 결정합니다.

GitLab의 실험은 GitLab 개발에서의 기능 플래그가 제시하는 개념과 긴밀하게 연결돼 있습니다. 실험 실행을 검토하기 전에 문서의 GitLab 개발에서의 기능 플래그 부분을 반드시 읽고 이해할 것을 강력히 권장합니다. 실험은 추가 개념을 도입하는데, GitLab 이 개발 과정에서 기능 플래그를 사용하는 방식을 이해하지 못하면 이 개념이 혼란스럽거나 어렵게 느껴질 수 있습니다. 그중 하나로, 실험은 여러 변형으로 실행할 수 있으며 이를 A/B/n 테스트라고 부르기도 합니다.

GitLab은 실험 실행에 gitlab-experiment gem을 사용하며, 이를 GLEX 라고 부르기도 합니다. 이 gem은 Ruby를 사용하는 GitLab 자산 전반에서 공유할 수 있도록 별도 리포지터리에 있습니다. 더 심화된 주제를 살펴보거나 이슈를 생성하려면 해당 프로젝트의 문서를 함께 읽어 보기 바랍니다. 다만 그곳의 문서는 main 브랜치의 내용을 반영하므로 GitLab에서 사용 중인 버전과 다를 수 있습니다.

용어집#

공통된 언어를 사용하기 위해 실험을 이야기할 때 쓰는 다음 기본 용어를 이해해야 합니다.

  • experiment: 어떤 때는 실행하고 어떤 때는 실행하지 않는 코드 경로의 분기 전체.
  • context: 실험에서 제공하는 일관된 경험.
  • control: 기본 코드 경로, 즉 "원래" 코드 경로.
  • candidate: 코드 경로가 하나뿐인 실험을 정의합니다.
  • variant(s): 코드 경로가 여러 개인 실험을 정의합니다.
  • behaviors: control을 포함해 실험의 모든 가능한 코드 경로를 가리킬 때 사용합니다.

실험 워크플로#

GitLab에서 실험을 실행하려면 다음 워크플로를 따릅니다.

  1. 실험 구현 - GLEX 프레임워크로 A/B/n 테스트를 생성하고 설정합니다
  2. 실험 테스트 - RSpec 테스트를 작성하고 실험 동작을 검증합니다
  3. 실험 롤아웃 - 기능 플래그로 실험을 배포합니다
  4. 코드 리뷰 가이드라인 - 적절한 기준으로 실험 코드를 검토합니다

GitLab에서 실험을 구현할 때는 GLEX, 즉 gitlab-experiment gem의 Gitlab::Experiment를 우선 사용합니다.

실험용 아이콘 및 일러스트레이션 추가#

일부 실험에서는 사용자 지정 아이콘이나 일러스트레이션을 코드베이스에 추가해야 할 수 있습니다. 이 과정은 시간이 오래 걸리며, 이 단계에서는 실험의 결과도 확정되지 않았습니다. 따라서 이 작업은 실험 정리 과정까지 미루는 것이 좋습니다.

권장하는 워크플로는 다음과 같습니다.

  1. 아이콘과 일러스트레이션에 대한 Pajamas 가이드라인을 확인합니다.
  2. GitLab 리포지터리의 /app/assets/images(또는 EE) 경로에 아이콘이나 일러스트레이션을 .svg 파일로 추가합니다.
  3. image_tag 또는 image_path를 사용해 애셋 파이프라인을 통해 렌더링합니다.
  4. 실험이 성공하면 디자이너가 정리 과정의 일부로 새 아이콘이나 일러스트레이션을 Pajamas UI 킷에 추가합니다. 그다음 엔지니어가 SVG 라이브러리에 추가하고 프론트엔드 개발 가이드라인에 따라 구현을 수정합니다.

추가 자료#

실험 가이드

GitLab v19.4
원문 보기

요약

실험은 어느 GitLab 팀이든 수행할 수 있으며, 주로 Growth 하위 부서의 팀이 진행합니다. 실험은 A/B/n 테스트로 실행되며, 테스트를 켜고 끄는 실험 기능 플래그 뒤에서 동작합니다. GitLab의 실험은 GitLab 개발에서의 기능 플래그가 제시하는 개념과 긴밀하게 연결돼 있습니다.

실험은 어느 GitLab 팀이든 수행할 수 있으며, 주로 Growth 하위 부서의 팀이 진행합니다. 실험은 주로 GitLab.com을 대상으로 하므로 릴리스와 연동되지 않습니다.

실험은 A/B/n 테스트로 실행되며, 테스트를 켜고 끄는 실험 기능 플래그 뒤에서 동작합니다. 팀은 실험이 만들어 낸 데이터를 바탕으로 실험이 긍정적인 영향을 주어 새 기본값으로 삼을지, 아니면 롤백할지 결정합니다.

GitLab의 실험은 GitLab 개발에서의 기능 플래그가 제시하는 개념과 긴밀하게 연결돼 있습니다. 실험 실행을 검토하기 전에 문서의 GitLab 개발에서의 기능 플래그 부분을 반드시 읽고 이해할 것을 강력히 권장합니다. 실험은 추가 개념을 도입하는데, GitLab 이 개발 과정에서 기능 플래그를 사용하는 방식을 이해하지 못하면 이 개념이 혼란스럽거나 어렵게 느껴질 수 있습니다. 그중 하나로, 실험은 여러 변형으로 실행할 수 있으며 이를 A/B/n 테스트라고 부르기도 합니다.

GitLab은 실험 실행에 gitlab-experiment gem을 사용하며, 이를 GLEX 라고 부르기도 합니다. 이 gem은 Ruby를 사용하는 GitLab 자산 전반에서 공유할 수 있도록 별도 리포지터리에 있습니다. 더 심화된 주제를 살펴보거나 이슈를 생성하려면 해당 프로젝트의 문서를 함께 읽어 보기 바랍니다. 다만 그곳의 문서는 main 브랜치의 내용을 반영하므로 GitLab에서 사용 중인 버전과 다를 수 있습니다.

용어집#

공통된 언어를 사용하기 위해 실험을 이야기할 때 쓰는 다음 기본 용어를 이해해야 합니다.

  • experiment: 어떤 때는 실행하고 어떤 때는 실행하지 않는 코드 경로의 분기 전체.
  • context: 실험에서 제공하는 일관된 경험.
  • control: 기본 코드 경로, 즉 "원래" 코드 경로.
  • candidate: 코드 경로가 하나뿐인 실험을 정의합니다.
  • variant(s): 코드 경로가 여러 개인 실험을 정의합니다.
  • behaviors: control을 포함해 실험의 모든 가능한 코드 경로를 가리킬 때 사용합니다.

실험 워크플로#

GitLab에서 실험을 실행하려면 다음 워크플로를 따릅니다.

  1. 실험 구현 - GLEX 프레임워크로 A/B/n 테스트를 생성하고 설정합니다
  2. 실험 테스트 - RSpec 테스트를 작성하고 실험 동작을 검증합니다
  3. 실험 롤아웃 - 기능 플래그로 실험을 배포합니다
  4. 코드 리뷰 가이드라인 - 적절한 기준으로 실험 코드를 검토합니다

GitLab에서 실험을 구현할 때는 GLEX, 즉 gitlab-experiment gem의 Gitlab::Experiment를 우선 사용합니다.

실험용 아이콘 및 일러스트레이션 추가#

일부 실험에서는 사용자 지정 아이콘이나 일러스트레이션을 코드베이스에 추가해야 할 수 있습니다. 이 과정은 시간이 오래 걸리며, 이 단계에서는 실험의 결과도 확정되지 않았습니다. 따라서 이 작업은 실험 정리 과정까지 미루는 것이 좋습니다.

권장하는 워크플로는 다음과 같습니다.

  1. 아이콘과 일러스트레이션에 대한 Pajamas 가이드라인을 확인합니다.
  2. GitLab 리포지터리의 /app/assets/images(또는 EE) 경로에 아이콘이나 일러스트레이션을 .svg 파일로 추가합니다.
  3. image_tag 또는 image_path를 사용해 애셋 파이프라인을 통해 렌더링합니다.
  4. 실험이 성공하면 디자이너가 정리 과정의 일부로 새 아이콘이나 일러스트레이션을 Pajamas UI 킷에 추가합니다. 그다음 엔지니어가 SVG 라이브러리에 추가하고 프론트엔드 개발 가이드라인에 따라 구현을 수정합니다.

추가 자료#