모델 기반 테스트(model-based testing, MBT)는 모델에 바탕을 두거나 모델을 쓰는 테스트다.[1][2] SWEBOK V4.0a에 따르면 이 모델은 동작 명세, 테스트 대상의 구조, 가용한 지식과 경험을 나타낸다.[2]

ISTQB CT-MBT(Certified Tester Model-Based Testing) 강의계획서에 따르면 MBT는 동치 분할, 경계값 분석, 결정 테이블 테스트, 상태 전이 테스트 같은 고전 테스트 기법을 넓히고 지원한다. MBT 모델은 테스트 설계 명세 구실을 하며, 테스트 케이스를 모델에서 바로 자동으로 만들어 낼 만큼 형식적이고 자세한 정보를 담는다. 도구가 지원하면 이 자동 생성으로 테스트 커버리지를 넓히고 테스트 주기를 줄일 수 있다.[3]

쓰임

MBT는 기능 요구사항과 기대 동작의 복잡함을 추상화할 수 있어서 시스템, 시스템 통합, 인수 테스트 같은 높은 테스트 레벨에서 주로 쓰이고, 컴포넌트 테스트와 컴포넌트 통합 테스트에서는 덜 쓰인다. 테스트 유형으로는 주로 기능 테스트에 쓰이고, 보강하거나 따로 만든 MBT 모델로 보안, 부하, 신뢰성 같은 비기능 테스트도 할 수 있다.[3]

테스트 설계 기법과의 관계

ISO/IEC/IEEE 29119-1:2022는 탐색적 테스트나 MBT 같은 테스트 실천(test practice)을 “테스트 기법”이라 부르기도 하지만, 이들은 스스로 테스트 케이스를 만드는 방법을 주지 않고 테스트 설계 기법을 써서 그 일을 하므로 29119 시리즈의 정의로는 테스트 설계 기법이 아니라는 것을 정의에 단 Note에서 제시한다.[4] 29119-4:2021은 테스트 케이스를 설계하는 기법만 다루므로, MBT 같은 테스트 실천은 정의하지 않는다.[5]

명세와 모델의 결함 찾기

ISTQB CTAL-TA(Certified Tester Advanced Level Test Analyst) 강의계획서에 따르면 MBT에서는 MBT 도구가 MBT 모델과 테스트 분석가가 정한 테스트 선택 기준으로 테스트 케이스와 그 밖의 테스트 설계 산출물을 만든다. MBT는 MBT 모델에 따른 기대 동작을 폭넓게 덮고 체계적으로 탐색하므로 명세의 이상을 찾는 데 효과적이고, 특히 그래픽 MBT 모델은 이해관계자와의 의사소통을 돕는다.[6]

이 강의계획서는 테스트 기준에 모델이 들어 있으면 테스트 분석가가 그 모델을 분석해 모델 자체의 결함도 찾을 수 있다고 보고, 상태 전이도의 결함으로 빠지거나 틀린 상태, 부적절한 전이, 틀린 가드 조건이나 동작, 중복되거나 닿을 수 없는 상태, 비결정적 동작을 예로 든다.[6]

테스트 설계를 자동화하는 예로, 테스트 분석가가 상태 전이 모델을 설계하고 MBT 도구가 round-trip 커버리지를 이루는 테스트 케이스를 만들게 할 수 있다. 테스트 모델이 테스트 산출물을 끌어내는 단 하나의 기준이 되므로, 유지보수할 것은 테스트 모델뿐이다.[6]

테스트 오라클

이 강의계획서는 테스트 오라클 문제를 푸는 방법 가운데 하나로 MBT를 든다. MBT는 테스트 오라클을 테스트 모델의 일부로 형식화할 수 있어, 모델에서 기대 출력을 만들고 테스트를 끌어낼 수 있다.[6]

모델과 생성 코드

ISTQB CT-AuT 강의계획서에 따르면 실행 가능한 모델과, 손으로 쓰거나 자동으로 만든 코드를 견주는 back-to-back 테스트는 실행 가능한 모델이 pseudo-oracle 구실도 하는 MBT의 한 형태다. 테스터는 모델에서 기대 결과뿐 아니라 자동화한 테스트 케이스도 끌어내므로, 이 접근은 테스트 설계 자동화에 잘 맞는다.[7]

모델 기반 개발과의 차이

SWEBOK V4.0a에 따르면 모델 기반 개발(model-based development)은 모델로 시스템을 분석하는 개발 방법으로, 모델이 꼭 개발의 주된 산출물은 아니다. 이 지식 체계는 모델에서 테스트 케이스를 만드는 일을 소프트웨어 테스트 영역에서 따로 다룬다.[2]

[1]
ISTQB, “ISTQB Glossary — model-based testing.” 2026. Accessed: Oct. 13, 2026. [Online]. Available: https://glossary.istqb.org/en_US/term/model-based-testing
[2]
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
[3]
“Certified Tester Model-Based Testing (CT-MBT) Syllabus, v1.1,” International Software Testing Qualifications Board (ISTQB), 2024. Accessed: Oct. 13, 2026. [Online]. Available: https://istqb.org/wp-content/uploads/2024/11/ISTQB_CT-MBT_-_Syllabus_Version_v1.1.pdf
[4]
ISO/IEC/IEEE, “ISO/IEC/IEEE 29119-1:2022 Software and systems engineering — Software testing — Part 1: General concepts (OBP preview).” 2022. Accessed: Oct. 03, 2026. [Online]. Available: https://www.iso.org/obp/ui/#iso:std:iso-iec-ieee:29119:-1:ed-2:v1:en
[5]
ISO/IEC/IEEE, “ISO/IEC/IEEE 29119-4:2021 Software and systems engineering — Software testing — Part 4: Test techniques (OBP preview).” 2021. Accessed: Oct. 03, 2026. [Online]. Available: https://www.iso.org/obp/ui/#iso:std:iso-iec-ieee:29119:-4:ed-2:v1:en
[6]
“Certified Tester Advanced Level Test Analyst (CTAL-TA) Syllabus, v4.0,” International Software Testing Qualifications Board (ISTQB), 2025. Accessed: Oct. 04, 2026. [Online]. Available: https://istqb.org/?sdm_process_download=1&download_id=5745
[7]
“Certified Tester Automotive Software Tester (CT-AuT) Syllabus, v2.1.1,” International Software Testing Qualifications Board (ISTQB), 2025. Accessed: Oct. 03, 2026. [Online]. Available: https://istqb.org/?sdm_process_download=1&download_id=3615