{"title":"面向对象程序软件测试的逆向工程方法","authors":"D. Kung, P. Hsia","doi":"10.1109/ASSET.1999.756750","DOIUrl":null,"url":null,"abstract":"Object-oriented features such as encapsulation, inheritance, and state dependent behaviour raise new problems in software testing. In this paper, we describe a reverse engineering approach for software testing of object-oriented programs. The approach is based on a graphic model which consists of three types of diagram: object relation diagrams (ORD), block branch diagrams (BBD), and object state diagrams (OSD). An ORD presents the inheritance, aggregation, and association relations among the object classes. A BBD presents, for a member function, the control structure, the input parameters and output parameters, the external data that are used and affected, and other functions that are invoked. An OSD presents the states and state transitions. These diagrams are generated from C++/Java source code and may be used to 1) provide guidance on the order to test the classes and member functions; 2) prepare member function test cases; 3) prepare test cases for object state dependent behaviours and interaction between such behaviours; and 4) provide a graphic display of coverage information to a tester.","PeriodicalId":340666,"journal":{"name":"Proceedings 1999 IEEE Symposium on Application-Specific Systems and Software Engineering and Technology. ASSET'99 (Cat. No.PR00122)","volume":"85 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1999-03-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"A reverse engineering approach for software testing of object-oriented programs\",\"authors\":\"D. Kung, P. Hsia\",\"doi\":\"10.1109/ASSET.1999.756750\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Object-oriented features such as encapsulation, inheritance, and state dependent behaviour raise new problems in software testing. In this paper, we describe a reverse engineering approach for software testing of object-oriented programs. The approach is based on a graphic model which consists of three types of diagram: object relation diagrams (ORD), block branch diagrams (BBD), and object state diagrams (OSD). An ORD presents the inheritance, aggregation, and association relations among the object classes. A BBD presents, for a member function, the control structure, the input parameters and output parameters, the external data that are used and affected, and other functions that are invoked. An OSD presents the states and state transitions. These diagrams are generated from C++/Java source code and may be used to 1) provide guidance on the order to test the classes and member functions; 2) prepare member function test cases; 3) prepare test cases for object state dependent behaviours and interaction between such behaviours; and 4) provide a graphic display of coverage information to a tester.\",\"PeriodicalId\":340666,\"journal\":{\"name\":\"Proceedings 1999 IEEE Symposium on Application-Specific Systems and Software Engineering and Technology. ASSET'99 (Cat. No.PR00122)\",\"volume\":\"85 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1999-03-24\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings 1999 IEEE Symposium on Application-Specific Systems and Software Engineering and Technology. ASSET'99 (Cat. No.PR00122)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ASSET.1999.756750\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings 1999 IEEE Symposium on Application-Specific Systems and Software Engineering and Technology. ASSET'99 (Cat. No.PR00122)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ASSET.1999.756750","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A reverse engineering approach for software testing of object-oriented programs
Object-oriented features such as encapsulation, inheritance, and state dependent behaviour raise new problems in software testing. In this paper, we describe a reverse engineering approach for software testing of object-oriented programs. The approach is based on a graphic model which consists of three types of diagram: object relation diagrams (ORD), block branch diagrams (BBD), and object state diagrams (OSD). An ORD presents the inheritance, aggregation, and association relations among the object classes. A BBD presents, for a member function, the control structure, the input parameters and output parameters, the external data that are used and affected, and other functions that are invoked. An OSD presents the states and state transitions. These diagrams are generated from C++/Java source code and may be used to 1) provide guidance on the order to test the classes and member functions; 2) prepare member function test cases; 3) prepare test cases for object state dependent behaviours and interaction between such behaviours; and 4) provide a graphic display of coverage information to a tester.