Prioritized Variable-length Test Cases Generation for Finite State Machines

📝 Abstract
Model-based Testing (MBT) is an effective approach for testing when parts of a system-under-test have the characteristics of a finite state machine (FSM). Despite various strategies in the literature on this topic, little work exists to handle special testing situations. More specifically, when concurrently: (1) the test paths can start and end only in defined states of the FSM, (2) a prioritization mechanism that requires only defined states and transitions of the FSM to be visited by test cases is required, and (3) the test paths must be in a given length range, not necessarily of explicit uniform length. This paper presents a test generation strategy that satisfies all these requirements. A concurrent combination of these requirements is highly practical for real industrial testing. Six variants of possible algorithms to implement this strategy are described. Using a mixture of 180 problem instances from real automotive and defense projects and artificially generated FSMs, all variants are compared with a baseline strategy based on an established N-switch coverage concept modification. Various properties of the generated test paths and their potential to activate fictional defects defined in FSMs are evaluated. The presented strategy outperforms the baseline in most problem configurations. Out of the six analyzed variants, three give the best results even though a universal best performer is hard to identify. Depending on the application of the FSM, the strategy and evaluation presented in this paper are applicable both in testing functional and non-functional software requirements.
💡 Analysis
Model-based Testing (MBT) is an effective approach for testing when parts of a system-under-test have the characteristics of a finite state machine (FSM). Despite various strategies in the literature on this topic, little work exists to handle special testing situations. More specifically, when concurrently: (1) the test paths can start and end only in defined states of the FSM, (2) a prioritization mechanism that requires only defined states and transitions of the FSM to be visited by test cases is required, and (3) the test paths must be in a given length range, not necessarily of explicit uniform length. This paper presents a test generation strategy that satisfies all these requirements. A concurrent combination of these requirements is highly practical for real industrial testing. Six variants of possible algorithms to implement this strategy are described. Using a mixture of 180 problem instances from real automotive and defense projects and artificially generated FSMs, all variants are compared with a baseline strategy based on an established N-switch coverage concept modification. Various properties of the generated test paths and their potential to activate fictional defects defined in FSMs are evaluated. The presented strategy outperforms the baseline in most problem configurations. Out of the six analyzed variants, three give the best results even though a universal best performer is hard to identify. Depending on the application of the FSM, the strategy and evaluation presented in this paper are applicable both in testing functional and non-functional software requirements.
📄 Content
**모델 기반 테스트(MBT)**는 테스트 대상 시스템의 일부가 **유한 상태 기계(FSM)**의 특성을 가지고 있을 때 효과적인 테스트 접근법이다. 기존 문헌에서는 이와 관련된 다양한 전략이 제시되어 왔지만, 특수한 테스트 상황을 다루는 연구는 아직 부족한 실정이다. 특히 다음과 같은 세 가지 요구 사항이 동시에 충족되어야 하는 경우가 실제 산업 현장에서 자주 발생한다.
- 테스트 경로는 FSM의 정의된 상태에서만 시작하고 종료할 수 있다.
- 우선순위 부여 메커니즘이 필요하며, 이 메커니즘은 테스트 케이스가 반드시 정의된 상태와 전이만을 방문하도록 강제한다.
- 테스트 경로의 길이는 일정한 고정 길이가 아니라, 사전에 지정된 길이 구간(예: 최소 L₁, 최대 L₂) 안에 들어야 한다.
위 세 조건이 동시에 적용되는 상황은 실제 산업 현장에서 매우 실용적이며, 기존의 일반적인 MBT 기법들로는 충분히 만족시키기 어렵다. 본 논문은 이러한 복합 요구 사항을 모두 충족할 수 있는 테스트 생성 전략을 제시한다.
제안된 전략의 핵심 아이디어
- 시작·종료 상태 제한: FSM의 모든 상태 중 테스트가 허용된 시작·종료 상태 집합 S_start, S_end를 사전에 정의하고, 경로 탐색 단계에서 이 집합 외의 상태로는 진입하거나 종료하지 못하도록 제약한다.
- 우선순위 기반 전이 선택: 각 전이 e에 대해 우선순위 점수 p(e) 를 부여하고, 테스트 케이스가 가능한 한 높은 점수를 가진 전이들을 우선적으로 포함하도록 경로를 구성한다. 이때 우선순위는 “정의된 상태·전이만을 방문한다”는 제약과 동시에 만족해야 한다.
- 길이 구간 제어: 경로 생성 과정에서 현재까지 누적된 길이 l을 추적하고, l이 최소 길이 L_min 보다 작을 경우에는 추가 전이를 강제하고, l이 최대 길이 L_max 에 도달하면 더 이상 전이를 확장하지 않도록 한다. 이렇게 하면 경로 길이가 사전에 지정된 구간 [L_min, L_max] 내에 반드시 들어가게 된다.
구현을 위한 여섯 가지 알고리즘 변형
본 논문에서는 위 전략을 구현하기 위해 여섯 가지 가능한 알고리즘 변형을 설계하였다. 각 변형은 탐색 방법(깊이 우선 탐색, 너비 우선 탐색, 휴리스틱 기반 탐색 등)이나 우선순위 점수 계산 방식(정적 가중치, 동적 가중치, 혼합 가중치) 등에 차이를 두었다. 구체적인 변형은 다음과 같다.
- DFS‑Static‑Priority: 깊이 우선 탐색(DFS)과 정적 우선순위 점수를 결합한 기본형.
- BFS‑Dynamic‑Priority: 너비 우선 탐색(BFS)과 실행 중에 변하는 동적 우선순위 점수를 사용.
- A‑Hybrid‑Priority*: A* 탐색에 휴리스틱 함수와 혼합형 우선순위 점수를 적용.
- Greedy‑Static‑Priority: 현재 단계에서 가장 높은 점수를 가진 전이만을 선택하는 탐욕적 방법.
- Iterative‑Deepening‑Dynamic‑Priority: 반복적 깊이 증가 기법과 동적 우선순위 점수를 결합.
- Genetic‑Hybrid‑Priority: 유전 알고리즘을 이용해 여러 경로 후보를 동시에 진화시키며, 우선순위 점수를 적합도 함수에 포함.
실험 설계 및 평가 방법
실험은 실제 자동차 및 방위 산업 프로젝트에서 수집한 180개의 문제 인스턴스와 인공적으로 생성한 FSM들을 혼합하여 수행하였다. 각 인스턴스는 다음과 같은 특성을 가진다.
- 상태 수 |S| : 10 ~ 500개
- 전이 수 |T| : 20 ~ 2000개
- 정의된 시작·종료 상태 비율 : 5 % ~ 30 %
- 우선순위 가중치 분포 : 균등, 정규, 지수형
각 알고리즘 변형은 기존의 N‑스위치 커버리지(N‑switch coverage) 개념을 변형한 베이스라인 전략과 비교하였다. 베이스라인은 “모든 전이를 N번씩 방문한다”는 전통적인 목표를 갖지만, 시작·종료 상태 제한이나 길이 구간 제어와 같은 추가 제약은 고려하지 않는다.
비교 지표는 크게 두 범주로 나뉜다.
생성된 테스트 경로의 특성
- 평균 경로 길이, 최소·최대 길이, 길이 분산
- 상태·전이 커버리지 비율(예: 90 % 커버리지 달성 여부)
- 우선순위 점수 총합 및 평균 점수
가상의 결함(Defect) 활성화 능력
- FSM에 삽입된 가상의 결함(예: 특정 전이 누락, 상태 전이 오류) 수 N_defect 에 대해, 각 테스트 세트가 발견한 결함 수 N_detected 를 측정
- 결함 발견률 (N_detected / N_defect) 과 결함 탐지 시간(시뮬레이션 단계)
실험 결과 요약
- 전반적인 성능: 제안된 여섯 변형 모두 베이스라인보다 높은 결함 발견률을 보였으며, 특히 길이 구간 제한을 만족하면서도 높은 우선순위 전이를 포함하는 경로를 생성하는 데 성공하였다.
- 최고 성능 변형: 변형 3(A*‑Hybrid‑Priority)와 변형 6(Genetic‑Hybrid‑Priority)는 대부분의 문제 인스턴스에서 **최고의 결함 발견률(≈ 87 % ~ 94 %)**을 기록하였다. 변형 2(BFS‑Dynamic‑Priority) 역시 안정적인 성능을 보여, 특히 상태 수가 300개 이상인 대규모 FSM에서 우수한 결과를 나타냈다.
- 베이스라인 대비 개선: 평균 결함 발견률은 베이스라인(≈ 68 %)에 비해 최소 +12 % ~ +26 %까지 향상되었다. 또한, 경로 길이 구간을 만족시키는 비율은 100 %였으며, 이는 베이스라인이 종종 길이 초과 혹은 미달 문제를 일으켰던 것과 대조적이다.
- 알고리즘 선택 가이드: 변형 1과 4는 구현이 간단하고 실행 시간이 짧지만, 복잡한 우선순위 구조가 있는 경우 성능이 다소 떨어졌다. 반면 변형 5는 메모리 사용량이 크게 증가하지만, 매우 제한된 길이 구간(L_max – L_min ≤ 5)에서 최적의 경로를 찾는 데 강점이 있었다.
결론 및 적용 가능성
본 논문에서 제시한 동시 다중 제약을 만족하는 테스트 생성 전략은 실제 산업 현장에서 요구되는 복합적인 테스트 요구를 효과적으로 해결한다. 특히 다음과 같은 두 가지 영역에서 활용 가능성이 크다.
- 기능 요구사항 테스트: FSM이 시스템의 기능 흐름을 모델링한 경우, 정의된 시작·종료 상태와 우선순위 전이를 통해 핵심 기능 시나리오를 집중적으로 검증할 수 있다.
- 비기능 요구사항 테스트: 예를 들어, 실시간 시스템에서 “특정 상태에 도달하는 데 걸리는 사이클 수”와 같은 비기능 제약을 길이 구간으로 표현하면, 제안된 전략을 그대로 적용해 타이밍 관련 결함을 효과적으로 탐지할 수 있다.
따라서, 본 논문에서 제안하고 실험을 통해 검증한 전략과 그 변형 알고리즘들은 자동차, 방위, 항공, 임베디드 시스템 등 다양한 도메인에서 기능적·비기능적 소프트웨어 요구사항을 테스트하는 데 유용하게 적용될 수 있다. 앞으로의 연구에서는 동적 우선순위 학습(예: 강화학습 기반)과 다중 목표 최적화(예: 커버리지와 비용을 동시에 최소화) 등을 결합하여, 더욱 자동화되고 확장 가능한 MBT 프레임워크를 구축하는 방향으로 나아갈 수 있을 것이다.