With the OMG organization accepting the UML as a standard modeling language which based on object-oriented technology, it is used by many software systems as a specification language during analyzing and designing.Meanwhile, UML model diagrams also became the basis for software testing.UML class diagram describes the classes and their mutual relationships in object-oriented systems; UML state diagram describes the changes of behavior and state of the objects in its life cycle; UML sequence diagram is used for describing the dynamic interaction between objects, focusing on reflecting the chronological order of message transmission between objects; UML activity diagram displays the action process and its results ,it also can be described the behavior of operations and work process in the object.Program slicing is to analyze and understand the program by calculating the program's slice of the points of each interest. This paper expands program slicing, which use the UML diagrams as a slice object. For example, the slicing criterion of a UML class diagram is <D,C>, where D is a subgraph of the UML diagram, and C is the corresponding class. Regression testing is to test new errors introduced after modifing the software. Through the slicing of UML diagrams, it is easy to get the UML diagrams which are relation to the modifid UML diagrams, and get the test set and test sequences of regression testing.This paper focuses on combining the UML diagram and slicing technique to apply them to regression testing.First the status information of UML state diagram joining the UML sequence diagram, forming sequential state diagram is proposed.This method solves the problems of condition and circulation in the test scenario generation effectively.Then, the sequential state diagram and improved activity diagram are defined formally, and test scenarios are generated according to the test coverage criteria and scenario generation algorithm. Online shopping examples and automatic drinking machine examples show that sequence-state diagram and improved activity diagram can increase the efficiency of regression testing. Then, the paper proposes that slicing the UML class diagrams and the UML state diagram with different granularities, and applied to regression testing, A coarse-grained slicing tool based on UML class diagram is presented in the in-class test,while a fine-grained slicing method based on UML state diagram is proposed in the between-class test. Finally, the sales order system examples show these above methods can improve the efficiency of regression testing effectively. |