| When a system under test is complex or contains a large number of concurrent behaviors, all these factors may cause the generated state space to be very large, and even cause state space explosion problem. In order to avoid traversing the entire state space, a new method is presented based on the combination of coloured petri net modeling and on-the-fly testing method to generate test cases. During this process, it is not necessary to explore the whole state space, but just a part of state space has to be traversed according to the tester personnel’s interest. In addition, test generation and test execution are carried out synchronously, that is tests are generated while they are executed, and this can further improve the efficiency of the test execution. The main research contents of the thesis are as follows:Firstly, the on-the-fly testing method is thoroughly studied. The synchronous product algorithm, the core algorithm in this method, is designed and implemented. In addition, the relevant test cases are designed to test the algorithm. Furthermore, the algorithm is compared with the existing implementation, and confirmed the advantages of the synchronous product algorithm proposed in this thesis in time complexity.Secondly, we analyze the testing tool TorX and T-UPPAAL in great depth, and particularly the working mechanism of their adapters base on the research work of the on-the-fly testing method. Then the adapter combining on-the-fly testing method with coloured petri net is designed and implemented.Thirdly, the student roll management system is tested using the on-the-fly testing method combined with coloured petri net. To begin with, the system model is built with hierarchy coloured petri net. Then, the designed adapter realizes the interaction with the system under test according to the implementation process of the on-the-fly testing method, and the test cases are generated and executed at the same time. Finally, the test results are analyzed and compared with the results obtained by the traditional testing method. |