---
url: 'https://dxpr.com/ko/hc/documentation/learn-dxpr-builder/integrations/setting-up-ab-tests'
title: '기여하기 | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2026-10-24T08:55:14+00:00'
updated: '2026-10-24T09:09:48+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: |-
  DXPR Builder 개발은 GitHub의
  github.com/dxpr/dxpr_builder에서
  이루어집니다. 모든 기여는 저장소의
  CONTRIBUTING.md에
  설명된 워크플로를 따릅니다.
tags:
  - 'Variaties testen'
image: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
published: true
og:
  site_name: DXPR
  updated_time: '2026-10-24T09:09:48+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: 기여하기
      description: |-
        DXPR Builder 개발은 GitHub의
        github.com/dxpr/dxpr_builder에서
        이루어집니다. 모든 기여는 저장소의
        CONTRIBUTING.md에
        설명된 워크플로를 따릅니다.
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2026-10-24T08:55:14+0000'
      dateModified: '2026-10-24T09:09:48+0000'
      author:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      mainEntityOfPage: 'https://dxpr.com/ko/hc/documentation/learn-dxpr-builder/integrations/setting-up-ab-tests'
      articleSection: 'Variaties testen'
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/ko/hc/documentation/learn-dxpr-builder/integrations/setting-up-ab-tests'
      description: |-
        DXPR Builder 개발은 GitHub의
        github.com/dxpr/dxpr_builder에서
        이루어집니다. 모든 기여는 저장소의
        CONTRIBUTING.md에
        설명된 워크플로를 따릅니다.
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: 홈
            item: 'https://dxpr.com/ko'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: ko
---
[Help Center](/ko/node/75)/[Documentation](/ko/hc/documentation) /[Learn DXPR Builder](/hc/documentation/learn-dxpr-builder) /[Manage the site](/hc/documentation/learn-dxpr-builder/manage) /[Variaties testen](/hc/documentation/learn-dxpr-builder/integrations/ab-testing-overview) # 기여하기.

 Learn DXPR BuilderManage the siteVariaties testen

   ## In this guide

 Related guides

- [Analysing results](/hc/documentation/learn-dxpr-builder/integrations/analyzing-results)

DXPR Builder 개발은 GitHub의 [github.com/dxpr/dxpr\_builder](https://github.com/dxpr/dxpr_builder)에서 이루어집니다. 모든 기여는 저장소의 [CONTRIBUTING.md](https://github.com/dxpr/dxpr_builder/blob/3.x/CONTRIBUTING.md)에 설명된 워크플로를 따릅니다.

## Git 워크플로

1. 모든 풀 리퀘스트는 GitHub 이슈에 연결되어야 합니다.
2. 브랜치 이름 규칙: `person/target-branch/#issue-description`(예: `jur/3.x/#42-fix-carousel-autoplay`)
3. 다음에 따라 원자적 커밋을 작성합니다. [alphagov Git styleguide](https://github.com/alphagov/styleguides/blob/master/git.md)
4. 풀 리퀘스트에는 해결 방법에 대한 짧은 설명이 포함되어야 합니다.
5. 변경은 이슈 범위 안에 유지합니다. 관련 없는 서식 정리나 리팩터링을 포함하지 않습니다.

## 코드 오너

[@jjroelofs](https://github.com/jjroelofs)가 코드 오너입니다. 해당 리뷰 없이는 어떤 풀 리퀘스트도 병합할 수 없습니다.

## 코딩 표준

- PHP: [Drupal coding standards](https://www.drupal.org/docs/develop/standards)
- JavaScript: ES6+ 전용(새 코드에 `var` 없음, jQuery 없음). 프로젝트 예외와 함께 [Airbnb JavaScript coding standards](https://github.com/airbnb/javascript)를 따릅니다.
- CSS: 사용자 정의 속성과 토큰 이름용 [Design System](https://github.com/dxpr/dxpr_builder/blob/3.x/DESIGN-SYSTEM.md)을 따릅니다.
- 요소의 `showed` 메서드를 변경하면 업데이트된 `dxpr_frontend.js`를 포함해야 합니다. 컨테이너의 저장 버튼을 클릭할 때 에디터가 브라우저 콘솔에 출력하는 전체 출력에서 생성합니다.
- 새 기능에는 QA Analytics 커버리지가 필요합니다.

복제 뒤에 `npm install`을 한 번 실행합니다. 스테이징된 파일을 검사하는 Husky pre-commit 훅이 설치됩니다. [Testing](/ko/hc/documentation/learn-dxpr-builder/development/testing)을 참조합니다.

## E2E 테스트 실행하기

테스트는 PR 댓글의 슬래시 명령어로 실행합니다.

| Command | Description |
|---|---|
| `/e2e` | 전체 BS5 에디터 및 익명 스위트를 실행합니다. |
| `/e2e groups=group-name` | 특정 테스트 그룹을 실행합니다. |
| `/e2e tests=ClassName` | 특정 테스트 클래스를 실행합니다. |
| `/e2e-bs3` | BS3 에디터 스위트를 실행합니다. |
| `/e2eV2` | DXPR CMS 스택에서 BS5 스위트를 실행합니다. |
| `/e2e maven_ref=branch` | 사용자 정의 `dxpr_maven` 브랜치로 테스트합니다. |

빌더 변경에 테스트 변경이 필요하면 QA 엔지니어가 브랜치에서 `dxpr_maven`을 업데이트하고, 풀 리퀘스트에서 `/e2e maven_ref=<branch>`을 실행합니다. 빌더 풀 리퀘스트가 먼저 병합된 뒤 `dxpr_maven` 풀 리퀘스트가 병합됩니다.

## 리뷰 요청 전

1. 변경 사항을 구현합니다.
2. 꼼꼼히 테스트합니다.
3. 정리/리팩터링을 한 차례 수행합니다.
4. 깨진 부분이 없는지 다시 테스트합니다.
5. 깔끔한 git 기록으로 커밋하고 푸시합니다.
6. 린터 검사가 통과하는지 확인합니다.
7. PR에 `/e2e`를 댓글로 달아 회귀 테스트를 실행합니다.
8. 모든 검사가 통과한 뒤 리뷰를 요청합니다.