Skip to main content

2024/01/08

⭐ 오늘의 키워드 ⭐#

No.키워드부가설명
01커버리지커버리지 달성이란?
01-1라인 커버리지커버리지 종류 및 부가설명
01-2CCPch-change, CCP
02SOLID
03nginx

✔ 커버리지 coverage#

테스트 커버리지란, 시스템 및 소프트웨어에 대해 충분히 테스트가 되었는지를 나타내는 정도이며 테스트 대상을 얼마나 커버했는지를 나타낸다.

✔ 코드 커버리지 Code Coverage#

code coverage 란, 테스트 케이스가 얼마나 충족되었는지를 나타내는 지표 중 하나이다.

코드 자체가 얼마나 실행 되었느냐를 나타내는 것이고 수치를 통해 확인 할 수 있다.


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

  • 구문 커버리지 : 실행 코드라인이 한번 이상 실행되면 충족
  • 조건 커버리지 : 각 내부 조건이 참 혹은 거짓을 가지면 충족
  • 결정 커버리지 : 각 분기의 내부 조건자체가 아닌 조건으로 인해 전체 결과가 참 혹은 거짓이면 충족
  • MC/DC 커버리지 존재

👼 도구로는 DT10, LDRA, VectorCAST, CodeScroll Controller Tester, QualityScroll Cover 등 존재


✔ 코드-구문 커버리지 Statement#

구문 커버리지는 라인Line 커버리지라고 부르기도 한다.코드 한 줄이 한번 이상 실행된다면 충족되는 커버리지이다.

def foo(a: int):    print("--function starts--")    # 1번    if a > 0:   # 2번        a //= 2 # 3번    print("--function ends--")  # 4번

위 예시 코드의 경우 a가 -1 값을 가지게 되면 if 문은 실행되지 않기 때문에 3개의 구문만 실행되어 3 / 4 * 100 = 75 (%) 가 된다.


✔ 가장 대중적인 커버리지는?#

가장 대중적으로 사용하는 커버리지는 구문 커버리지 이다.

테스트를 평가하는데에 있어 구문 커버리지가 코드의 실행 여부를 더 세밀하게 보여주기 때문에 그렇다고 한다.

조건 커버리지는 코드의 논리적인 조건문이 실행되었는지 여부를 확인하는 것이고, 구문 커버리지는 코드의 특정 부분이 실행되었는지를 보다 세부적으로 확인할 수 있다.


✔ 라인 커버리지와 구문 커버리지?#

GPT 한테 물어보니 라인 커버리지와 구문 커버리지는 조금 다른 것 같다.

비슷하지만 구체적으로 보면 다른점이 있는데 라인 안에 여러개의 구문이 있다는 점인 것 같다.

하지만 대부분 라인 커버리지와 구문 커버리지를 비슷한 용어로 사용하는 것 같긴하나, 조금 더 공부가 필요한 것 같다.


❤ 참조 링크#

Tecoble

[Testing] 코드 커버리지 (Code Coverage)

커버리지(coverage)

wikipedia