본문 바로가기
정보관리기술사/SW 공학

코드 커버리지 (Code Coverage) - "구조결 조변다"

by 두음달인 2022. 10. 6.
반응형

코드 커버리지
구조결 조변다
구문, 조건, 결정, 조건/결정, 변경조건/결정, 다중 조건 커버리지

코드 커버리지(Code Coverage)

 

소프트웨어의 테스트를 논할 때 얼마나 테스트가 충분한가를 나타내는 지표중 하나다.
말 그대로 코드가 얼마나 커버되었는가이다.
소프트웨어 테스트를 진행했을 때 코드 자체가 얼마나 실행되었냐는 것이다.

 

코드의 구조를 이루는 것은 크게 구문(Statement), 조건(Condition), 결정(Decision)이다.

 

이러한 구조를 얼마나 커버했느냐에 따라 코드커버리지의 측정기준은 나뉘게 된다.

 

일반적으로 많이 사용되는 커버리지는 구문(Statement)커버리지이며,

실행 코드라인이 한번 이상 실행되면 충족된다.

 

조건(Condition)커버리지는 각 내부 조건이 참 혹은 거짓을 가지면 충족된다.

 

결정(Decision) 커버리지는

각 분기의 내부 조건자체가 아닌 이러한 조건으로 인해 전체 결과가 참 혹은 거짓이면 충족된다.

 

그리고 조건과 결정을 복합적으로 고려하는 MC/DC 커버리지 또한 있다.

 

커버리지를 측정하는 법은 사람이 로그를 찍어가거나 디버거를 이용하여 볼수는 있으나 매우 힘든 과정이다.

 

시중에는 많은 코드 커버리지 측정 도구가 나와 있으며,

대표적인 도구로

DT10, LDRA, VectorCAST, CodeScroll Controller Tester, QualityScroll Cover 라는 도구가 있다.

 

코드 커버리지 개념도

 

코드 커버리지 유형별 설명

 

커버리지 유형 설명
구문     프로그램 내의 모든 명령문을 적어도 한번 수행하는 테스트케이스
조건     결정 명령문 내의 각 조건이 적어도 한번은 참과 거짓의 결과가 되도록
    수행하는 테스트케이스
결정     프로그램 내의 전체 결정문이 적어도 한번은 참과 거짓의 결과를 수행하는 테스트케이스
조건/결정     전체 조건식뿐만 아니라 개별 조건식도 참 한번, 거짓 한번 결과가 되도록
    수행하는 테스트 케이스
변경 조건/결정
(MC/DC)
    각 개별 조건식이 다른 개별 조건식에 영향을 받지 않고
    전체 조건식의 독립적으로 영향을 주도록 하는 테스트 케이스
다중 조건     결정 포인트 내에 있는 모든 개별식 조건의 모든 조합을 고려한 커버리지

 

참고 자료

 

코드 커버리지 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

 

코드 커버리지 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 코드 커버리지(Code Coverage)는 소프트웨어의 테스트를 논할 때 얼마나 테스트가 충분한가를 나타내는 지표중 하나다. 말 그대로 코드가 얼마나 커버되었는가이

ko.wikipedia.org

 

코드 커버리지 종류별 설명 및 예시가 잘 설명되어 있습니다. ↓

 

소스코드 커버리지(Source Code Coverage) (tistory.com)

 

소스코드 커버리지(Source Code Coverage)

구문, 결정, 조건, 조건/결정, 변경조건/결정, 다중조건, 경로 I. 소스코드에 대한 테스트 수행 범위 지표, 테스트 커버리지의 개요 가. 소스코드 커버리지(Source Code Coverage)의 정의  - 테스트의

itpenote.tistory.com

 

반응형

댓글