CI/CD 파이프라인 테스트 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CI/CD 파이프라인 테스트

배포 파이프라인에서 일반적으로 참조되는 두 가지 유형의 자동 테스트는 단위 테스트통합 테스트입니다. 그러나 코드 기반과 개발 환경에서 실행할 수 있는 테스트 유형은 다양합니다. AWS 배포 파이프라인 참조 아키텍처는 다음과 같은 유형의 테스트를 정의합니다.

  • 단위 테스트 - 이러한 테스트는 애플리케이션 코드를 빌드하고 실행하여 예상대로 실행되고 있는지 확인합니다. 코드 기반에 사용되는 모든 외부 종속성을 시뮬레이션합니다. 단위 테스트 도구의 예로는 JUnit, Jestpytest가 있습니다.

  • 통합 테스트 - 이러한 테스트는 프로비저닝된 테스트 환경을 테스트하여 애플리케이션이 기술 요구 사항을 충족하는지 확인합니다. 통합 테스트 도구의 예로는 Cucumber, vRest NGinteg-tests(용)가 있습니다 AWS CDK.

  • 수락 테스트 - 이러한 테스트는 프로비저닝된 테스트 환경을 테스트하여 애플리케이션이 사용자 요구 사항을 충족하는지 확인합니다. 수락 테스트 도구의 예로는 CypressSelenium이 있습니다.

  • 합성 테스트 - 이러한 테스트는 백그라운드에서 지속적으로 실행되어 트래픽을 생성하고 시스템이 정상인지 확인합니다. 합성 테스트 도구의 예로는 Amazon CloudWatch SyntheticsDynatrace Synthetic Monitoring이 있습니다.

  • 성능 테스트 - 이러한 테스트는 프로덕션 용량을 시뮬레이션합니다. 애플리케이션이 성능 요구 사항을 충족하는지 확인하고 지표를 과거 성능과 비교합니다. 성능 테스트 도구의 예로는 Apache JMeter, LocustGatling이 있습니다.

  • 복원력 테스트 - 카오스 테스트라고도 하는 이러한 테스트는 위험 영역을 식별하기 위해 환경에 장애를 주입합니다. 실패가 주입되는 기간은 실패가 없는 기간과 비교됩니다. 복원력 테스트 도구의 예로는 AWS Fault Injection ServiceGremlin이 있습니다.

  • 정적 애플리케이션 보안 테스트(SAST) - 이러한 테스트는 SQL 삽입 또는 교차 사이트 스크립팅(XSS)과 같은 보안 위반에 대한 코드를 분석합니다. https://owasp.org/www-community/attacks/xss/ SAST 도구의 예로는 Amazon CodeGuru, SonarQubeCheckmarx가 있습니다.

  • 동적 애플리케이션 보안 테스트(DAST) - 이러한 테스트를 침투 테스트 또는 펜 테스트라고도 합니다. 프로비저닝된 테스트 환경에서 SQL 삽입 또는 XSS와 같은 취약성을 식별합니다. DAST 도구의 예로는 ZAP(Zed Attack Proxy)HCL AppScan이 있습니다. 자세한 내용은 침투 테스트를 참조하세요.

모든 전체 CI/CD 파이프라인이 이러한 테스트를 모두 실행하는 것은 아닙니다. 그러나 최소한 파이프라인은 코드 기반에서 단위 테스트 및 SAST 테스트를 실행하고 테스트 환경에서 통합 및 수락 테스트를 실행해야 합니다.