테스트 자동화(하네스) 구성요소

정처기SW개발테스트
읽는데 4분 소요
처음 쓰여진 날: 2025-10-07
마지막 수정일: 2025-10-07

요약

정보처리기사 실기 시험의 핵심 개념인 테스트 하네스의 구성요소(테스트 드라이버, 스텁, 슈트, 케이스, 시나리오, 스크립트, 목 객체)를 완벽하게 정리합니다. 특히 시험에 자주 출제되는 테스트 드라이버와 스텁의 차이점을 명확히 설명합니다.

용어키워드
테스트 하네스(Test Harness)소프트웨어 도구, 프레임워크, 테스트 환경 구축, 구성요소 집합
테스트 드라이버(Test Driver)상향식 테스트, 하위 모듈 테스트, 호출하는 모듈, 상위 모듈 역할
테스트 스텁(Test Stub)하향식 테스트, 상위 모듈 테스트, 호출되는 모듈, 더미 모듈
테스트 슈트(Test Suite)테스트 케이스 집합, 묶어놓은 단위, 특정 기능 테스트
테스트 케이스(Test Case)입력값, 실행 조건, 예상 결과, 테스트 최소 단위, 명세
테스트 시나리오(Test Scenario)동작 흐름, 스토리, 여러 케이스 묶음, 로그인 후 글쓰기
테스트 스크립트(Test Script)자동화, 실행 코드, 테스트 케이스 코드화
목 객체(Mock Object)상태 검증, 행위 검증, 정교한 객체, 호출 횟수 확인

정보처리기사 실기 시험에서 테스트 드라이버(Test Driver)테스트 스텁(Test Stub) 의 역할과 차이점을 묻는 문제는 단골 출제 유형입니다. 두 개념을 명확히 구분하고 암기하는 것이 합격의 핵심입니다.


테스트 하네스(Test Harness)란?

테스트 하네스는 단위 테스트나 모듈 테스트에서 테스트를 실행하기 위한 환경을 구축하는 소프트웨어 도구나 프레임워크를 의미합니다. 테스트 대상 컴포넌트가 정상적으로 작동하는지 확인하기 위해, 테스트를 지원하는 코드와 데이터를 하나로 묶은 실행 환경이라고 할 수 있습니다.

주요 구성 요소로는 테스트 드라이버, 테스트 스텁, 테스트 슈트, 테스트 케이스 등이 있으며, 이들이 모여 하나의 테스트 환경을 구성합니다.


테스트 하네스의 핵심 구성요소

테스트 드라이버 (Test Driver)

테스트 드라이버는 테스트 대상 모듈을 호출(Call) 하고, 테스트 결과를 검증하는 상위 모듈 역할을 하는 테스트 코드입니다. 주로 상향식(Bottom-up) 테스트 에서 사용됩니다.

  • 역할: 하위 모듈(테스트 대상)을 호출하여 테스트를 시작하고, 파라미터를 전달하며, 결과를 확인합니다.
  • 방향: 상위 모듈 ← [테스트 드라이버] + 하위 모듈 (테스트 대상)
  • 핵심 키워드: 상향식 테스트, 하위 모듈 테스트, 호출하는 모듈

테스트 스텁 (Test Stub)

테스트 스텁은 테스트 대상 모듈이 호출하는 다른 모듈의 기능을 임시로 대체하는 더미(Dummy) 모듈입니다. 주로 하향식(Top-down) 테스트 에서 사용됩니다.

  • 역할: 상위 모듈(테스트 대상)이 호출하는 하위 모듈의 역할을 임시로 수행하며, 미리 정해진 값을 반환하거나 간단한 로직을 처리합니다.
  • 방향: 상위 모듈 (테스트 대상) + 하위 모듈 ← [테스트 스텁]
  • 핵심 키워드: 하향식 테스트, 상위 모듈 테스트, 호출되는 모듈
구분테스트 드라이버 (Test Driver)테스트 스텁 (Test Stub)
목적하위 모듈을 테스트하기 위해 사용상위 모듈을 테스트하기 위해 사용
역할테스트 대상 모듈을 호출하는 상위 모듈 역할테스트 대상 모듈에 의해 호출되는 하위 모듈 역할
테스트상향식(Bottom-up) 테스트하향식(Top-down) 테스트
비유자동차를 운전하는 운전자(Driver)주연 배우를 대신하는 대역(Stub) 배우
흐름드라이버테스트 대상(하위)테스트 대상(상위)스텁

그 외 주요 구성요소

구성요소설명
테스트 슈트테스트 케이스들의 집합. 특정 기능이나 모듈에 대한 모든 테스트 케이스를 묶어놓은 단위입니다.
테스트 케이스특정 요구사항을 검증하기 위한 입력값, 실행 조건, 예상 결과 등의 명세. 테스트의 최소 단위입니다.
테스트 시나리오여러 테스트 케이스를 묶어 하나의 **동작 흐름(스토리)**을 검증하는 것. (예: '로그인 후 글쓰기')
테스트 스크립트테스트 케이스를 자동화된 방식으로 실행할 수 있도록 작성된 코드.
목 객체(Mock Object)스텁과 유사하지만, 호출에 대한 상태나 행위까지 검증하는 더 정교한 객체. (예: 'A 메서드가 3번 호출되었는가?')

정보처리기사 실기 대비 문제

문제를 불러오는 중...

문제를 불러오는 중...

문제를 불러오는 중...

문제를 불러오는 중...

문제를 불러오는 중...

문제를 불러오는 중...