{"title":"类测试对面向对象程序可靠性的影响","authors":"Mei-Hwa Chen, H. M. Kao","doi":"10.1109/ISSRE.1997.630876","DOIUrl":null,"url":null,"abstract":"Although object-oriented programming has been increasingly adopted for software development and many approaches for testing object-oriented programs have been proposed, the issue of reliability of object-oriented programs has not been explored. The objective of this study was to investigate the effectiveness of class testing from the perspective of reliability. The experiments in this study involved testing and measuring the reliability of a C++ program and a Java program. We introduced a class testing technique that exploits the function dependence relationship to reduce the testing effort in subclass testing and in testing polymorphism without degrading the reliability of object-oriented programs. In subclass testing, the impact of function dependence class testing on reliability was compared with two other techniques: exhaustive class testing, which flattens every class and tests every function in the class; and minimal class testing, which tests only new and re-defined functions. The results show that function dependence class testing preserves the same level of program reliability as does exhaustive class testing, while the effort is significant reduced. In polymorphism testing, we conducted an experiment to observe the relationship between the binding coverage and the reliability of the program. The results suggest that testing possible bindings is necessary, and using the function dependence relationship to determine which bindings to cover in testing is sufficient.","PeriodicalId":170184,"journal":{"name":"Proceedings The Eighth International Symposium on Software Reliability Engineering","volume":"24 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1997-11-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":"{\"title\":\"Effect of class testing on the reliability of object-oriented programs\",\"authors\":\"Mei-Hwa Chen, H. M. Kao\",\"doi\":\"10.1109/ISSRE.1997.630876\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Although object-oriented programming has been increasingly adopted for software development and many approaches for testing object-oriented programs have been proposed, the issue of reliability of object-oriented programs has not been explored. The objective of this study was to investigate the effectiveness of class testing from the perspective of reliability. The experiments in this study involved testing and measuring the reliability of a C++ program and a Java program. We introduced a class testing technique that exploits the function dependence relationship to reduce the testing effort in subclass testing and in testing polymorphism without degrading the reliability of object-oriented programs. In subclass testing, the impact of function dependence class testing on reliability was compared with two other techniques: exhaustive class testing, which flattens every class and tests every function in the class; and minimal class testing, which tests only new and re-defined functions. The results show that function dependence class testing preserves the same level of program reliability as does exhaustive class testing, while the effort is significant reduced. In polymorphism testing, we conducted an experiment to observe the relationship between the binding coverage and the reliability of the program. The results suggest that testing possible bindings is necessary, and using the function dependence relationship to determine which bindings to cover in testing is sufficient.\",\"PeriodicalId\":170184,\"journal\":{\"name\":\"Proceedings The Eighth International Symposium on Software Reliability Engineering\",\"volume\":\"24 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1997-11-02\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"14\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings The Eighth International Symposium on Software Reliability Engineering\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ISSRE.1997.630876\",\"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 The Eighth International Symposium on Software Reliability Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISSRE.1997.630876","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Effect of class testing on the reliability of object-oriented programs
Although object-oriented programming has been increasingly adopted for software development and many approaches for testing object-oriented programs have been proposed, the issue of reliability of object-oriented programs has not been explored. The objective of this study was to investigate the effectiveness of class testing from the perspective of reliability. The experiments in this study involved testing and measuring the reliability of a C++ program and a Java program. We introduced a class testing technique that exploits the function dependence relationship to reduce the testing effort in subclass testing and in testing polymorphism without degrading the reliability of object-oriented programs. In subclass testing, the impact of function dependence class testing on reliability was compared with two other techniques: exhaustive class testing, which flattens every class and tests every function in the class; and minimal class testing, which tests only new and re-defined functions. The results show that function dependence class testing preserves the same level of program reliability as does exhaustive class testing, while the effort is significant reduced. In polymorphism testing, we conducted an experiment to observe the relationship between the binding coverage and the reliability of the program. The results suggest that testing possible bindings is necessary, and using the function dependence relationship to determine which bindings to cover in testing is sufficient.