지속적 통합
-
지속적 통합(CI)에 자동화 테스트를 효율적으로 적용시킬 수 있을까?테스팅 관련/자동화 2021. 3. 7. 00:26
이상적인 지속적 통합은, 코드가 빌드되면 모든 자동화 테스트가 수행되어 '소프트웨어가 잘 작동하는지'와 '코드 변경에 의해 문제가 생기지 않았는지'를 확인한다 위 조건에 부합하기 어렵게 만드는 지속적 통합의 2가지 목적이 있다 1. CI 프로세스는 빠른 피드백을 얻기 위해 자주 수행되어야 한다 2. 매 빌드마다 전체 코드를 검증해야한다 자동화 테스트 설계, 구현, 유지에 있어서 깊은 주의가 필요하며, 하루에 여러번 실행되는 CI 프로세스에 모든 자동화 테스트를 수행하기에는 너무 오래 걸릴 수가 있다 이러한 문제점에 대한 여러 해결책들을 알아보도록 하자 1. 리스크 기반 테스트(RBT) 접근법을 적용하여, '기본 & 중요 테스트'를 우선 순위로 지정하고 항상 수행 리스크 기반 테스트는 제품의 특성(feat..
-
CI / CD / CD개발 관련/CI&CD 2021. 2. 11. 19:03
지속적 통합 (Continuous Integration) 소프트웨어의 모든 변경 사항과 정기적으로 변경된 모든 구성요소를 통합 (최소 하루 한 번) 형상 관리, 편집, 소프트웨어 빌드, 배포 및 테스트를 하나의 자동화된 반복적인 프로세스로 통합 지속적 전달/배포의 일부분 요구사항 새로운 기능, 개선, 버그 수정마다 자동화 테스트 작성 메인 repo를 모니터하고 테스트를 자동으로 실행할 CI 서버/도구 필요 개발자는 가능한 자주 코드 변경에 대한 병합(merge) 필요 장점 지속적 통합, 구축, 테스트 → 결함 빨리 발견 테스트 자동화로 인해 리그레션이 조기에 발견 → production으로 전달되는 버그 ↓ 통합(integration) 이슈 조기 해결 → 쉬운 릴리스 빌드 빌드가 손상되자마자 알려주므로,..