Test Selection for Hierarchical and Communicating Finite State Machines
Florentin Ipate · The Computer Journal · 2008
State-based languages are widely used for modelling systems that have an internal state, such as communications protocols and embedded control systems. As testing is a vital part of system development, this has led to much interest in testing from finite state machines (FSMs). However, complex systems are seldom designed in one step; usually, the design is constructed gradually, through a process of refinement. In the case of state-based models, this may lead to a hierarchy of machines. Furthermore, some of the components of the hierarchy may exhibit concurrent behaviour. In this paper, we present a method for generating tests for a hierarchical FSM by reusing and refining the tests for the FSM components of the hierarchy. The method is also adapted for testing a system of communicating FSMs, in which the communication is one-directional, from one master to one or more slaves.