본문 바로가기

정보처리산업기사 필기 공부/애플리케이션배포

애플리케이션 빌드(애플리케이션배포)

 

 

지속적인 통합(CI: Continuous Integration) 환경

 애플리케이션 개발 과정 중 지속적으로 개발된 프로그램을 통합, 빌드, 배포하여 애플리케이션의 개발 내역을 검증, 테스트할 수 있는 환경을 말한다. 통합 빌드 과정 중 테스트 도구, 소스코드 품질 측정도구 등과 연계할 수 있으며, 자동화된 스케줄 관리를 통해서 지속적이고 반복적인 프로그램 빌드, 테스트를 진행할 수 있다.

 

1. 빌드 도구

 애플리케이션의 배포 단위, 형식에 따라 소스코드를 컴파일, 패키징하며, 배포하는 스크립트를 제공하고 수행하는 도구이다(Ant, Maven 등)

 

2. 테스트 도구

 개발된 소스코드를 테스트할 수 있는 테스트 코드를 작성, 동작시킬 수 있는 도구로 통합 빌드 수행시 연결할 수 있다.(Junit, DBUnit, StrutsTestCase 등)

 

3. 소스코드 품질 측정도구(코드 인스펙션)

 정해진 소스코드 작성 규칙에 따라 소스코드를 점검하고 규칙 위반 여부를 체크하는 도구로, 통합 빌드 수행시 연결할 수 있다.(PMD, FindBugs 등)

 

4. 테스트 커버리지 측정도구

 소스코드 내 테스트 가능한 경로 중 테스트 도구를 통해서 테스트된 커버리지를 측정하는 도구이다(Clover, JCoverage, ElcEmma 등)

 

5. 빌드 스케줄 관리도구

 작성된 빌드 스크립트를 정해진 조건, 시간에 기동하고 진행 상태, 수행 결과를 관리하는 도구이다(Anthill, CruiseControl, Hudson 등)

 

 

 

 

테스트 커버리지

 

1. 테스트 커버리지의 의미

 테스트 커버리지는 전체 프로그램의 범위 테스트 수행 시 해당 테스트 수행을 위해 동작된 프로그램의 범위 비율을 의미한다.

 

2. 테스트 커버리지 측정 유형

 

1) 라인 커버리지(또는 구문 커버리지, Statement Coverage)

 개발 소스의 각 라인이 수행되었는지를 확인하는 측정 지표이다.

 

2) 분기 커버리지(Decision Coverage)

 개발소스의 각 분기문이 수행되었는지를 확인하는 측정 지표이다. 만약 소스 내에 if문에 대한 true/false 조건이 있다면, 두 가지 경우가 모두 테스트되어야 100%로 측정된다.

 

3) 조건 커버리지(Condition Coverage)

 각 분기문 내에 존재하는 조건식이 모두 테스트되었는지를 확인하는 측정 지표이다. 조건식 간의 조합에 대해서는 체크하지 않는다.

 

 

 

빌드 스케줄 관리도구

 

1. 빌드 스케줄 관리도구의 구성

 빌드 스케줄 관리도구는 별도의 웹 애플리케이션으로 구성되어 웹 서버상에 배포되고, 관리자 화면을 통해서 빌드 스크립트, 형상관리 도구 등과 연계되며, 이메일을 통해서 관련 개발자, 관리자들에게 빌드 수행 결과를 제공한다.

 

2. 빌드 스케줄 관리도구의 기능

 

1) 빌드 작업 스케줄링

 빌드 작업의 작업 주기, 작업 시간을 설정한다.

 

2) 빌드 작업 상태 및 이력 관리

 등록된 빌드 작업의 진행 상태를 대기 중, 진행 중, 완료, 오류 유형으로 구분하여 관리하고 수행 이력을 관리한다.

 

3) 빌드 도구 연계 관리

 빌드 작업 수행을 위해 기작성된 빌드 스크립트와 접근 가능한 형상 관리 도구를 연계 설정한다.

 

4) 빌드 수행 결과 리포팅

 빌드 수행 결과 오류 사항, 코드 인스펙션 점검 결과, 테스트 수행 결과 등을 웹 화면을 통해서 보여주고, 관련자들이 공유할 수 있도록 리포팅을 제공한다.