모두CBT

다음 코드에 대해 기본 경로(basis path) 테스트를 수행할 때,… | [7급 국가직 소프트웨어공학] 21년 1회차 기출문제 상세 페이지

1[7급 국가직 소프트웨어공학] 21년 1회차
다음 코드에 대해 기본 경로(basis path) 테스트를 수행할 때, 모든 독립적인 경로가 최소한 한 번은 실행되는 테스트 입력 집합은?
int max(int a, int b, int c) {
  int result = a;
  if (b > result)
    result = b;
  if (c > result)
    result = c;
  return result;
}
1
(a=1, b=2, c=3)
2
(a=1, b=1, c=1), (a=1, b=2, c=1)
3
(a=1, b=1, c=1), (a=1, b=1, c=2), (a=1, b=2, c=2)
4
(a=1, b=2, c=3), (a=1, b=3, c=2), (a=2, b=3, c=3)
해설

독립 경로를 모두 실행하는 입력 집합은 (1,1,1), (1,1,2), (1,2,2)이다.

if 문이 2개이므로 순환 복잡도는 V(G)=2+1=3V(G) = 2 + 1 = 3이고, 독립 경로는 두 조건의 결과가 (거짓, 거짓)·(거짓, 참)·(참, 거짓)인 3개로 잡을 수 있다.

(1,1,1)은 두 조건 모두 거짓, (1,1,2)는 c > result만 참, (1,2,2)는 b > result만 참이 되어 세 경로를 모두 실행한다.

  • (1,2,3) 하나: 두 조건이 모두 참인 경로 1개만 실행한다.
  • (1,1,1), (1,2,1): 두 조건 거짓 경로와 b만 참인 경로 2개뿐이다.
  • (1,2,3), (1,3,2), (2,3,3): b > result가 항상 참이라 첫 조건이 거짓인 경로가 없어 독립 경로 3개를 채우지 못한다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 소프트웨어공학] 21년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 소프트웨어공학 기출문제 암기장 전체 보기