정보처리기사 CBT
종목 메뉴

개념 한 쪽

정보처리기사 통합 테스트 — 상향식·하향식·스텁·드라이버

통합 테스트는 나뉘어 만든 모듈들을 연결하며 전체가 잘 작동하는지 확인하는 단계다. 정보처리기사에서는 상향식과 하향식의 진행 방향, 그리고 임시 모듈인 스텁과 드라이버의 구분이 단골로 출제된다.

2026-10-19 기준 · 정보처리기사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용

가입 없이 오늘의 10문제 바로 풀기 →

시험에 이렇게 나온다

출제기준 단원 「통합 테스트」의 공개 문제 3개를 묻는 꼴별로 나누면 이렇습니다.

묻는 꼴문제 수무엇을 묻나
용어·명칭 고르기1하향식에서 임시로 쓰는 시험용 모듈 명칭
설명 옳지 않은 보기 고르기(통합 테스트)1통합 테스트의 정의·하향/상향 특성 중 틀린 설명
설명 옳지 않은 보기 고르기(드라이버)1테스트 드라이버의 역할과 사용처 중 틀린 설명

뜻

통합 테스트(Integration Test)는 모듈들을 연결하여 전체 시스템이 잘 작동하는지 보는 과정으로, 진행 방향에 따라 하향식과 상향식으로 나뉜다. 하향식 통합 검사는 최상위(루트) 모듈부터 차례로 하위 모듈을 연결해 내려가는 방식이다. 상위 모듈부터 테스트하므로 개발 초기부터 주요 제어 구조가 동작하는 모습을 사용자에게 보여줄 수 있고, 상위층의 테스트 케이스 작성이 상대적으로 수월하다. 하위 모듈이 아직 완성되지 않았을 때는 깊이 우선·넓이 우선 등으로 스텁을 실제 모듈로 교체해 나간다.

상향식 통합 검사는 가장 아래에 있는 하위 모듈부터 시작해 위쪽 상위 모듈로 올라가며 연결한다. 하위 모듈들을 클러스터(모듈 집단)로 결합해 검사하는 방식이다. 따라서 '최상위 모듈을 먼저 구현하고 테스트한다'는 설명은 상향식이 아니라 하향식의 특징이다.

두 방식은 쓰는 임시 모듈도 정반대다. 하향식에서는 상위 모듈이 호출하는 아직 없는 하위 모듈을 대신해, 일시적으로 필요한 조건만 가지고 임시로 제공되는 시험용 모듈인 스텁(Stub)을 쓴다. 스텁은 호출되면 간단한 값만 반환하는 간단한 가짜 함수라 드라이버보다 작성하기 쉽다. 상향식에서는 아직 없는 상위 모듈의 역할을 대신해 테스트 대상을 호출·제어하고 매개 변수를 전달하며 결과를 확인하는 드라이버(Driver)를 쓴다. 즉 스텁은 '아래'를 대체하고 드라이버는 '위'를 대신한다. 참고로 알파·베타 테스트는 개발사 내부·실제 고객 환경에서 최종 사용자 관점의 요구사항 충족을 검증하는 인수 테스트의 하위 유형으로, 통합 테스트와는 구분된다.

예제

시험에서는 '하향식 통합 테스트에서 일시적으로 필요한 조건만 가지고 임시로 제공되는 시험용 모듈은?'의 답으로 스텁이 나온다(빌드·알파·클러스터는 오답). '드라이버=상위 모듈 역할, 스텁=하위 모듈 역할' 공식만 기억하면 된다. '상향식은 최상위부터 시작한다', '상향식에서 스터브를 대치한다' 같은 보기는 방향이나 도구를 뒤바꾼 오답이고, '하향식은 초기에 시스템 구조를 보여줄 수 없다'도 하향식의 장점을 뒤집은 틀린 설명이다.

대표 기출 3문항

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

  1. 시험대상 모듈을 호출하는 간이 소프트웨어이다.
  2. 필요에 따라 매개 변수를 전달하고 모듈을 수행한 후의 결과를 보여줄 수 있다.
  3. 상향식 통합 테스트에서 사용된다.
  4. 테스트 대상 모듈이 호출하는 하위 모듈의 역할을 한다.
정답과 해설 보기

정답 ④ · 테스트 드라이버에 대한 틀린 설명을 고르는 문제이다. 테스트 드라이버는 테스트 대상 모듈을 호출하는 상위 모듈의 역할을 수행하는 간이 소프트웨어로, 매개 변수를 전달하고 수행 결과를 보여줄 수 있다.

테스트 드라이버는 상위 모듈의 역할을 하므로 하위 모듈 역할을 하는 ④이 명백히 틀린 설명이다.

통합 테스트(Integration Test)와 관련한 설명으로 틀린 것은?

  1. 시스템을 구성하는 모듈의 인터페이스와 결합을 테스트하는 것이다.
  2. 하향식 통합 테스트의 경우 넓이 우선(Breadth First) 방식으로 테스트를 할 모듈을 선택할 수 있다.
  3. 상향식 통합 테스트의 경우 시스템 구조도의 최상위에 있는 모듈을 먼저 구현하고 테스트한다.
  4. 모듈 간의 인터페이스와 시스템의 동작이 정상적으로 잘되고 있는지를 빨리 파악하고자 할 때 상향식 보다는 하향식 통합 테스트를 사용하는 것이 좋다.
정답과 해설 보기

정답 ③ · 상향식 통합 테스트는 프로그램의 하위 모듈부터 상향식으로 통합하며 테스트하는 방식입니다. 이때 하위 모듈들을 그룹화하여 묶어주는 역할을 하는 가상의 모듈인 '드라이버(Driver)'를 작성해야 하며, 최하위 모듈부터 테스트를 시작합니다.

상향식 통합 테스트는 최하위 모듈부터 시작하므로 최상위부터 시작한다는 ③이 명백한 오답이다.

하향식 통합 테스트에 있어서 모듈간의 통합시험을 하기위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈을 무엇이라고 하는가?

  1. build
  2. stub
  3. alpha
  4. cluster
정답과 해설 보기

정답 ② · 하향식 통합 테스트에서 일시적으로 필요한 조건만을 가진 임시 시험용 모듈의 명칭을 묻는 문제이다. 하향식 통합 테스트는 상위 모듈부터 통합해 나가므로 아직 구현되지 않은 하위 모듈을 호출해야 하는 상황이 발생한다.

하향식 통합 테스트에서 하위 모듈의 미완성 시 상위 모듈 호출을 대신하는 가짜 모듈은 스텁이다.

자주 묻는 물음

하향식과 상향식은 어디서 시작하나요?
하향식은 최상위 모듈부터 아래로 내려가고, 상향식은 최하위 모듈부터 위로 올라갑니다. 하향식은 초기부터 주요 제어 구조를 사용자에게 보여줄 수 있다는 장점이 있습니다.
스텁과 드라이버는 어떻게 구분하나요?
스텁은 하향식에서 없는 하위 모듈을 대신하는 임시 모듈이고, 드라이버는 상향식에서 없는 상위 모듈을 대신해 테스트 대상을 호출하는 임시 모듈입니다. '스텁=아래 대체, 드라이버=위 대체'로 외우면 됩니다.
알파·베타 테스트는 어떤 단계인가요?
인수 테스트의 하위 유형입니다. 알파 테스트는 개발사 내부 통제 환경에서, 베타 테스트는 실제 고객 환경에서 수행하며 최종 사용자 관점의 요구사항 충족 여부를 검증합니다.
이 개념 문제 10개 풀기 회원용

정보처리기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.