기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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)과 같은 보안 위반에 대한 코드를 분석합니다. https://owasp.org/www-community/attacks/xss/ SAST 도구의 예로는 Amazon CodeGuru , SonarQube 및 Checkmarx 가 있습니다. -
동적 애플리케이션 보안 테스트(DAST) - 이러한 테스트를 침투 테스트 또는 펜 테스트라고도 합니다. 프로비저닝된 테스트 환경에서 SQL 삽입 또는 XSS와 같은 취약성을 식별합니다. DAST 도구의 예로는 ZAP(Zed Attack Proxy)
및 HCL AppScan 이 있습니다. 자세한 내용은 침투 테스트를 참조하세요.
모든 전체 CI/CD 파이프라인이 이러한 테스트를 모두 실행하는 것은 아닙니다. 그러나 최소한 파이프라인은 코드 기반에서 단위 테스트 및 SAST 테스트를 실행하고 테스트 환경에서 통합 및 수락 테스트를 실행해야 합니다.