Study_Note

testing method - model based testing 본문

CSTS

testing method - model based testing

12월7일생 2024. 5. 16. 13:56
728x90
반응형

모델 기반 테스트
(testing method - model based testing)

 

모델 기반 테스트(MBT) 는 특정 소프트웨어나 시스템의 기대 동작을 나타내는 모델을 활용합니다. 이 모델은 다양한 형태로 표현될 수 있습니다. 자연어, 상태 전이도, UML 다이어그램 등의 시각적 형식 또는 의사결정표와 같은 표 형태로 나타낼 수 있습니다.

이전의 테스트 방법은 주로 수작업으로 테스트 입력과 출력을 결정했습니다. 반면에 모델 기반 테스트는 자동으로 정보를 추출할 수 있을 정도로 상세하고 정형화된 모델을 사용합니다. 이를 통해 테스트 계획, 테스트 케이스, 절차, 입력 및 예상 결과 등을 자동으로 결정할 수 있습니다.

모델 기반 테스트의 장점은 대부분의 활동을 자동화할 수 있다는 것입니다. 또한 모델을 통해 다양한 유형의 문제를 조기에 식별하여 개발 과정의 결함을 검출할 수 있습니다. 이로 인해 안전 필수 소프트웨어에 대해 많이 사용됩니다.

하지만 모델 기반 테스트는 모델을 구축하는 비용이 추가되는 단점이 있습니다. 그러나 한 번 모델이 구축되면 자동화를 통해 효율적인 테스트를 수행할 수 있습니다. 의사결정표, UML 상태 다이어그램, UML 액티비티 다이어그램 등의 정형적인 표현법을 사용하여 테스트 대상의 동작을 상세히 모델링할 수 있습니다.

더보기
  1. 의사결정표(Decision Table)
    • 의사결정표는 입력 조건과 그에 따른 행동 또는 결과를 나타내는 표 형태의 모델입니다.
    • 보통 입력 조건이 여러 개일 때 사용됩니다. 각 입력 조건의 가능한 값에 대해 가능한 모든 조합을 표 형식으로 나타냅니다.
    • 각 조합에 대해 시스템이 취해야 할 동작이나 결과가 기술되어 있습니다.
    • 의사결정표는 복잡한 시스템의 동작을 간결하고 명확하게 표현할 수 있는 장점이 있습니다.
  2. UML 상태 다이어그램(UML State Diagram)
    • UML 상태 다이어그램은 시스템이 가질 수 있는 상태와 상태 간의 전이를 나타내는 다이어그램입니다.
    • 시스템이 특정 상태에서 특정 이벤트에 응답하여 다른 상태로 전이하는 것을 시각적으로 표현합니다.
    • 각 상태와 이벤트에 따른 상태 전이가 어떻게 이루어지는지를 이해하고 시스템의 동작을 모델링하는 데 사용됩니다.
    • UML 상태 다이어그램은 시스템의 동작을 시각화하고 이해하기 쉽게 만들어줍니다.
  3. UML 액티비티 다이어그램(UML Activity Diagram)
    • UML 액티비티 다이어그램은 시스템 내의 작업 흐름이나 프로세스를 시각적으로 나타내는 다이어그램입니다.
    • 각 액티비티는 특정 작업이나 동작을 나타내며, 화살표로 연결되어 있는 간선은 작업 간의 흐름을 나타냅니다.
    • 액티비티 다이어그램은 복잡한 프로세스의 흐름을 단순하게 표현하고 이해하기 쉽게 만들어줍니다.
    • 특히 모델 기반 테스트에서는 시스템의 특정 작업을 표현하고 이를 기반으로 테스트 케이스를 생성하기 위해 사용될 수 있습니다.

 

모델 기반 테스트(Model-Based Testing, MBT) 프레임워크는 보통 두 가지 유형으로 분류됩니다.
오프라인/선험적 방식과 온라인/즉시 방식입니다.

  • 오프라인/선험적 방식
    • 이 방식은 테스트 스위트를 실행하기 전에 미리 생성됩니다.
    • 테스트 스위트는 테스트 케이스의 모음으로 구성되어 있지 않습니다. 대신, 테스트 케이스를 실행하는 데 필요한 모든 정보가 포함된 스위트를 생성합니다.
    • 이 방식의 장점은 테스트 케이스를 실행하기 위해 추가적인 준비 작업이 필요하지 않으므로 테스트 프로세스를 더욱 효율적으로 만들 수 있습니다.
    • 그러나 테스트 스위트를 미리 생성해야 하기 때문에 초기 구축에 시간이 걸릴 수 있습니다.
  •  온라인/즉시 방식
    • 이 방식은 테스트 실행 중에 테스트 스위트를 생성합니다.
    • 테스트 케이스를 실행하는 동안 시스템의 동작에 따라 필요한 추가 테스트 케이스가 동적으로 생성됩니다.
    • 이 방식은 테스트 케이스의 동적 생성을 통해 시스템의 다양한 동작을 더욱 철저하게 검증할 수 있습니다.
    • 그러나 이 방식은 테스트 케이스를 동적으로 생성하기 위한 알고리즘이나 로직을 구현해야 하므로 구현이 복잡할 수 있습니다.

이러한 두 가지 방식은 모델 기반 테스트 프레임워크의 다양한 요구 사항과 상황에 따라 선택될 수 있으며, 각각의 장단점이 있습니다.

 

'CSTS' 카테고리의 다른 글

component test (unit test)  (0) 2024.07.29
software development stages and testing  (0) 2024.07.22
testing method - risk based testing  (0) 2024.03.14
testing method - regression test  (0) 2024.03.12
testing method - software life cycle model & testing  (0) 2024.03.11