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

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

테스트 하네스 (Test Harness)

테스트 하네스는 단위 테스트나 모듈 테스트에서 테스트를 실행하기 위한 환경을 구축하는 소프트웨어 도구나 프레임워크를 의미한다.

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

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

테스트 드라이버 (Test Driver)

테스트 드라이버는 테스트 대상 모듈을 호출(Call)하고, 테스트 결과를 검증하는 상위 모듈 역할을 하는 테스트 코드이다.

주로 상향식(Bottom-up) 테스트에서 사용된다.

  • 역할 : 하위 모듈(테스트 대상)을 호출하여 테스트를 시작하고, 파라미터를 전달하며, 결과를 확인한다.
  • 함수 호출 및 데이터 흐름의 방향 : 상위 모듈 <- [테스트 드라이버] + 하위 모듈 (테스트 대상)
  • 키워드 : 상향식 테스트, 하위 모듈 테스트, 호출하는 모듈

테스트 스텁 (Test Stub)

테스트 스텁은 테스트 대상 모듈이 호출하는 다른 모듈의 기능을 임시로 대체하는 더미(Dummy) 모듈이다.

주로 하향식(Top-down) 테스트에서 사용된다.

  • 역할 : 상위 모듈(테스트 대상)이 호출하는 하위 모듈의 역할을 임시로 수행하며, 미리 정해진 값을 반환하거나 간단한 로직을 처리한다.
  • 함수 호출 및 데이터 흐름의 방향 : 상위 모듈(테스트 대상) + 하위 모듈 <- [테스트 스텁]
  • 키워드 : 하향식 테스트, 상위 모듈 테스트, 호출되는 모듈
구분테스트 드라이버 (Test Driver)테스트 스텁 (Test Stub)
목적하위 모듈을 테스트하기 위해 사용상위 모듈을 테스트하기 위해 사용
역할테스트 대상 모듈을 호출하는 상위 모듈 역할테스트 대상 모듈에 의해 호출되는 하위 모듈 역할
테스트상향식(Bottom-up) 테스트하향식(Top-down) 테스트

그 외 주요 구성요소

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