기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
CI/CD 파이프라인 테스트
배포 파이프라인에서 일반적으로 참조되는 두 가지 유형의 자동 테스트는 유닛 테스트와 통합 테스트입니다. 그러나 코드베이스와 개발 환경에서 실행할 수 있는 다양한 유형의 테스트가 있습니다. AWS 배포 파이프라인 참조 아키텍처
-
유닛 테스트 - 이러한 테스트는 애플리케이션 코드를 빌드하고 실행하여 예상대로 실행되고 있는지 확인합니다. 코드베이스에 사용되는 모든 외부 종속성을 시뮬레이션합니다. 유닛 테스트 도구의 예로, JUnit
, Jest , pytest 가 있습니다. -
통합 테스트 - 이러한 테스트는 프로비저닝된 테스트 환경을 테스트하여 애플리케이션이 기술 요구 사항을 충족하는지 확인합니다. 통합 테스트 도구의 예로, Cucumber
, vRest NG , integ-tests( AWS CDK용)가 있습니다. -
승인 테스트 - 이러한 테스트는 프로비저닝된 테스트 환경을 테스트하여 애플리케이션이 사용자 요구 사항을 충족하는지 확인합니다. 승인 테스트 도구의 예로, Cypress
및 Selenium 이 있습니다. -
가상 테스트 - 이러한 테스트는 백그라운드에서 지속적으로 실행되어 트래픽을 생성하고 시스템이 정상인지 확인합니다. 가상 테스트 도구의 예로, Amazon CloudWatch Synthetics 및 Dynatrace Synthetic Monitoring
이 있습니다. -
성능 테스트 - 이러한 테스트는 프로덕션 용량을 시뮬레이션합니다. 애플리케이션이 성능 요구 사항을 충족하는지 확인하고 지표를 과거 성능과 비교합니다. 성능 테스트 도구의 예로, Apache JMeter
, Locust , Gatling 이 있습니다. -
복원력 테스트 - 카오스 테스트라고도 하는 이러한 테스트는 위험 영역을 식별하기 위해 환경에 장애를 주입합니다. 그리고 장애가 주입되는 기간을 장애가 없는 기간과 비교합니다. 복원력 테스트 도구의 예로, AWS Fault Injection Service
및 Gremlin 이 있습니다. -
정적 애플리케이션 보안 테스트(SAST) - 이러한 테스트는 SQL 인젝션
또는 크로스 사이트 스크립팅(XSS) 과 같은 보안 위반에 대한 코드를 분석합니다. SAST 도구의 예로, Amazon CodeGuru , SonarQube , Checkmarx 가 있습니다. -
동적 애플리케이션 보안 테스트(DAST) - 이러한 테스트를 침투 테스트 또는 펜 테스트라고도 합니다. 프로비저닝된 테스트 환경에서 SQL 인젝션 또는 XSS와 같은 취약성을 식별합니다. DAST 도구의 예로, ZAP(Zed Attack Proxy)
및 HCL AppScan 이 있습니다. 자세한 내용은 Penetration Testing 을 참조하세요.
모든 완전한 CI/CD 파이프라인이 이러한 테스트를 모두 실행하는 것은 아닙니다. 그러나 최소한 파이프라인은 코드베이스에서 유닛 테스트 및 SAST 테스트를 실행하고 테스트 환경에서 통합 및 승인 테스트를 실행해야 합니다.