One testing approach that is well-suited for the reactive
systems found in telephone switching systems is specification-based
testing.
We have built a set of tools to automatically test software
applications for violations of safety properties expressed in temporal
logic. Our testing system automatically constructs finite state machine
oracles corresponding to safety properties, builds test harnesses, and
integrates them with an application. The test harness then generates
inputs automatically to test the application.
We also conducted a study examining the feasibility of this
approach for testing industrial applications. To do this study we
formally modeled an Automatic Protection Switching system (APS), which
is an application common to many telephony systems. We then asked a
number of computer science graduate students to develop several
versions of the APS and use our tools to test them. We found that the
tools are very effective, save significant amounts of human effort (at
the expense of machine resources), and are easy to use.
Through this study we identified improvements that were
needed in order to use the tools with professional developers building
commercial products. We are now working with an industrial partner to
use this system as part of a commercial software development.
See Jangadeesan et al [1] and [2] for more details.
|