The rapid development of object-oriented software technology makes new challenges to object-oriented software testing, especially to object-oriented integration testing. Object-oriented integration testing emphasizes on the problems such as whether the performances of the activating methods are right and whether the order of methods or messages is legal. MM Path, Method/Message Path, is a sequence of method executions linked by messages, which can solve theses problems above well. Thus this thesis researches on object-oriented integration testing based on MM path, and this work has significant theory meanings and broad application outlooks.After systematically summarizing the relevant research based on object-oriented integration testing and MM path; this thesis does classification research to MM path from the reason of producing MM path, the effect scope of MM path and the structure of MM path; carries out an formalized representation of MM path to support integration testing based on MM path.Generation of MM path is a key to integration testing based on MM path. This thesis obtains relevant information about branch and call of program code, through the analysis of morphology and grammar, and realizes the auto-generation of MM path. Besides, the thesis researches on the generation of MM path based on UML specification. A method to generate atomic MM path form UML statechart diagram has been put forward, which uses message response table to record interactive information of object-oriented system. This work makes a solid foundation for object-oriented integration testing research based on MM path.Criterion of test coverage decides how to generate test cases and when to stop testing. The thesis puts forward criterion of MM path coverage, and compares it with criteria based on the UML statechart diagram, such as criterion of state coverage, criterion of transition coverage, and criterion of transition-pairs coverage. On the basis of that, this thesis puts forward a test generation method based on MM path coverage, which performs the state recognition and generation for test, through stubbing state observation function and state preset function. This method can efficiently test interchange information of methods inside a class. |