인프라 테스트
테스트 주도 인프라
- 테스트 주도 인프라(Test-Driven Integration)는 애플리케이션 개발 방법에서의 테스트 주도 개발(TDD)을 인프라 구축에 적용한 것입니다. 구체적으로는 미들웨어, 설정 파일, 사용자 추가 등에 대해 다음과 같은 과정을 반복해서 구현하는 방법입니다.
- 우선 처음에 인프라 요건의 테스트 코드를 작성합니다.
- 테스트를 실행해서 실패합니다.
- 그 다음에 테스트를 만족시키는 인프라 코드를 작성합니다.
- 프로비저닝을 실행합니다.
- 테스트를 실행해서 성공합니다.
인프라 CI
- CI(Continuous Integration, 지속적 통합)란, 애플리케이션 개발에서 빌드나 테스트를 빈번하게 반복 수행함으로써 문제를 조기에 발견해서 개발의 효율화를 꾀하는 방법입니다. 이를 인프라에 적용한 것을 인프라CI라고 합니다.
- 인프라CI에서는 동작을 확인하기 위해 테스트 서버를 생성하고 프로비저닝, 테스트, 테스트 서버 파기와 같은 일련의 과정을 가능한 한 짧은 사이클에 실행하게 됩니다.
- 프로비저닝 : 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말합니다.
인프라CI의 장점
- 코드 변경이나 예상 외의 상황이 발생했을 때 신속하게 감지할 수 있습니다.
- 개개인의 개발 환경 의존 문제를 감지하기 쉬워집니다.
- 인프라 구축 작업이 사람마다 다르지 않고 획일화되어 암묵지를 제거할 수 있습니다.
- 재작업이 감소하고 품질을 유지할 수 있습니다.
- 품질이나 생산성을 지속적으로 분석 및 개선할 수 있습니다.