Software testing is one of the most important area in computer science and engineering. For years, with the development of the theory and technology of software testing, it has become the key process to enhance the quality of software system.Statechart is used to model a complex software system and it adds communication and inherit mechanism based on finite state system. Many tools such as Unified Model Language which is used in software analysis and design have accepted this concept . Using statechart to model a system may avoid state explosion problem during software analysis and design process, but when it goes to test a system, the problem still exists. What's more, whether a test case is executable is another important problem of software testing.This paper proposes state constraint mechanism to tackle the state explosion problem and combine data flow method and control flow method to tackle the test case executable problem.. First, it introduces the present technology to test a concurrent software sysem. Then, it defines the state constraint mechanism which is very effective to tackle the state explosion problem. To assemble the statechart, this paper defines the Annotated Extended Finite Machine which records the necessary information used in integrating testing. Furthermore, this paper abandons the transition which will makes the test sequence unexecutable. Finally, we combine data flow method and control flow method to produce test cases. This method can effectively solve the test case executable problem. |