지속적 테스팅 시작하기

개요

Continuous Testing를 사용하면 스테이징, QA 및 사전 프로덕션 환경에서 구성한 것과 동일한 신서틱(Synthetic) 테스트를 자동으로 실행 및 모니터링하고 코드 변경으로 테스트에 실패할 경우 팀에 선제적으로 경고하고 파이프라인 배포를 차단할 수 있습니다.

Continuous Testing 테스트를 통해 다음을 할 수 있습니다.

병렬화를 설정하면 CI/CD 파이프라인에서 여러 테스트를 순차적으로 실행하지 않고 동시에 실행하여 빌드, 테스트 및 배포 프로세스의 속도를 높일 수 있습니다. 테스트가 실행되면 신서틱(Synthetic) 모니터링 & 테스트 결과 탐색기에서 테스트 결과와 CI 배치를 살펴보세요.

Continuous Testing로 개발자 워크플로를 개선하려면 다음을 수행하세요.

Continuous Testing는 전체 소프트웨어 수명 주기에서 엔드투엔드 테스트를 자동화하여 조직의 애플리케이션 개발을 가속화합니다. 로캘 및 스테이징 환경에서 테스트를 실행하고, 테스트 실행을 병렬화하고, CI 공급자와 통합할 수 있도록 해줍니다.

사전 필수 요건

계정이 없다면 Datadog 계정을 만드세요.

지속적 테스팅 테스트 생성

지속적 테스팅 테스트를 설정하려면 먼저 Datadog에서 신서틱 테스트를 생성해야 합니다. 다음은 테스트 e-커머스 웹 애플리케이션 사이트 https://www.shopist.io에서 브라우저 테스트를 생성하는 예시입니다.

브라우저 테스트에서는 시작 URL에서 시작해 웹 애플리케이션의 사용자의 여정을 테스트합니다. 시작 URL이 스테이징 환경 내에 있도록 하면 다음 프로덕션 단계로 넘어가기 전에 변경 사항을 테스트하기가 수월해집니다.

테스트 상세 구성

  1. 디지털 경험** > 신서틱(Synthetic) 모니터링 & 테스트 > 새 테스트로 이동합니다.

  2. 상단 오른쪽 모서리에서 New Test > Browser Test를 클릭합니다.

    new_browser_test
  3. 브라우저 테스트 정의하기:

    • 시작 URL 필드에 모니터링하고자 하는 웹사이트의 URL을 추가합니다. 이 예시에서는 https://www.shopist.io를 입력합니다.
    • Advanced Options를 선택해 사용자 설정 요청 옵션, 인증서, 인증 자격 등을 설정할 수 있습니다. 이 예시에서는 특정 고급 옵션이 필요없습니다.
    • 테스트 이름을 지정하고 팀 태그를 팀 체크아웃 등으로 지정합니다. 테스트 스위트를 정리하고 신서틱(Synthetic) 모니터링 & 테스트 결과 탐색기를 통해 관심 있는 테스트를 찾을 수 있습니다.
    • 테스트하고자 하는 브라우저와 디바이스를 선택합니다.
  4. 계속하여 평소처럼 테스트 상세 내용과 기록 내용을 기입합니다.

CI 공급자 또는 협업 도구와 통합

Continuous Testing에서 테스트와 트러블슈팅 를 결합하여 애플리케이션 개발을 가속화하고, 워크플로를 간소화하고, 컨텍스트 전환을 최소화하세요.

CI 공급자 또는 Slack 또는 Jira와 같은 협업 도구와 통합하려면 해당 문서를 참조하세요:

github actions
gitlab
jenkins
circleci orb
azure devops extension

지속적 테스팅 테스트 실행

개발 워크플로우를 향상하려면 CLI에 있는 datadog-ci를 CI 환경으로 사용해 테스트를 구성할 수 있습니다. 그 후 IDE 개발자 환경에서 바로 테스트를 실행할 수 있습니다.

CLI에서 테스트 실행

datadog-ciNPM 패키지를 사용해 지속적 테스팅 확장 기능을 사용할 수 있습니다. datadog-ci는 CI/CD 스크립트 내에서 명령을 실행해 배포 전에 애플리케이션을 테스트할 수 있도록 해줍니다. 테스트가 실패할 시에는 자동으로 변경 사항을 차단하거나 롤백할 수 있습니다. 설치 및 설정 방법을 보려면 datadog-ci 구성 페이지를 참고하세요.

datadog-ci을 사용하여 특정 Datadog 팀 태그로 태그된 테스트만 실행할 수 있습니다. 예를 들어 team-checkout으로 태그된 모든 테스트를 실행하려면 다음을 수행하세요.

  1. 명령줄로 이동합니다.

  2. 다음 명령을 실행합니다:

    datadog-ci synthetics run-tests -search 'tag:team-checkout' --config global.config.json
    

