비관적 테스트 커버리지 보장 기반 검증
본 논문은 비결정론적 사양에 대한 테스트에서, 테스트가 진행될 수 있는 한계가 명확히 보장될 때만 진행하도록 하는 ‘비관적 테스트’ 전략을 제안한다. 하이퍼그래프 모델을 이용해 현재 상태의 도달 가능성을 평가하고, 도달 가능한 경우 최소 순위의 자극을 선택해 상태를 점진적으로 마킹한다. 순위는 감소만 가능하므로, 효율적인 증감 알고리즘을 통해 전체 복잡도를 크게 낮출 수 있다. 실험 결과는 마이크로소프트 Hypervisor의 기능 사양 검증에 …
저자: ** Ernie Cohen (Microsoft) **
Ernie Cohen이 2018년 10월에 발표한 “Pessimistic Testing” 논문은 비결정론적 사양을 가진 시스템의 테스트 효율성을 극대화하기 위한 새로운 접근법을 제시한다. 전통적인 테스트 방법은 시스템이 사양에 정의된 모든 전이를 공정하게 수행한다는 가정 하에, 미리 계산된 상태 탐색 경로를 따라 테스트를 진행한다. 그러나 실제 구현에서는 특정 전이가 거의 발생하지 않거나 불가능할 수 있다. 이러한 상황에서 기존 방법은 불필요한 테스트 사이클을 소모하고, 전체 커버리지를 저하시키는 문제가 있다.
이를 해결하기 위해 저자는 테스트 과정을 ‘게임’ 형태로 모델링하고, 하이퍼그래프라는 데이터 구조를 도입한다. 하이퍼그래프는 정점(시스템 상태)과 하이퍼엣지(테스트 자극)로 구성되며, 각 엣지는 하나의 헤드 정점과 다수의 테일 정점 집합을 가진다. 헤드는 현재 상태에서 자극을 적용할 수 있는 지점을 의미하고, 테일은 자극에 의해 시스템이 전이될 수 있는 가능한 다음 상태들을 나타낸다. 테스트 진행 중에 처음 방문한 정점은 ‘마크’되며, 이를 추적하기 위해 각 정점에 빈 테일을 갖는 트리비얼 엣지를 추가한다. 테스트가 진행될 때, 테스터는 현재 정점에 인접한 엣지를 선택하고, 시스템은 그 엣지의 테일 중 하나를 실제 다음 상태로 선택한다. 새로운 정점이 처음 마크되면 커버리지가 1 증가한다.
핵심 아이디어는 ‘도달 가능성’과 ‘순위(rank)’ 개념이다. 엣지는 모든 테일 정점이 도달 가능할 때 도달 가능하고, 정점은 하나 이상의 도달 가능한 엣지가 있으면 도달 가능하다. 순위는 재귀적으로 정의되며, 엣지의 순위는 테일 정점들의 최대 순위(테일이 비어 있으면 0), 정점의 순위는 도달 가능한 엣지 중 최소 순위에 1을 더한 값이다. 순위는 0에서 시작해 감소만 가능하므로, 현재 정점이 도달 가능하면 테스트 담당자는 최소 순위의 엣지를 선택한다. 이 전략은 시스템을 더 낮은 순위의 상태로 이동시키거나, 아직 마크되지 않은 정점을 마크하게 만든다. 순위가 0에 도달하면 반드시 새로운 정점이 마크되므로, 테스트 커버리지가 증가한다는 보장이 있다. 또한 이 전략은 최적이라고 증명되며, 다음 마크까지 필요한 이동 횟수의 상한을 최소화한다.
알고리즘 구현 측면에서 저자는 기존의 감소형 하이퍼그래프 도달 가능성 유지 알고리즘(
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기