Modern embedded software is often quite complex for testing interactions among tasks, and it is desirable to automate testing process as much as possible for cost effective testing. In this dissertation, we demonstrate how to automatically generate test cases from a set of scenarios by constructing a semantically equivalent global behavior model. We separately describe internal interactions of each external input event using Message Sequence Charts (MSCs). Since brute-force approach to translate MSCs into a finite state machine (FSM) results in a large number of states and transitions, we propose a state-reduced FSM, global FSM (GFSM), by encoding the possible configurations of system into states.
When scenarios are to be executed concurrently, as is often the case for embedded software, the number of transitions grows too quickly for the approach to remain practical. In this dissertation, we demonstrate that partial order reduction technique is useful in reducing the number of transitions. We illustrate how to identify a sequence of message exchanges, independent region, that are semantically equivalent. When concurrent messages are interleaved, the number of transitions can be reduced by excluding the messages within the independent region.
Finally, test cases are generated from the GFSM to satisfy either the state- or transition-tour coverage criteria, and represented in terms of the required external events` sequences and internal interactions. We develop a software toolset, a graphical MSCs editor and test case generator, to automatically generate test cases. We have successfully applied the proposed approach to specify a major portion of software requirements running on a digital TV.
최근에는 많은 내장 소프트웨어들이 다수의 병행 수행하는 태스크들로 구성되기 때문에, 태스크들 사이의 상호작용이 올바르게 일어나고 있는지를 보이는 태스크 통합 테스팅을 어렵게 하고 있다. 본 논문에서는 메시지 순서도를 이용하여 내장 소프트웨어의 특성에 맞게 상호작용을 기술하고, 작성된 시나리오 명세로 부터 테스트 케이스를 자동으로 생성하는 방법을 제안한다. 먼저 작성된 시나리오 명세들을 합성하여 하나의 전체 행위 모델 (GFSM)을 만드는데, 명세의 위치정보 대신 상태변수 값을 이용함으로써 GFSM의 상태 수를 줄이도록 한다.
이렇게 하더라도 내장 소프트웨어가 여러 외부 입력 사건들을 동시에 처리하는 상황을 표현하고 있는 병렬 시나리오들을 합성하게 되면, GFSM의 전이 수가 급격히 늘어나게 된다. 따라서, 본 논문에서는 전이 수를 줄이기 위한 방법으로 부분 순서 관계를 적용한다. GFSM의 행위에 영향을 미치지 않는 독립적인 전이들 중에서 대표적인 하나만을 선정함으로써 전체 전이 수를 줄일 수 있는데, 본 눈문에서는 명세의 정적 분석을 통해 이러한 전이들을 구한다.
최종 테스트 케이스는 GFSM에 상태 순회나 전이 순회를 적용하여 생성할 수 있고, 생성된 테스트 케이스는 내장 소프트웨어의 특성을 고려하여 외부 입력 사건들과 내부 상호작용의 시퀀스로 표현된다. 자동화된 통합 테스팅 환경을 지원하는 도구를 구현하였는데, 이는 MSCs 에디터와 테스트 생성기로 구성되어 있다. 우리는 제안된 방법을 디지털 TV 소프트웨어의 명세와 태스크 통합 테스팅에 적용하여 효용성을 보였다.