프리미엄
예측대회
투자분석
아카데미
커뮤니티
로그인Valley AI 시작하기시작하기
Valley Space인기
Code Coverage
FrugalBoy's JourneyDevOps

Code Coverage

avatar
FrugalBoy
2025.01.24조회수 4회
avatar
FrugalBoy
구독자 5명구독중 12명
Wanna live like a frugal boy For the genetically superior, success is easier to attain. But it is by no means guaranteed. After all, there is no gene for fate -Gattaca-

Definition

코드 커버리지(Code Coverage)는 소프트웨어의 테스트를 논할 때 얼마나 테스트가 충분한가를 나타내는 지표 중 하나다.

말 그대로 코드가 얼마나 커버되었는가이다.

쉽게 code가 얼마나 cover 되었느냐 보여주는 지표

소프트웨어 테스트를 진행했을 때 코드 자체가 얼마나 실행되었느냐는 것이다.


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

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


일반적으로 많이 사용되는 커버리지는 구문(Statement)커버리지이며, 실행 코드라인이 한 번 이상 실행되면 충족된다.


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


결정(Decision) 커버리지는 각 분기의 내부 조건 자체가 아닌 이러한 조건으로 전체 결과가 참 혹은 거짓이면 충족된다. 그리고 조건과 결정을 복합적으로 고려하는 MC/DC 커버리지 또한 있다.

Types of Code Coverage

There are several types of code coverage. This includes:

  • Line: The percentage of lines ...

회원가입만 해도
이 글을 무료로 읽을 수 있어요.

Basic 7일 무료 체험 시작하기
이미 계정이 있으신가요?로그인하기
댓글 1개
DevOps 카테고리의 다른글

K8S 기초 정리

쿠버네티스 기본 개념과 구성 요소 마스터 - 노드 구조 중앙(Master)에 API 서버와 상태 저장소를 두고 각 서버(Node) 의 에이전트(kubelet)과 통신하는 단순한 구조 모든 명령은 마스터의 API 서버를 호출하고, 노드는 마스터와 통신하면서 필요한 작업 수행 Kubectl 이라는 Client 도구로 API 서버 접근 가능 Kubernetes Object 제가 생각하는 쿠버네티스의 대표적인 Object들은 단연 Pod, Deployment, Service라고 생각을 합니다. Pod 쿠버네티스에서 배포할 수 있는 가장 작은 단위 한 개 이상의 컨테이너와 스토리지, 네트워크 속성 가짐 컨테이너를 하나만 사용하는 경우도 반드시 Pod으로 감싸서 관리 K8S로 ...
DevOps
2025. 01. 21
1
0
11
K8S 기초 정리

ELK stack이란?

https://velog.io/@holidenty/ELK-ELK-Stack-%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C ELK는 위 그림처럼 세 가지 기술로 구성된다. Elasticsearch    로그 저장 및 검색 Logstash           로그 수집 엔진 Kibana               로그 시각화 및 관리 물론 세 모듈은 각자의 독립된 기술이기 때문에 필요에 따라 일부만 써도 된다. 하지만 서로 호환이 잘되고 합쳤을 때 시너지가 좋기 때문에 같이 구축된다. 세 기술을 같이 쓰기 때문에 Stack 이라고 부르며, 일반적으로 구성되는 형태는 다음과 같다.
DevOps
2025. 01. 18
1
0
16

Github Actions 정리

jenkins 쓰다가 github actions로 넘어갈때가 된듯 아래는 정리글: https://velog.io/@ggong/Github-Action%EC%97%90-%EB%8C%80%ED%95%9C-%EC%86%8C%EA%B0%9C%EC%99%80-%EC%82%AC%EC%9A%A9%EB%B2%95 Github Action의 코어 개념 - Workflow 자동화된 전체 프로세스. 하나 이상의 Job으로 구성되고, Event에 의해 예약되거나 트리거될 수 있는 자동화된 절차를 말한다. Workflow 파일은 YAML으로 작성되고, Github Repository의 .github/workflows 폴더 아래에 저장된다. Github에게 YAML 파일로 정의한 자동화 동작을 전달하면, Github Actions는 해당 파일을 기반으로 그대로 실행시킨다.
DevOps
2025. 01. 17
2
1
6

Jenkins 정리

출처: https://wlsdn3004.tistory.com/63 [IT DevOps 기록:티스토리] 먼저, Jenkins를 알기 전 CI/CD가 무엇인지 알아야 한다.   CI/CD란? CI는 지속적 통합(Continuous Integration), CD는 지속적 배포(Continuous Deployment)의 약어로, 개발자들이 동시에 작업한 코드 변경 사항을 통합하고, 이를 실제 환경에 지속적으로 배포하는 프로세스를 의미한다.   1. Jenkins란? Jenkins는 CI/CD를 위한 오픈 소스 도구로, 소프트웨어 개발 생명주기를 자동화한다.   Jenkins를 사용하면 코드 변경 사항이 발생할 때마다 자동으로 빌드, 테스트, 배포 과정을 수행할 수 있기 때문에 개발자는 코드 변경에 따른 빌드 및 테스트 과정을 수동으로 수행할 필요가 없어지며, 신속하게 개발에 대한 코드 검증 및 배포할 수 있고, 이 과정에서 휴먼 에러를 방지할 수 있다. 장점 젠킨스와 같은 CI툴이 ...
DevOps
2025. 01. 12
2
0
4

K8s Helm, Helm Chart란?

https://etloveguitar.tistory.com/141 helm, helm-chart 란 무엇인가?? helm 은 쿠버네티스의 패키지 매니저다. 여기서 패키지는 쿠버네티스 리소스를 하나로 묶은 helm chart를 의미한다. 🙋 패키지 매니저가 뭔데? 🤖 Mac의 brew, Node의 npm 같은거. 그리고 helm chard는 yaml 파일의 묶음으로 이 묶음을 public or private registry에 push 해두고 helm 명령어를 활용해 helm chart 를 설치하여 쿠버네티스 리소스를 배포할 수 있다. 🙋 아까 리소스 말해줬는데, 그게 각각 다 뭔데?? 🤖 service : pod를 외부 IP에 노출 시키기 위해 deployment : pod를 관리하기 위해 statefulset: database와 같은 어플리케이션을 위해 configMap : external config 설정을 위해 secret : credential 같은 secret 정보를 저장하기 위해 원래는 이런 오브젝트를 생성하기 위해서는 각각의 yaml을 생성해줘야한다. 그리고 위와같은 yaml을 사전에 정의해두고 패키징 한 뒤, 쿠버네티스 클러스터에 어플리케이션을 배포할때 위와같은 오브젝트를 쉽게 배포하기 위해 패키징한게 helm chart 다. 정리하자면, helm chart 는 쿠버네티스 리소스를 정의해둔 yaml 파일의 묶음(패키지)이다. helm는 이런 패키지를 쉽게 관리할 수 있는 툴이다. https://velog.io/@j_user0719/DevOps-Helm-%EC%B0%A8%ED%8A%B8%EB%9E%80
DevOps
2025. 01. 12
1
0
ELK stack이란?
Jenkins 정리
13
K8s Helm, Helm Chart란?
avatar
uyru
2025.01.24

좋은 글 감사드립니다. 다른 작업자의 코드를 참고하거나 어떤 코드를 작업할 때 코드 커버리지라는 용어를 활용해봐야겠습니다.