기출문제/정보처리기사

2019년 3회 정보처리기사 기출문제 62번

엉클지니 2025. 4. 21. 22:38

62. 하향식 통합 테스트 수행을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈의 명칭은?

    alpha            builder

    cluster            stub

 

 


문제 분석:

**하향식 통합 테스트 (Top-Down Integration Testing)**에서는 시스템의 상위 모듈부터 시작하여 점진적으로 하위 모듈을 통합해 나가면서 테스트를 진행합니다. 이때, 하위 모듈이 아직 구현되지 않았다면 Stub라는 임시 모듈을 사용하여 테스트를 진행할 수 있습니다.

옵션 분석:

옵션 설명 해당 여부

① Alpha 소프트웨어의 초기 버전으로, 테스트 단계와는 다릅니다.
② Builder 객체 생성 패턴과 관련된 용어로, 시험용 모듈과는 관계없습니다.
③ Cluster 여러 시스템 또는 모듈을 묶어 관리하는 개념으로, 하향식 테스트와 관련이 없습니다.
❹ Stub 하향식 통합 테스트에서 하위 모듈을 대체하는 임시 모듈입니다.

정답: ❹ Stub


Stub에 대한 설명:

하향식 통합 테스트에서 Stub는 상위 모듈이 하위 모듈을 호출할 때, 하위 모듈이 아직 구현되지 않은 경우에 임시로 사용하는 모듈입니다. Stub은 하위 모듈의 동작을 단순화하여 상위 모듈과의 통합 테스트가 가능하도록 합니다.

Stub의 역할:

  1. 하위 모듈이 구현되지 않았을 때, 상위 모듈이 정상적으로 동작할 수 있게 해준다.
  2. 가짜 응답을 반환하여 상위 모듈의 로직을 테스트할 수 있다.
  3. 하위 모듈이 완전히 구현될 때까지, 상위 모듈의 테스트가 중단되지 않도록 돕는다.

하향식 통합 테스트 흐름:

단계 상위 모듈의 동작 하위 모듈의 상태 사용되는 모듈

1단계 상위 모듈 실행 -> 하위 모듈 호출 하위 모듈 미구현 Stub
2단계 Stub에서 가짜 응답 반환 하위 모듈 미구현 Stub
3단계 상위 모듈의 동작 확인 (Stub을 통한 가짜 응답 처리) 하위 모듈 미구현 Stub
4단계 하위 모듈 구현 후, 실제 하위 모듈로 대체하여 통합 테스트 진행 하위 모듈 구현됨 실제 모듈

예시:

  1. 상위 모듈은 사용자 로그인 정보를 처리하는 기능을 가지고 있습니다.
  2. 하위 모듈은 결제 시스템으로, 사용자가 결제 정보를 입력하면 처리하는 역할을 합니다.
  3. 결제 시스템이 아직 개발되지 않았기 때문에, 하위 모듈은 Stub로 대체됩니다.
  4. Stub는 결제 시스템이 정상적으로 동작하는 것처럼 가짜 응답을 반환합니다. 예를 들어, "결제가 성공했습니다"라는 메시지를 반환할 수 있습니다.
  5. 상위 모듈은 Stub을 통해 결제 시스템과의 상호작용을 테스트합니다. 실제 결제 시스템이 구현되면 Stub을 제거하고, 실제 결제 시스템을 테스트합니다.

결론:

  • Stub는 하향식 통합 테스트에서 하위 모듈이 구현되지 않았을 때, 그 기능을 임시로 대체하여 상위 모듈의 테스트를 이어갈 수 있도록 도와주는 중요한 도구입니다.
  • 이 방법을 통해 상위 모듈의 동작을 미리 확인하고, 하위 모듈이 완성되면 실제 모듈을 넣어 통합 테스트를 계속할 수 있습니다.

정답은 ❹ Stub입니다.