  Cyber-Physical Systems (CPSs) play a central role in the behavior of a wide
range of autonomous physical systems such as medical devices, autonomous
vehicles, and smart homes, many of which are safety-critical. CPSs are often
specified iteratively as a sequence of models at different levels that can be
tested via simulation systems at early stages of their development cycle. One
such model is a hybrid automaton; these are used frequently for CPS
applications and have the advantage of encapsulating both continuous and
discrete CPS behaviors. When testing CPSs, engineers can take advantage of
these models to generate test cases that target both types of these behaviors.
Moreover, since these models are constructed early in the development process
for CPSs, they allow test cases to be generated early in that process for those
CPSs, even before simulation models of the CPSs have been designed. One
challenge when testing CPSs is that these systems may operate differently even
under an identically applied test scenario. In such cases, we cannot employ
test oracles that use predetermined deterministic behaviors; instead, test
oracles should consider sets of desired behaviors in order to determine whether
the CPS has behaved appropriately. In this paper we present a test case
generation technique, HYTEST, that generates test cases based on hybrid models,
accompanied by appropriate test oracles, for use in testing CPSs early in their
development cycle. To evaluate the effectiveness and efficiency of HYTEST, we
conducted an empirical study in which we applied the technique to several CPSs
and measured its ability to detect faults in those CPSs and the amount of time
required to perform the testing process. The results of the study show that
HYTEST was able to detect faults more effectively and efficiently than the
baseline techniques we compare it to.
