테스트 드라이버(Test Driver)와 스텁(Stub)

    테스트 드라이버(Test Driver)와 스텁(Stub)은 비슷한 상황에서 사용되는 용어이지만, 이 둘을 제대로 구분하는 개발자는 흔치 않다. (물론 전문적인 테스터들은 다 알겠지만) 

     

    일반적으로 어떤 모듈을 만들었을 때 이 모듈을 테스트해야 되는 경우가 있다. 즉, 완성된 모듈을 호출하여 테스트를 해야 하는데 호출하는 녀석이 완벽히 만들어지지 않을 경우 이 호출하는 녀석을 임시로 만들어서 호출을 할 수 있다.

     

    테스트 드라이버(Test Driver)

    컴포넌트나 시스템을 제어하거나 호출하는 컴포넌트를 대체하는 소프트웨어 컴포넌트 또는 테스트 툴.

     

    스텁(Stub)

    골격만 있는 또는 특별한 목적의 소프트웨어 컴포넌트를 구현한 것. 스텁을 호출하거나 또는 스텁에 의존적인 컴포넌트를 개발하거나 테스트할 때 사용됨. 스텁은 호출된 컴포넌트를 대체

     

    - STEN 사전 -

     

    이때 완성된 모듈 혹은 컴포넌트를 임시로 호출하는 녀석(BottomUp, 상향식)을 테스트 드라이버(Test Driver)라고 한다. 그리고 스텁은 이와 반대로 모듈을 임시로 만드는 경우다. 즉, 앞단(프론트 부분)을 모두 개발하고 모듈을 호출해야 되는 경우만 남았는데 모듈이 안 만들어졌을 경우가 있다. 이럴 경우 임시로 결과를 던져주는 모듈을 만들게 된다(TopDown, 하향식).

     

    단순히 웹개발을 할 경우 DB와의 통신하여 결과를 주고 받는 경우가 많아서 이와 같은 테스트 기법을 잘 사용하지 않겠지만, 필자와 같이 알고리즘을 만드는 개발자라면 스텁과 드라이버를 적극적으로 활용하게 된다. 

     

    Driver와 Stub

     

    Driver와 Stub의 개념이 서로간에 헷갈릴 수 있을텐데, Driver만 확실히 이해하면 쉽다. Driver는 제어, 조종을 한다라는 뜻을 담고 있다. Taxi Driver에서도 택시운전을 하는 사람을 뜻하고, Graphic Driver도 그래픽을 제어하는 역할을 수행한다. 이와같이 제어하는 녀석이 Driver이기 때문에 Test Driver는 Dummy Driver이고 나머지 Dummy Module은 Stub이 된다.

     


    Stub Driver
    Type Dummy codes Dummy codes
    Description Routines that don’t actually do anything except declare themselves and the parameters they accept. The rest of the code can then take these parameters and use them as inputs Routines that don’t actually do anything except declare themselves and the parameters they accept. The rest of the code can then take these parameters and use them as inputs
    Used in Top Down Integration Bottom Up Integration
    Purpose To allow testing of the upper levels of the code, when the lower levels of the code are not yet developed. To allow testing of the lower levels of the code, when the upper levels of the code are not yet developed.

    - Test Driver와 Stub의 비교

     

     

    참고자료

    http://www.differencebetween.info/difference-between-stub-and-driver

    http://dic.sten.kr/

     

    댓글

    Designed by JB FACTORY