결함관리 도구 문항은 통합 테스트에서 모듈 간 시험을 위해 임시로 제공되는 시험용 모듈을 구분하는 데 초점을 둔다. 상향식 통합에서는 테스트 대상 모듈을 호출하는 드라이버가 필요하고, 하향식 통합에서는 미완성 하위 모듈을 대신하는 스텁이 필요하다. 두 임시 모듈의 역할과 통합 방향을 함께 익힌다.
결함관리 도구는 통합 테스트에서 미완성 모듈을 대신하거나 테스트 대상 모듈을 호출하는 임시 모듈의 역할을 구분하는 개념으로 다룬다. 상향식과 하향식이라는 통합 방향에 따라 필요한 임시 모듈이 달라진다.
테스트 드라이버는 테스트 대상 모듈을 호출하고 제어하는 간이 소프트웨어이다. 상위 모듈의 역할을 수행하여 하위인 테스트 대상을 부르고, 매개 변수 전달과 결과 확인에 쓰이며 상향식 통합 테스트에서 활용된다. 하위 모듈 역할을 하는 것은 테스트 드라이버가 아니라 스텁이다.
스텁은 하향식 통합 테스트에서 아직 완성되지 않은 하위 모듈을 대신하는 임시 모듈이다. 상위 모듈이 하위 모듈을 호출할 때 실제 로직 대신 간단한 반환값을 제공하여 상위 모듈의 동작을 검증한다. 하향식 통합에서는 하위 모듈을 스텁으로 대체하고, 상위 모듈부터 테스트를 진행한다.
상향식 통합 테스트는 최하위 모듈부터 상위 방향으로 통합하며 상위 모듈 역할을 대신하는 드라이버를 생성한다. 하향식 통합 테스트는 최상위 모듈부터 시작하므로 하위 모듈을 대체하는 스텁을 사용한다. 상향식은 드라이버, 하향식은 스텁이라는 대응을 혼동하지 않는다.
하향식 통합은 상위 모듈부터 테스트하므로 초기부터 시스템의 주요 제어 구조를 사용자에게 보여줄 수 있다. 상위층의 테스트 케이스 작성이 상대적으로 수월하며, 스텁은 간단한 가짜 함수이므로 드라이버보다 작성하기 쉽다는 특징이 있다.
예제
상향식 통합 테스트가 최상위 모듈부터 시작한다고 하면 틀린다. 하향식 통합 검사가 초기부터 시스템 구조를 사용자에게 보여줄 수 없다고 하면 정반대 설명이 된다. 상향식 통합 검사에서 스텁을 사용한다고 하거나, 테스트 드라이버가 하위 모듈 역할을 한다고 하면 역할이 뒤바뀐 선지가 된다. 하향식 통합에서 하위 모듈을 대신하는 임시 모듈을 스텁이라고 하는 설명은 옳다.
대표 기출 3문항
하향식 통합에 있어서 모듈 간의 통합 시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈을 무엇이라고 하는가?
Stub
Driver
Procedure
Function
정답과 해설 보기
정답 ① · 하향식 통합 시험에서 하위 모듈을 임시로 대체하는 시험용 모듈의 명칭을 묻는 문제이다. 하향식 통합은 상위 모듈부터 테스트를 진행하므로 아직 완성되지 않은 하위 모듈을 대신하여 호출 인터페이스만 유지하고 최소한의 반환값을 제공하는 스텁(Stub)이 필요하다.
하향식 통합 시 상위 모듈을 호출하는 하위 모듈의 임시 대체 모듈은 스텁이다.
하향식 통합시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈은?
Stub
Driver
Procedure
Function
정답과 해설 보기
정답 ① · 하향식 통합시험에서 임시로 제공되는 시험용 모듈을 묻는 문제이다. 하향식 통합시험은 상위 모듈부터 테스트를 진행하므로, 아직 개발되지 않은 하위 모듈이 호출될 때 그 기능을 대신 수행해 주는 임시 모듈인 스텁(Stub)이 필요하다.
하향식 통합시험에서 상위 모듈이 호출하는 하위 모듈의 기능을 대신 수행하도록 임시로 제공하는 모듈은 스텁(Stub)이다.
테스트 드라이버(Test Driver)에 대한 설명으로 틀린 것은?
시험대상 모듈을 호출하는 간이 소프트웨어이다.
필요에 따라 매개 변수를 전달하고 모듈을 수행한 후의 결과를 보여줄 수 있다.
상향식 통합 테스트에서 사용된다.
테스트 대상 모듈이 호출하는 하위 모듈의 역할을 한다.
정답과 해설 보기
정답 ④ · 테스트 드라이버에 대한 틀린 설명을 고르는 문제이다. 테스트 드라이버는 테스트 대상 모듈을 호출하는 상위 모듈의 역할을 수행하는 간이 소프트웨어로, 매개 변수를 전달하고 수행 결과를 보여줄 수 있다.
테스트 드라이버는 상위 모듈의 역할을 하므로 하위 모듈 역할을 하는 ④이 명백히 틀린 설명이다.