신서틱 명령 실행 및 리포터 사용에 대한 자세한 내용은 설정 설명서를 참조하세요.

IDE에서 테스트 실행

Datadog 신서틱 VS 코드 통합을 별도로 사용하면 다음에 도움이 됩니다.

  • 로컬에서 개발을 가속화하려면 비공개 위치 또는 로컬 환경을 사용하세요.
  • HTTP API 테스트와 브라우저 테스트를 실행하고 VS 코드 내에서 결과를 확인할 수 있습니다.
  • 관련 테스트를 동시에 실행하여 중요한 것만 테스트할 수 있습니다.
vscode-extension-demo

VS 코드에서 테스트 실행

  1. VS 코드를 실행하고 VS 코드 확장 보기에서 Datadog 확장을 설치합니다.
  2. Datadog 신서틱 확장을 실행하고 로그인 페이지가 나타나면 로그인합니다.
  3. 실행할 신서틱 테스트를 선택합니다.
  4. 시작 URL을 설정합니다.
  5. 테스트를 실행합니다.

신서틱(Synthetic) 모니터링 & 테스트 결과 탐색기에서 결과 확인

신서틱(Synthetic) 모니터링 & 테스트 결과 탐색기를 사용하면 Continuous Testing 테스트에 대한 시각화를 만들고 CI 배치테스트 실행을 필터링할 수 있습니다.

디지털 경험 > 신서틱(Synthetic) 모니터링 & 테스트 > 새 테스트로 이동한 다음 CI 배치 또는 테스트 실행을 선택하여 탐색기에서 CI 배치 또는 테스트 실행의 결과를 확인합니다. 목록에서 CI 배치 또는 테스트를 선택하면 결과를 더 자세히 볼 수 있습니다.

신서틱 모니터링 및 테스트 결과 탐색기에서 CI 배치 검색 및 관리
신서틱 모니터링 및 테스트 결과 탐색기에서 테스트 실행 검색 및 관리

검색 쿼리 생성하기

즉시 사용 가능한 검색 쿼리 중 하나를 살펴보고 CI 배치 필터링이나 테스트 실행을 시작해 보세요.

신서틱 모니터링 및 테스트 결과 탐색기에서 바로 사용 가능한 검색 쿼리

선택적으로 쿼리에서 검색 테스트 실행을 생성할 수 있습니다. 위에서 만든 브라우저 테스트를 사용하여 테스트 ID를 찾고 공통 테스트 실행 패싯을 사용하여 검색 쿼리를 만듭니다.

브라우저 테스트의 ID를 찾으려면,

테스트 실행의 속성 섹션에 강조 표시된 브라우저 테스트 ID
  1. 테스트 페이지로 이동합니다.
  2. 테스트를 선택합니다.
  3. Properties 섹션에서 테스트 ID를 찾습니다.

검색 쿼리에서 패싯을 사용하는 방법에 관한 자세한 정보는 테스트 실행 검색을 참고하세요.

신서틱(Synthetic) 모니터링 & 테스트 결과 탐색기의 보기를 내보내려면 > 보기를 클릭합니다. 자세한 내용은 저장된 보기를 참조하세요.

병렬화 기본 설정 구성

신서틱 테서트에서 병렬화 설정은 기본값으로 비활성화되어 있습니다. 병렬화 기능을 사용하면 CI/CD 파이프라인에서 테스트 여러 개를 동시에 실행할 수 있습니다. 테스트를 병렬화하려면 Estimate Parallelization 계산기를 사용해 기능 사용이 필요한지 확인할 수 있습니다.

parallelization_estimate

디지털 경험 > 신서틱(Synthetic) 모니터링 & 테스트 > 설정으로 이동하여 계산기를 찾습니다.

예를 들어 CI 배치에 테스트가 24개 있다고 합시다. 각 테스트를 완료하는데 2분이 걸리고, 목표는 모든 테스트를 4분 내에 완료하는 것입니다. 그러면 12개 테스트를 병렬화하여 실행해야 합니다.

$$\text"병렬화 예측" = {\text"CI 배치 당 24개 테스트"* \text"소요 시간 2분"} / \text"CI 파이프라인 예상 소요 시간 4분"$$

병렬화 예측이 완료되면 병렬화 모달에 동시에 실행하고자 하는 테스트 수를 입력하고 Save Selection을 클릭하세요.

자세한 정보는 병렬화 설명서를 참조하세요.

참고 자료

PREVIEWING: rtrieu/product-analytics-ui-changes