문제
다음 코드에 대한 경로 커버리지(Path Coverage) 달성을 위해 필요한 최소 테스트 케이스 개수는?
Codeif (A) { print("1"); } else { print("2"); } if (B) { print("3"); } else { print("4"); }
① 2개 ② 3개 ③ 4개 ④ 5개
정답
3번
해설
경로 커버리지는 프로그램의 모든 가능한 실행 경로를 테스트해야 한다. 이 코드에는 독립된 if-else 문이 2개 있으므로 각 분기의 조합을 모두 고려해야 한다. 가능한 경로는 다음 4가지이다:
A=T, B=T → print("1"), print("3") A=T, B=F → print("1"), print("4") A=F, B=T → print("2"), print("3") A=F, B=F → print("2"), print("4")
독립된 분기문이 n개일 때 경로 수는 각 분기의 경우의 수를 곱한 값이므로 2×2=4개이다. 따라서 경로 커버리지 달성을 위해 최소 4개의 테스트 케이스가 필요하다.