  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.
