일학습 병행 SW개발_L3 훈련과정

[NCS 모듈] 애플리케이션 배포 - 애플리케이션 빌드하기(3)

faring 2024. 12. 9. 16:24
반응형
SMALL

 

애플리케이션 빌드

 

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

 

애플리케이션 개발 과정 중 지속적으로 개발된 프로그램을 통합, 빌드, 배포하여 애플리케이션의 개발내역을 검증, 테스트할 수 있는 환경을 말한다.

1. 빌드 도구

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

(Ant, Maven 등)

2. 테스트 도구

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

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

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

PMD, FindBugs 등)

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

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

5. 빌드 스케줄 관리도구

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

 

테스트 커버리지

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

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

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

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

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

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

          개발소스의 각 분기문이 수행되었는지를 확인하는 측정 지표

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

         각 분기문 내에 존재하는 조건식이 모두 테스트되었는지를 확인하는 측정 지표

 

빌드 스케줄 관리도구

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

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

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

    (1) 빌드 작업 스케줄링

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

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

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

    (3) 빌드 도구 연계 관리

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

    (4) 빌드 수행 결과 리포팅

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

           수 있도록 리포팅을 제공함

 

2024.12.09 - [일학습 병행 SW개발_L3 훈련과정] - [NCS 모듈] 애플리케이션 배포-애플리케이션 소스 검증(2)

 

[NCS 모듈] 애플리케이션 배포-애플리케이션 소스 검증(2)

애플리케이션 소스 검증 소스코드 검증도구1. 검증도구의 구분 소스코드 검증도구는 구현된 SW를 실행하지 않고 테스트하는 정적 테스트 도구와 구현된 SW를 실행하여 동작을 보면서 테스트하

faring.tistory.com

 

*NCS 모듈 참조

 

반응형
LIST