모두CBT

아래 소스 코드에 대하여 문장(Statement) 커버리지, 조건(Co… | [경찰간부후보생 소프트웨어공학] 23년 1회차 기출문제 상세 페이지

1[경찰간부후보생 소프트웨어공학] 23년 1회차
아래 소스 코드에 대하여 문장(Statement) 커버리지, 조건(Condition) 커버리지, 결정(Decision) 커버리지, 조건-결정(Condition-Decision) 커버리지를 평가하고자 한다. 제시된 테스트 데이터를 기준으로 평가를 수행했을 때, 다음 보기의 설명이 적절하지 않은 것은? (단, Short-circuit evaluation은 수행하지 않는다.)
소스 코드if (x >= -3 && y < 5)
x=x+y;
else
x=x-y;
테스트 데이터T = { (-5, -2), (1, 7) }
단, (a, b)는 (x값, y값)임
1
문장 커버리지는 66% 임
2
조건 커버리지는 50% 임
3
결정 커버리지는 50% 임
4
조건-결정 커버리지는 50% 임
해설

적절하지 않은 설명은 조건 커버리지가 50%라는 내용이다.

(-5, -2)는 x≥−3x \ge -3이 거짓, y<5y \lt 5가 참이고, (1, 7)은 x≥−3x \ge -3이 참, y<5y \lt 5가 거짓이다. 두 조건이 각각 참·거짓을 모두 가졌으므로 조건 커버리지는 100%이다.

반면 두 데이터 모두 전체 결정은 거짓이 되어 else 쪽 문장만 실행된다.

  • 문장 커버리지는 if 문과 else 쪽 대입문은 실행되고 x=x+y는 실행되지 않아 3개 중 2개, 약 66%로 맞다.
  • 결정 커버리지는 결정이 거짓 쪽만 나와 2개 결과 중 1개, 50%로 맞다.
  • 조건-결정 커버리지는 조건과 결정을 함께 충족해야 하는데 결정이 절반만 충족되어 50%로 평가된다.

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

이어서 풀어보기

[경찰간부후보생 소프트웨어공학] 23년 1회차 40문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요경찰간부후보생 소프트웨어공학 기출문제 암기장 전체 보기