[TIL] 20240619 - 인수테스트

jini·2024년 6월 19일
0

TIL

목록 보기
31/48

인수테스트(UAT; User Acceptance Test)


요구사항대로 기능이 구현되었는지 확인하는 과정

🧊 아티팩트 리포지토리 (Artifact Repository)

버전 관리, 접근 제어 등의 기능을 가지는 소프트웨어 개발 산출물을 발행하거나 인출할 수 있는 저장소 및 관리 기법이 필요

🧊 도커 레지스트리(Docker Registry)

컨테이너화된 소프트웨어의 산출물인 도커 이미지를 관리할 수 있는 리포지토리

클라우드 방식 레지스트리

  • 레지스트리 서비스 : Docker Hub
  • 상용 클라우드에서 제공하는 서비스 : AWS ECR, GCP, Artifact Registry, Azure Container REgistry, ...)

자체 호스팅 방식 레지스트리

  • 외부에 소프트웨어를 보관하는 것이 어려운 경우 사용
  • 직접 관리해야 하고, 접근 제어 및 인증서 설정 등의 작업 수행

🧊 인수 테스트 파이프라인 스테이지

  • 애플리케이션 빌드 스테이지 : stage("Package")

  • 도커 이미지 빌드 스테이지 : stage("Docker Build")

  • 도커 푸시 스테이지 : stage("Docker Push")

  • 인수 테스트 스테이지 : stage("Acceptance Test")


🧊 BDD(Behavior-Driven Development)

사용자(또는 프로덕트 오너)가 인수 기준을 제시

위 인수 기준으로부터 개발자는 fixture 또는 step definitions 라고 부르는 사용자 친화적인 DSL(Domain-specific language)와 프로그래밍 언어를 통합해서 테스트를 작성

이를 도와주는 도구

  • Cucumber
  • Selenium

🧊 Cucumber를 이용한 인수 테스트 생성

인수 기준 생성

특정 파일에 비즈니스 사양을 명세

스텝 정의 작성

기능 사양을 실행할 수 있는 Java 바인딩을 생성

자동 인수 테스트 실행

Gradle 설정에 라이브러리 의존성 명세 추가
Gradle 태스크와 Junit 테스트 러너를 추가


🧊 TDD(Test-Driven Development)

인수 테스트는 기술보다 사람이 중심이며 TDD는 인수 테스트에 적합

  • 인수 테스트 통과를 기능 구현 완료로 간주

0개의 댓글