PTSG: a test generation tool based on extended finite state machine
The Extended Finite State Machine (EFSM) is one of the most popular modeling approaches for model-based testing. However, EFSM-based test case generation is susceptible to the infeasible (inexecutable) path problem, which stems from the conflict of predicates (guards) between transitions in the path. Therefore, in order to derive feasible test cases, a test generation algorithm needs to dynamically acquire information about the model and verify the feasibility of the generated test path through the simulation execution of the model. The traditional method of constructing executable models using hard-coding for different EFSM models under test has limitations such as inflexibility, time-consuming and error-prone. To address this issue, this paper develops an open source test generation tool for testing EFSM-specified systems, PTSG, to support the automatic generation of executable test cases. It decouples the EFSM model description, parsing and simulation execution functions from the test generation algorithm, which can effectively improve the efficiency and quality of test generation. In particular, PTSG first uses a well-designed JSON syntax to describe the specific EFSM under test. Then, based on the model description file, it uses lexical and syntactic parsers to dynamically extract model information to construct various model objects in memory such as state configurations, transitions, etc. Finally, the tool provide a series of service interfaces to support model information acquisition, transition feasibility evaluation, and model simulation execution. A case study of test sequence generation for the SCP protocol model demonstrates the capability and promise of the PTSG to serve executable test cases.
READ FULL TEXT