다음 소스 코드에 대해 조건(condition) 커버리지와 분기(bra… | [7급 국가직 소프트웨어공학] 23년 1회차 기출문제 상세 페이지
1[7급 국가직 소프트웨어공학] 23년 1회차
다음 소스 코드에 대해 조건(condition) 커버리지와 분기(branch) 커버리지를 각각 100 % 만족하는 테스트 케이스 집합은? (단, 단축 연산(short-circuit evaluation)은 수행하지 않는다)if (x >= 0 || y < 4)
z = x + y;
else
z = x - y;
1
{(x = -1, y = 2), (x = 1, y = 6)}2
{(x = -1, y = 2), (x = 2, y = 2)}3
{(x = 1, y = 6), (x = -2, y = 6)}4
{(x = 2, y = 2), (x = -2, y = 6)}해설
{(x = 2, y = 2), (x = -2, y = 6)}이 조건 커버리지와 분기 커버리지를 모두 100% 만족한다.
(2, 2)는 x >= 0 참·y < 4 참으로 if 분기, (-2, 6)은 두 조건 모두 거짓으로 else 분기를 탄다. 각 조건이 참·거짓을 모두 가지고 두 분기도 모두 실행된다.
- {(-1, 2), (1, 6)}은 두 경우 모두 결과가 참이라 else 분기를 실행하지 못한다.
- {(-1, 2), (2, 2)}는 y < 4가 항상 참이라 조건 커버리지를 채우지 못하고 else 분기도 없다.
- {(1, 6), (-2, 6)}은 y < 4가 항상 거짓이라 조건 커버리지를 채우지 못한다.
오류나 개정된 내용이 보이면 알려주세요