정보처리기사 실기소프트웨어 설계문장 커버리지난이도 4MCQ

정보처리기사 실기 문장 커버리지 기출문제 #3875

문제

다음 코드에 대해 문장 커버리지 테스트를 수행하려고 한다. 문장 번호와 실행 순서로 가장 적절한 것은?

C
int main(int b[], int m, int x) { int a = 0; // ① while (a < m && b[a] < x) { // ② if (b[a] < 0) // ③ b[a] = -b[a]; // ④ a++; // ⑤ } return 1; // ⑥ }

<조건> 문장 ④가 한 번 실행되고, 그 다음 while 조건이 거짓이 되어 반복문을 종료하는 테스트 경로를 기준으로 한다.

① ①→②→③→④→⑤→②→⑥ ② ①→②→③→⑤→②→⑥ ③ ①→②→⑥ ④ ②→③→④→⑤→①→⑥

정답

1

해설

정답: 1. 초기화 문장 ①을 수행한 뒤 while 조건 ②가 참이 되어 반복문에 진입한다. if 조건 ③이 참이면 문장 ④가 실행되고, 이후 증가 문장 ⑤가 실행된다. 다음 while 조건 ②가 거짓이 되면 반복문을 빠져나와 return 문장 ⑥을 실행한다.

오답 풀이

  • 1번: 조건에서 제시한 테스트 경로의 실행 순서와 일치한다.
  • 2번: 문장 ④가 실행되는 경로가 아니다.
  • 3번: 반복문 내부 문장이 실행되지 않는 경로이다.
  • 4번: 초기화 문장 ①이 조건 검사보다 먼저 실행되어야 하므로 순서가 틀렸다.

보충 개념 문장 커버리지는 프로그램의 모든 문장이 최소 한 번 이상 실행되도록 테스트 경로를 선정하는 기준이다. 실행 순서를 묻는 문항은 입력 조건 또는 테스트 경로가 명확히 제시되어야 한다.

정보처리기사 실기 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[정보처리기사 실기] 문장 커버리지 소프트웨어 설계 기출 #3875 | 문어CBT