2024/01/08
#
⭐ 오늘의 키워드 ⭐No. | 키워드 | 부가설명 |
---|---|---|
커버리지 | 커버리지 달성이란? | |
라인 커버리지 | 커버리지 종류 및 부가설명 | |
01-2 | CCP | ch-change, CCP |
02 | SOLID | |
03 | nginx |
#
✔ 커버리지 coverage테스트 커버리지란, 시스템 및 소프트웨어에 대해 충분히 테스트가 되었는지를 나타내는 정도이며 테스트 대상을 얼마나 커버했는지를 나타낸다.
#
✔ 코드 커버리지 Code Coveragecode 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 한테 물어보니 라인 커버리지와 구문 커버리지는 조금 다른 것 같다.
비슷하지만 구체적으로 보면 다른점이 있는데 라인 안에 여러개의 구문이 있다는 점인 것 같다.
하지만 대부분 라인 커버리지와 구문 커버리지를 비슷한 용어로 사용하는 것 같긴하나, 조금 더 공부가 필요한 것 같다.