테스트 커버리지(test coverage)는 테스트가 정해진 커버리지 항목을 얼마나 실행했는지를 백분율로 나타낸 정도다.[1][2] ISTQB 용어집은 커버리지 항목을 테스트 기법으로 하나 이상의 테스트 조건에서 끌어낸 속성이나 속성의 조합으로 정의한다.[3] ISTQB CTFL 강의계획서에 따르면 달성한 커버리지는 테스트가 얼마나 철저한지 재는 척도이고, 테스트를 끝낼지 정하는 흔한 종료 기준 가운데 하나다.[4]

기법마다 다른 커버리지 항목

커버리지 항목은 테스트 기법마다 다르다. 동치 분할은 분할을, 경계값 분석은 경계값을, 구문 테스트는 구문을, 분기 테스트는 분기를 커버리지 항목으로 삼는다. 이 강의계획서가 다루는 블랙박스 기법은 명세된 동작에서 고른 항목으로 커버리지를 재고, 화이트박스 기법인 구문 테스트와 분기 테스트는 코드의 구문과 분기로 커버리지를 잰다. 코드와 상관없는 커버리지를 쓰는 화이트박스 기법도 있다.[4]

이 강의계획서에 따르면 추적성은 커버리지 평가를 돕는다.[4]

ISTQB CT-AuT 강의계획서에 따르면 요구사항 기반 테스트의 요구사항 커버리지 는 적어도 한 테스트 케이스가 다룬 원자 요구사항의 수 와 전체 원자 요구사항의 수 로 다음과 같이 잰다.[5]

ISTQB 용어집은 구조적 커버리지(structural coverage)를 구성 요소나 시스템의 내부 구조에 바탕을 둔 커버리지 척도로 정의한다.[6]

조건과 결정

ISO/IEC/IEEE 24765 용어집은 조건(condition)을 불 연산자를 담지 않은 불 식으로, 결정(decision)을 둘 이상의 가능한 결과 사이의 선택이 어떤 동작들이 일어날지를 정하는 문의 종류로, 결정 결과(decision outcome)를 실행할 분기를 정하는 결정의 결과로 정의한다.[2]

구조적 커버리지 기준

구조적 커버리지 기준마다 이루어야 하는 상태는 다음과 같다. 구문, 결정, 조건, 다중 조건 커버리지는 ISTQB의 CTFL 강의계획서와 용어집이 정의한 대로 적는다.

기준이루어야 하는 상태
구문 커버리지(statement coverage)실행 가능한 구문이 모두 적어도 한 번 실행되었다.[4]
결정 커버리지(decision coverage)각 결정이 가능한 모든 결과를 적어도 한 번씩 가졌다.[7]
조건 커버리지(condition coverage)각 결정 안의 각 조건이 가능한 모든 값을 적어도 한 번씩 가졌다.[8]
MC/DC결정 커버리지와 조건 커버리지에 더해, 각 조건이 결정의 결과에 독립적으로 영향을 준다는 것을 보였다.[9]
다중 조건 커버리지(multiple condition coverage)각 결정 안 조건 값의 모든 조합이 실행되었다.[10]

llvm-cov의 커버리지 요약에서 함수 커버리지(function coverage)는 적어도 한 번 실행된 함수의 비율이다.[11]

포함 관계

CTFL 강의계획서는 어떤 커버리지를 100% 이룬 테스트 케이스 집합이 언제나 다른 커버리지도 100% 이루는 관계를 포함한다(subsume)고 부른다. 이 강의계획서에 따르면 분기 커버리지는 구문 커버리지를 포함한다. 분기 커버리지 100%를 이룬 테스트 케이스 집합은 구문 커버리지도 100% 이루지만, 그 역은 성립하지 않는다.[4]

MC/DC는 결정 커버리지와 조건 커버리지의 요구를 모두 담으므로 두 커버리지를 포함한다. 다중 조건 커버리지는 결정 입력의 모든 조합을 실행하므로 대개 각 조건의 독립적인 영향도 보이게 된다. 그러나 이를 명시적으로 요구하지는 않고, 어떤 조건도 독립적인 영향을 가질 수 없는 논리식도 있다.[9]

결정 커버리지와 분기 커버리지

