Skip to Main Content
Specification-based testing of concurrent software systems always faces strong challenges. One main reason is that there exists nondeterminism in both the specifications and the corresponding programs. For this reason, it is not easy to generate test cases on the basis of a specification, the execution of a test case may not follow a specification trace (or scenario) as expected, and the testing result may be different from the expected one. This paper describes an approach to using SOFL specifications to test concurrent software systems. SOFL is one of the few specification languages supporting incorporating formal descriptions into the practical specification construction process. SOFL specification integrates data f low diagrams, Petri nets and VDM-SL. The approach proposed in this paper advocates the idea of selecting from a formalized data f low diagram of a SOFL specification a set of specification traces based on which test cases can be generated. We also discuss in this paper the testing strategies, coverage criteria, and method for testing of concurrent software systems, and describe an example of generation of test cases for an online shopping system in order to demonstrate the usability of the approach in practice.