TY - GEN
T1 - Construction of global finite state machine for testing task interactions written in message sequence charts
AU - Lee, Nam Hee
AU - Kim, Tai Hyo
AU - Cha, Sung Deok
PY - 2002
Y1 - 2002
N2 - Integration testing of embedded software is difficult because such software tends to be large and complex; it is often structured as a set of tasks whose interaction patterns can be arbitrary and nondeterministic; it is subject to frequent changes while being tested; and testing period must be minimized since the product's life-time is short. In order to conduct integration testing in a cost-effective manner, it is essential that requirements are captured in precise notation and that test cases are automatically generated and executed whenever possible. In this paper, we demonstrate how to generate test cases from a set of Message Sequence Charts (MSCs) by constructing a semantically equivalent global finite state machine (GFSM). Test cases are expressed as a sequence of messages to be exchanged among various system entities. When transforming complex and hierarchical MSCs to a GFSM, state explosion problem is often encountered. When constructing a GFSM, we achieved significant reduction in the number of states and transitions by generating only the feasible sequences. Such reduction was possible because embedded software we used as the case study, digital TV application software, had known and well-defined initial state. We developed a graphical toolset to edit MSCs and automatically generate test cases. Users describe the required functionalities in scenarios, and test cases are automatically generated from the GFSM according to the state and transition coverage criteria. We applied the proposed approach to specify and test a substantial portion of embedded software running on a digital TV and were able to detect an error, previously unknown to the developers, that occurred due to a subtle race condition among tasks.
AB - Integration testing of embedded software is difficult because such software tends to be large and complex; it is often structured as a set of tasks whose interaction patterns can be arbitrary and nondeterministic; it is subject to frequent changes while being tested; and testing period must be minimized since the product's life-time is short. In order to conduct integration testing in a cost-effective manner, it is essential that requirements are captured in precise notation and that test cases are automatically generated and executed whenever possible. In this paper, we demonstrate how to generate test cases from a set of Message Sequence Charts (MSCs) by constructing a semantically equivalent global finite state machine (GFSM). Test cases are expressed as a sequence of messages to be exchanged among various system entities. When transforming complex and hierarchical MSCs to a GFSM, state explosion problem is often encountered. When constructing a GFSM, we achieved significant reduction in the number of states and transitions by generating only the feasible sequences. Such reduction was possible because embedded software we used as the case study, digital TV application software, had known and well-defined initial state. We developed a graphical toolset to edit MSCs and automatically generate test cases. Users describe the required functionalities in scenarios, and test cases are automatically generated from the GFSM according to the state and transition coverage criteria. We applied the proposed approach to specify and test a substantial portion of embedded software running on a digital TV and were able to detect an error, previously unknown to the developers, that occurred due to a subtle race condition among tasks.
KW - integration testing
KW - message sequence charts
KW - task interaction
UR - http://www.scopus.com/inward/record.url?scp=77953748304&partnerID=8YFLogxK
U2 - 10.1145/568760.568825
DO - 10.1145/568760.568825
M3 - Conference contribution
AN - SCOPUS:77953748304
SN - 1581135564
SN - 9781581135565
T3 - ACM International Conference Proceeding Series
SP - 369
EP - 376
BT - Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering, SEKE '02
T2 - 14th International Conference on Software Engineering and Knowledge Engineering, SEKE '02
Y2 - 15 July 2002 through 19 July 2002
ER -