Petri Nets 기반 자동 테스트 케이스 생성
초록
본 논문은 구조적·행위적 UML 다이어그램을 고수준 Petri Net(HLPN)으로 통합 모델링하고, 이를 기반으로 테스트 모델을 자동 생성하여 일관된 테스트 케이스를 도출하는 방법을 제시한다.
상세 분석
이 연구는 소프트웨어 테스트의 핵심인 테스트 케이스 생성 과정을 모델 기반 자동화로 전환하는 데 초점을 맞춘다. 기존 방법들은 구조적 다이어그램(클래스, 컴포넌트)과 행위적 다이어그램(시퀀스, 상태도)을 별도로 다루어 모델 간 일관성 확보에 어려움을 겪었다. 논문은 이러한 문제를 고수준 Petri Net(HLPN)이라는 통합 포멀 모델에 두 종류의 UML 다이어그램을 매핑함으로써 해결한다. 구조적 요소는 토큰의 색(color)과 데이터 타입으로, 행위적 전이는 트랜지션과 아크로 표현되어 시스템의 정적·동적 특성을 동시에 포착한다. 변환 과정은 메타모델 기반 매핑 규칙을 정의하고, 자동 변환 툴체인을 구현해 UML 모델을 HLPN으로 변환한다. 변환 후 생성된 HLPN은 토큰 흐름 분석, 커버리지 계산, 경로 추출 등의 정형 기법을 적용해 테스트 모델을 자동 생성한다. 특히, 트랜지션 커버리지와 토큰 색 커버리지를 결합한 복합 커버리지를 사용해 테스트 케이스의 완전성을 평가한다. 실험에서는 중간 규모의 사례 시스템을 대상으로 변환 정확도와 테스트 케이스 효율성을 검증했으며, 기존 수동 설계 대비 테스트 케이스 수는 30 % 이상 감소하고, 결함 탐지율은 유지되거나 향상되는 결과를 보였다. 또한, 모델 일관성 검증 메커니즘을 도입해 UML과 HLPN 사이의 불일치를 자동으로 탐지하고 수정 제안을 제공한다. 이와 같은 접근은 테스트 자동화 비용 절감, 요구사항 추적성 강화, 그리고 형식 검증을 통한 품질 향상을 동시에 달성한다는 점에서 의의가 크다. 다만, 변환 규칙의 복잡성, 대규모 시스템에서의 상태 폭발 문제, 그리고 HLPN 실행 엔진의 성능 한계 등 몇 가지 한계점도 논의된다. 향후 연구에서는 계층적 Petri Net 모델링, 분산 테스트 생성, 그리고 머신러닝 기반 커버리지 최적화 기법을 결합해 확장성을 높이는 방안을 제시한다.
댓글 및 학술 토론
Loading comments...
의견 남기기