본문 바로가기
Category/정보처리기사

스텁(Stub)과 드라이버(Driver)란?

by Corinee 2024. 10. 9.
728x90
반응형

스텁(Stub)드라이버(Driver)는 소프트웨어 통합 테스트에서 사용되는 임시 테스트 모듈로, 시스템의 특정 부분을 독립적으로 테스트하기 위해 사용됩니다. 이 개념들은 통합 테스트 전략상향식(Bottom-up)과 하향식(Top-down) 테스트와 관련이 있습니다.

1. 스텁(Stub)

  • 정의: 스텁은 하위 모듈이 아직 구현되지 않았을 때, 상위 모듈을 테스트하기 위해 임시로 작성된 하위 모듈 대체물입니다.
  • 역할: 상위 모듈이 하위 모듈에 의존하는 상황에서, 하위 모듈이 없거나 구현되지 않았을 때 상위 모듈을 테스트할 수 있게 해줍니다. 스텁은 일반적으로 하위 모듈이 호출되었을 때 예상된 값을 반환하는 간단한 코드입니다.
  • 사용되는 테스트 방식: 하향식 통합 테스트에서 사용됩니다.
    • 하향식 통합 테스트(Top-down): 상위 모듈부터 점진적으로 하위 모듈을 통합해 테스트하는 방식입니다. 이때 하위 모듈이 구현되지 않았을 때 상위 모듈을 테스트하기 위해 스텁을 사용합니다.

2. 드라이버(Driver)

  • 정의: 드라이버는 상위 모듈이 아직 구현되지 않았을 때, 하위 모듈을 테스트하기 위해 임시로 작성된 상위 모듈 대체물입니다.
  • 역할: 하위 모듈이 독립적으로 작동하는지 테스트할 수 있게 상위 모듈의 역할을 임시로 수행합니다. 즉, 하위 모듈을 호출하고 테스트하는 역할을 합니다.
  • 사용되는 테스트 방식: 상향식 통합 테스트에서 사용됩니다.
    • 상향식 통합 테스트(Bottom-up): 하위 모듈부터 테스트를 시작하고, 상위 모듈로 통합해가는 방식입니다. 상위 모듈이 구현되지 않았을 때 하위 모듈을 테스트하기 위해 드라이버가 필요합니다.

스텁과 드라이버의 구분:

  • 스텁: 하향식 통합 테스트에서 사용, 상위 모듈을 테스트하기 위해 하위 모듈 대체.
  • 드라이버: 상향식 통합 테스트에서 사용, 하위 모듈을 테스트하기 위해 상위 모듈 대체.

상향식과 하향식 테스트 전략 요약:

  • 하향식 통합 테스트 (Top-down Integration Testing):
    • 시스템의 상위 모듈부터 시작해 하위 모듈로 통합하며 테스트.
    • 스텁이 필요.
  • 상향식 통합 테스트 (Bottom-up Integration Testing):
    • 시스템의 하위 모듈부터 시작해 상위 모듈로 통합하며 테스트.
    • 드라이버가 필요.