일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- agile
- testing method
- maintainability test
- testcase
- 유지보수성 테스트
- regression test
- test
- 위험 기반 테스트
- 품질
- 테스트케이스
- 테스트 설계 기법에 따른 분류
- QA
- seleium
- 셀레니움
- Software life cycle model
- Testing
- 비기능테스트
- SQA
- csts
- selenium
- 테스트
- Test Case
- 애자일
- 파이썬
- 자동화
- 테스트 케이스
- ISTQB
- risk-based testing
- RBT
- Python
- Today
- Total
Study_Note
testing method - model based testing 본문
모델 기반 테스트
(testing method - model based testing)
모델 기반 테스트(MBT) 는 특정 소프트웨어나 시스템의 기대 동작을 나타내는 모델을 활용합니다. 이 모델은 다양한 형태로 표현될 수 있습니다. 자연어, 상태 전이도, UML 다이어그램 등의 시각적 형식 또는 의사결정표와 같은 표 형태로 나타낼 수 있습니다.
이전의 테스트 방법은 주로 수작업으로 테스트 입력과 출력을 결정했습니다. 반면에 모델 기반 테스트는 자동으로 정보를 추출할 수 있을 정도로 상세하고 정형화된 모델을 사용합니다. 이를 통해 테스트 계획, 테스트 케이스, 절차, 입력 및 예상 결과 등을 자동으로 결정할 수 있습니다.
모델 기반 테스트의 장점은 대부분의 활동을 자동화할 수 있다는 것입니다. 또한 모델을 통해 다양한 유형의 문제를 조기에 식별하여 개발 과정의 결함을 검출할 수 있습니다. 이로 인해 안전 필수 소프트웨어에 대해 많이 사용됩니다.
하지만 모델 기반 테스트는 모델을 구축하는 비용이 추가되는 단점이 있습니다. 그러나 한 번 모델이 구축되면 자동화를 통해 효율적인 테스트를 수행할 수 있습니다. 의사결정표, UML 상태 다이어그램, UML 액티비티 다이어그램 등의 정형적인 표현법을 사용하여 테스트 대상의 동작을 상세히 모델링할 수 있습니다.
- 의사결정표(Decision Table)
- 의사결정표는 입력 조건과 그에 따른 행동 또는 결과를 나타내는 표 형태의 모델입니다.
- 보통 입력 조건이 여러 개일 때 사용됩니다. 각 입력 조건의 가능한 값에 대해 가능한 모든 조합을 표 형식으로 나타냅니다.
- 각 조합에 대해 시스템이 취해야 할 동작이나 결과가 기술되어 있습니다.
- 의사결정표는 복잡한 시스템의 동작을 간결하고 명확하게 표현할 수 있는 장점이 있습니다.
- UML 상태 다이어그램(UML State Diagram)
- UML 상태 다이어그램은 시스템이 가질 수 있는 상태와 상태 간의 전이를 나타내는 다이어그램입니다.
- 시스템이 특정 상태에서 특정 이벤트에 응답하여 다른 상태로 전이하는 것을 시각적으로 표현합니다.
- 각 상태와 이벤트에 따른 상태 전이가 어떻게 이루어지는지를 이해하고 시스템의 동작을 모델링하는 데 사용됩니다.
- UML 상태 다이어그램은 시스템의 동작을 시각화하고 이해하기 쉽게 만들어줍니다.
- 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 |