
구조적 커버리지는 화이트박스 테스트 방법 중 대다수를 차지하는 내용이죠! 소프트웨어의 품질을 보장하기 위해서는 다양한 테스트 방법을 활용해야 하며, 그 중에서도 구조적 커버리지는 코드의 실행 경로를 분석하여 결함을 조기에 발견할 수 있도록 도와줍니다. 사실 구구절절한 이야기를 붙였지만, 제가 이해가 안되서 정리하는 내용입니다...
1구문 커버리지 (= 문장 커버리지, 문장 검증 기준)
구문 커버리지 같은 경우에는 모든 문장을 한 번씩 체크하는 커버리지입니다. 이 방법은 코드의 모든 실행문이 최소 한 번 실행되는지를 확인하여, 코드의 기본적인 실행 경로를 보장합니다. 예를 들어, 아래의 코드에서 모든 문장이 실행되었는지를 확인하는 것이 구문 커버리지의 핵심입니다.
2결정 커버리지 (= 분기 검증 기준)
결정 커버리지는 모든 분기점(조건문)에서 참과 거짓 경로를 모두 테스트하는 방법입니다. 이 커버리지를 통해 프로그램의 모든 조건문이 제대로 작동하는지를 확인할 수 있습니다. 예를 들어, if 문에서 true와 false 경로를 모두 테스트하여, 코드의 신뢰성을 높이는 것이죠.
3조건 커버리지
조건 커버리지는 복합 조건에서 각 개별 조건이 참과 거짓을 모두 가져보는지를 확인하는 방법입니다. 이 커버리지를 통해 각 조건이 독립적으로 작동하는지를 검증할 수 있습니다. 예를 들어, A && B 조건에서 A와 B 각각이 true와 false를 모두 가지는지를 체크하는 것입니다!
4결정/조건 커버리지
결정/조건 커버리지는 결정 커버리지와 조건 커버리지를 동시에 만족하는 방법입니다. 그냥 간단하게 조건문이 True 혹은 False인 경우로 나누고, 각각의 경우에 따라 조건 검증 기준의 입력 데이터를 구분하도록 테스트하는 것 입니다.
5변형 결정/조건 커버리지(MC/DC)
조건/결정 커버리지를 향상시킨 놈 입니다. 개별 조건식이 다른 개별 조건식에 영향을 받지 않고, 전체 조건식의 결과에 독립적으로 영향을 주도록 설계한 것 이죠.
6다중 조건 커버리지
다중 조건 커버리지는 모든 조건의 가능한 조합을 모두 테스트하는 방법입니다.
헷갈릴 수 있는 부분!
엥? 조건 커버리지랑 다중 조건 커버리지의 차이가 머죵?
- 조건 커버리지는 한놈씩만 타겟팅 한다면, 다중 조건 커버리지는 전체 적으로 봅니다! 코드로 보시는게 편하실 거에요
이렇게 3개의 참/거짓을 기준으로 작동하는 조건문이 있다고 가정하겠습니다.
조건 커버리지는 각각이 T/F인 경우만 생각하면 되고, 다중 조건 커버리지는 모든 조합을 생각해야해요.
🎯 조건 커버리지
개별 타겟팅 (최소 3개 테스트)
이렇게 조건 커버리지는 극단적으로 3개의 테스트 케이스만으로 검증할 수 있습니다. 왜 와이? 3개의 요소가 모두 True, False인 경우를 검증했기 때문이죠!
🎯 다중 조건 커버리지
전체적 접근 (8개 테스트 필수)
이렇게, 2^3의 결과 갯수를 가져야만 합니다..!!
'정보처리기사' 카테고리의 다른 글
[ 정보처리기사 ] C언어 포인터, 배열 주소 문제 (0) | 2025.07.12 |
---|---|
[ 정보처리기사 ] 프로젝트 관리와 개발 방법론 (2) | 2025.07.09 |
[ 정보처리기사 ] 비용 산정 방법 (1) | 2025.07.09 |
[ 정보처리기사 ] 서브넷팅 FLSM (0) | 2025.07.01 |
[ 정보처리기사 ] 자바 static 관련 예시 (0) | 2025.07.01 |