ISTQB 용어집은 테스트 하네스(test harness)를 테스트 스위트를 실행하는 데 필요한 드라이버와 test double의 모음으로 정의한다.[1] ISO/IEC/IEEE 24765 용어집은 테스트 하네스를 상위 코드가 아직 없을 때 하위 코드를 실행해 보려고 작성한 비계 코드(scaffolding)로 정의한다.[2] SWEBOK V4.0a에 따르면 드라이버와 스텁 같은 테스트 하네스는 테스트 도구의 한 갈래로, 테스트를 시작하고 그 출력을 기록할 수 있는 통제된 환경을 주는 도구를 가리킨다.[3]

ISTQB CTFL 강의계획서는 스텁, 드라이버, 시뮬레이터, 서비스 가상화를 테스트 환경 항목의 예로 든다.[4]

드라이버와 스텁

ISTQB 용어집은 드라이버(driver)를 test driver라고도 부르며, 다른 컴포넌트를 잠시 대신해 테스트 항목을 따로 떼어 놓은 채 제어하거나 호출하는 컴포넌트나 도구로 정의한다.[5]

ISO/IEC/IEEE 24765 용어집은 스텁(stub)을 소프트웨어 모듈을 뼈대만 두거나 특정 목적에 맞게 만든 구현으로, 그 모듈을 호출하거나 그것에 의존하는 모듈을 개발하거나 시험할 때 쓰는 것으로 정의한다.[2] ISTQB 용어집은 스텁을 미리 정한 응답을 주는 test double의 한 종류로 정의한다.[6]

SWEBOK V4.0a에 따르면 드라이버는 SUT(system under test)의 한 부분을 부르는 모듈을 흉내 내고, 스텁은 그 부분이 부르는 모듈을 흉내 낸다.[3]

단위 테스트와 통합 테스트에서의 쓰임

CTFL 강의계획서에 따르면 컴포넌트 테스트에는 테스트 하네스나 단위 테스트 프레임워크 같은 지원이 필요한 경우가 많다.[4]

SWEBOK V4.0a에 따르면 통합 테스트를 점진적으로 하면 대개 스텁, 드라이버, mock object 같은 테스트 인프라가 더 쓰인다.[3]

구조적 테스트에서 모듈 테스트와 상향식 통합을 함께 하는 전략은 스텁 없이 드라이버만 쓴다. 가장 낮은 모듈부터 드라이버로 모듈마다 구조적 테스트를 하고, 설계 계층을 한 단계씩 올라가며 새 모듈을 그 아래 모듈 전체와 통합해 드라이버로 같은 테스트를 한다.[7]

Test double

ISTQB 용어집은 test double을 테스트하려고 테스트 대상이 부르는 대체 컴포넌트로 정의한다.[8] Meszaros는 xUnit Test Patterns에서 SUT가 의존하는 실제 컴포넌트를 테스트에서 대신하는 객체들을 아우르는 이름으로 Test Double을 쓰고, 이를 다음 다섯으로 나눈다.[9][10]

종류하는 일
Dummy object메서드 인자 자리를 채우려고 넘기기만 하고, 테스트도 SUT도 쓰지 않는다.
Test stubSUT의 간접 입력을 테스트가 정한 값으로 준다.
Test spySUT가 내보낸 간접 출력을 기록해 두었다가 테스트가 나중에 확인하게 한다.
Mock object받을 호출을 기대값으로 미리 설정받고, SUT의 간접 출력이 그와 맞는지 스스로 확인한다.
Fake object실제 의존 컴포넌트와 같은 기능을 훨씬 단순하고 가볍게 구현한다.
[1]
ISTQB, “ISTQB Glossary — test harness.” 2026. Accessed: Oct. 03, 2026. [Online]. Available: https://glossary.istqb.org/en_US/term/test-harness
[2]
IEEE Computer Society, “SEVOCAB: Software and Systems Engineering Vocabulary (ISO/IEC/IEEE 24765).” 2026. Accessed: Oct. 02, 2026. [Online]. Available: https://pascal.computer.org/sev_display/index.action
[3]
H. Washizaki, Ed., “Guide to the Software Engineering Body of Knowledge (SWEBOK Guide), Version 4.0a,” IEEE Computer Society, 2026. Accessed: Oct. 02, 2026. [Online]. Available: https://ieeecs-media.computer.org/media/education/swebok/swebok-v4.pdf
[4]
“Certified Tester Foundation Level Syllabus, v4.0.1,” International Software Testing Qualifications Board (ISTQB), 2024. Accessed: Oct. 02, 2026. [Online]. Available: https://istqb.org/wp-content/uploads/2024/11/ISTQB_CTFL_Syllabus_v4.0.1.pdf
[5]
ISTQB, “ISTQB Glossary — driver.” 2026. Accessed: Oct. 03, 2026. [Online]. Available: https://glossary.istqb.org/en_US/term/driver
[6]
ISTQB, “ISTQB Glossary — stub.” 2026. Accessed: Oct. 03, 2026. [Online]. Available: https://glossary.istqb.org/en_US/term/stub
[7]
A. H. Watson and T. J. McCabe, “Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric,” NIST Special Publication 500–235, Aug. 1996. Accessed: Oct. 03, 2026. [Online]. Available: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication500-235.pdf
[8]
ISTQB, “ISTQB Glossary — test double.” 2026. Accessed: Oct. 03, 2026. [Online]. Available: https://glossary.istqb.org/en_US/term/test-double
[9]
G. Meszaros, “Test Double (xUnit Test Patterns).” 2008. Accessed: Oct. 03, 2026. [Online]. Available: http://xunitpatterns.com/Test%20Double.html
[10]
G. Meszaros, “Mocks, Fakes, Stubs and Dummies (xUnit Test Patterns).” 2008. Accessed: Oct. 03, 2026. [Online]. Available: http://xunitpatterns.com/Mocks,%20Fakes,%20Stubs%20and%20Dummies.html