ISTQB 용어집은 결정 커버리지를 결정 결과의 커버리지로, 분기 커버리지(branch coverage)를 제어 흐름 그래프의 분기의 커버리지로 따로 정의한다.[7][12]

NIST SP 500-235에 따르면 분기 커버리지 방식에서는 테스트 중에 모든 결정 결과를 실행해야 한다.[13] ISO/IEC/IEEE 24765 용어집은 분기 테스트(branch testing)를 프로그램의 각 결정 지점의 각 결과를 실행하도록 설계한 테스트로 정의한다.[2]

ISO 26262-6

ISO 26262-6:2018은 소프트웨어 유닛 검증을 9절에, 소프트웨어 통합과 검증을 10절에 둔다. 소프트웨어 유닛 수준의 구조적 커버리지 척도는 표 9에서, 소프트웨어 아키텍처 수준의 구조적 커버리지는 표 12에서 다룬다.[14]

[1]
ISTQB, “ISTQB Glossary — coverage.” 2026. Accessed: Oct. 03, 2026. [Online]. Available: https://glossary.istqb.org/en_US/term/coverage
[2]
IEEE Computer Society, “SEVOCAB: Software and Systems Engineering Vocabulary (ISO/IEC/IEEE 24765).” 2026. Accessed: Oct. 02, 2026. [Online]. Available: https://pascal.computer.org/sev_display/index.action
[3]
ISTQB, “ISTQB Glossary — coverage item.” 2026. Accessed: Oct. 03, 2026. [Online]. Available: https://glossary.istqb.org/en_US/term/coverage-item
[4]
“Certified Tester Foundation Level Syllabus, v4.0.1,” International Software Testing Qualifications Board (ISTQB), 2024. Accessed: Oct. 02, 2026. [Online]. Available: https://istqb.org/wp-content/uploads/2024/11/ISTQB_CTFL_Syllabus_v4.0.1.pdf
[5]
“Certified Tester Automotive Software Tester (CT-AuT) Syllabus, v2.1.1,” International Software Testing Qualifications Board (ISTQB), 2025. Accessed: Oct. 03, 2026. [Online]. Available: https://istqb.org/?sdm_process_download=1&download_id=3615
[6]
ISTQB, “ISTQB Glossary — structural coverage.” 2026. Accessed: Oct. 03, 2026. [Online]. Available: https://glossary.istqb.org/en_US/term/structural-coverage
[7]
ISTQB, “ISTQB Glossary — decision coverage.” 2026. Accessed: Oct. 03, 2026. [Online]. Available: https://glossary.istqb.org/en_US/term/decision-coverage
[8]
ISTQB, “ISTQB Glossary — condition coverage.” 2026. Accessed: Oct. 03, 2026. [Online]. Available: https://glossary.istqb.org/en_US/term/condition-coverage
[9]
K. J. Hayhurst, D. S. Veerhusen, J. J. Chilenski, and L. K. Rierson, “A Practical Tutorial on Modified Condition/Decision Coverage,” Tech. Memo. NASA/TM-2001-210876, 2001. Accessed: Oct. 03, 2026. [Online]. Available: https://ntrs.nasa.gov/citations/20010057789
[10]
ISTQB, “ISTQB Glossary — multiple condition coverage.” 2026. Accessed: Oct. 03, 2026. [Online]. Available: https://glossary.istqb.org/en_US/term/multiple-condition-coverage
[11]
“Source-based Code Coverage,” LLVM Project, 2026. Accessed: Oct. 04, 2026. [Online]. Available: https://clang.llvm.org/docs/SourceBasedCodeCoverage.html
[12]
ISTQB, “ISTQB Glossary — branch coverage.” 2026. Accessed: Oct. 03, 2026. [Online]. Available: https://glossary.istqb.org/en_US/term/branch-coverage
[13]
A. H. Watson and T. J. McCabe, “Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric,” NIST Special Publication 500–235, Aug. 1996. Accessed: Oct. 03, 2026. [Online]. Available: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication500-235.pdf
[14]
ISO, “ISO 26262-6:2018 Road vehicles — Functional safety — Part 6: Product development at the software level (OBP preview).” 2018. Accessed: Oct. 01, 2026. [Online]. Available: https://www.iso.org/obp/ui/#iso:std:iso:26262:-6:ed-2:v1:en