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.