기출문제/정보처리기사

2021년 3회 정보처리기사 기출문제 25번

엉클지니 2025. 3. 14. 13:18

25. 테스트 드라이버(Test Driver)에 대한 설명으로 틀린 것은?

    시험대상 모듈을 호출하는 간이 소프트웨어이다.

    필요에 따라 매개 변수를 전달하고 모듈을 수행한 후의 결과를 보여줄 수 있다.

    상향식 통합 테스트에서 사용된다.

     테스트 대상 모듈이 호출하는 하위 모듈의 역할을 한다.

 

 


1. **테스트 드라이버(Test Driver)**란?

해설
테스트 드라이버(Test Driver)는 상향식 통합 테스트에서 주로 사용되는 도구입니다. 상향식 통합 테스트란 시스템의 상위 모듈부터 테스트를 시작해, 점차적으로 하위 모듈을 추가하면서 테스트를 진행하는 방식입니다.

여기서 테스트 드라이버는 테스트할 상위 모듈을 호출하는 역할을 합니다. 예를 들어, 상위 모듈이 호출하려는 하위 모듈들이 아직 구현되지 않았거나 준비되지 않은 상태일 때, 테스트 드라이버는 그 하위 모듈들을 대신 호출해 상위 모듈의 동작을 확인할 수 있게 합니다.

예시
예를 들어, 상위 모듈 A가 하위 모듈 B를 호출한다고 가정합시다. 하지만 B 모듈이 아직 개발되지 않았다면, 테스트 드라이버는 B 모듈을 대신하여 호출하고, A 모듈의 동작이 제대로 이루어지는지 확인할 수 있습니다.


2. **테스트 스텁(Stub)**이란?

해설
테스트 스텁(Stub)은 하향식 통합 테스트에서 사용되는 도구입니다. 하향식 통합 테스트는 상위 모듈을 먼저 테스트하고, 그 후 점차적으로 하위 모듈을 추가하면서 테스트하는 방식입니다.

여기서 테스트 스텁하위 모듈의 역할을 대신하는 간이 소프트웨어입니다. 예를 들어, 상위 모듈이 하위 모듈을 호출하려고 할 때, 하위 모듈이 아직 개발되지 않았다면, 테스트 스텁은 하위 모듈을 대신하여 응답을 제공하거나 동작을 흉내 내어 상위 모듈이 제대로 동작하는지 확인할 수 있게 합니다.

예시
상위 모듈 A가 하위 모듈 B와 연결되어 있다고 합시다. 그런데 B 모듈이 아직 준비되지 않았다면, B의 역할을 대신하는 스텁을 만들어 A 모듈이 정상적으로 동작하는지 확인할 수 있습니다.


3. 상향식 테스트와 하향식 테스트 차이점

  • 상향식 통합 테스트에서는 상위 모듈부터 시작하여 하위 모듈을 차례대로 통합하면서 테스트합니다. 이때 상위 모듈을 테스트하기 위해 테스트 드라이버를 사용하여 하위 모듈이 준비되지 않아도 상위 모듈을 테스트할 수 있습니다.
  • 하향식 통합 테스트에서는 하위 모듈부터 시작하여 상위 모듈을 차례대로 통합하면서 테스트합니다. 이때 하위 모듈이 준비되지 않은 경우 테스트 스텁을 사용하여 상위 모듈을 테스트할 수 있습니다.

4. 문제 분석

주어진 문제에서 물어보는 것은 테스트 드라이버에 대한 설명입니다. 각 선택지를 살펴보겠습니다.

  • ① 시험대상 모듈을 호출하는 간이 소프트웨어이다.
    → 맞는 설명입니다. 테스트 드라이버는 상위 모듈을 호출하여 그 동작을 테스트합니다.
  • ② 필요에 따라 매개 변수를 전달하고 모듈을 수행한 후의 결과를 보여줄 수 있다.
    → 맞는 설명입니다. 테스트 드라이버는 매개변수를 전달하고, 그 결과를 확인할 수 있습니다.
  • ③ 상향식 통합 테스트에서 사용된다.
    → 맞는 설명입니다. 테스트 드라이버는 상향식 통합 테스트에서 상위 모듈을 테스트하는 데 사용됩니다.
  • ❹ 테스트 대상 모듈이 호출하는 하위 모듈의 역할을 한다.
    → 틀린 설명입니다. 하위 모듈의 역할을 대신하는 것은 테스트 스텁입니다. 테스트 드라이버는 상위 모듈을 호출하는 역할을 합니다.

5. 결론

  • 테스트 드라이버상위 모듈을 호출하여 그 동작을 확인하는 도구입니다. 이를 통해 상향식 통합 테스트에서 하위 모듈이 준비되지 않았더라도 상위 모듈을 테스트할 수 있습니다.
  • 테스트 스텁하위 모듈의 역할을 대신하는 도구로, 하향식 통합 테스트에서 상위 모듈이 아직 준비되지 않은 경우에 사용됩니다.
  • 상향식 통합 테스트에서는 테스트 드라이버, 하향식 통합 테스트에서는 테스트 스텁을 사용한다고 기억하면 좋습니다.

이러한 개념들을 잘 이해하면, 테스트 과정에서 어떤 도구가 필요한지 쉽게 구분할 수 있을 것입니다.

반응형