ABSTRACT
Component-based software technology is expected to be an effective and widely used method of constructing software system. However, some specialties of component bring a great challenge for testing the systems built by externally-provided components, especially for regression testing. Built-in test design is a fairly effective way to improve component's testability. In this paper, we present an improved regression testing method based on built-in test design for component-based systems. It needs the mutual collaboration between the component developers and users. Component developers are responsible for analyzing the affected methods and constructing the corresponding testing-interfaces in the new component version, and then component users can conveniently pick out the subset of test cases for regression testing with these testing-interfaces. Through employing preliminary experiments on some medium scale systems, our regression testing method based on built-in test design has been proven to be fairly feasible and cost-effective in practice.
- Beydeda, S. and Gruhn, V. State of the art in testing components. In Proceedings of the 3rd International Conference on Quality Software (QSIC'03), IEEE Press, 2003, 146--153. Google ScholarDigital Library
- Liu, C. and Richardson, D. Software components with retrospectors. In Proceedings of International Workshop on the Role of Software Architecture in Testing and Analysis, 1998, 63--68.Google Scholar
- Edwards, S. H. A framework for practical, automated blackbox testing of component-based software. Software Testing, Verification and Reliability, Vol.11, No.2, 2001, 97--111.Google ScholarCross Ref
- Haddox, J. M., Kapfhammer, G. M. and Michael, C. C. An approach for understanding and testing third party software components. In Proceedings of Annual Reliability and Maintainability Symposium, IEEE Press, 2002, 293--299.Google ScholarCross Ref
- Orso, A., Harrold, M. J. and Rosenblum, D. Component metadata for software engineering tasks. In W. Emmerich and S. Tai (Eds.) The Second International Workshop Engineering Distributed Objects(EDO 2000), Davis, CA, USA, November 2000, Lecture Notes in Computer Science, Vol.1999, Berlin: Springer-Verlag, 2001, 126--140. Google ScholarDigital Library
- Beydeda, S. Research in testing COTS components-built in testing approaches. In Proceedings of the 3rd ACS/IEEE International Conference on Computer Systems and Applications, IEEE Press, 2005, 101--104. Google ScholarDigital Library
- Wang, Y., King, G. and Wickburg, H. A method for built-in tests in component-based software maintenance. In Proceedings of European Conference on Software Maintenance and Reengineering (CSMR '99), IEEE Press, 1999, 186--189. Google ScholarDigital Library
- Barbier, F. and Belloir, N. Component behavior prediction and monitoring through built-in test. In Proceedings of the 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS'03), IEEE Press, 2003, 17--22.Google ScholarCross Ref
- Gross, H. G., Atkinson, C. and Barbier, F. Component integration through built-in contract testing. In Proceedings of Component-Based Software Quality, Lecture Notes in Computer Science, Vol.2693, 2003, 159--183.Google ScholarCross Ref
- Mariani, L., Pezze, M. and Willmor, D. Generation of integration tests for self-testing components. In Proceedings of FORTE 2004 Workshops, Lecture Notes in Computer Science, Vol.3236, 2004, 337--350.Google ScholarCross Ref
- Wu, Y., Pan, D. and Chen, M. H. Techniques for testing component-based software. In Proceedings of the 7th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'01), IEEE Press, 2001, 222--232. Google ScholarDigital Library
- Sajeev, A. S. M. and Wibowo, B. Regression test selection based on version changes of components. In Proceedings of the 10th Asia-Pacific Software Engineering Conference (APSEC'03), IEEE Press, 2003, 78--85. Google ScholarDigital Library
- Harrold, M. J., McGregor, J. D., and Fitzpatrick, K. J. Incremental testing of Object-Oriented class structures. In Proceedings of 14th IEEE International Conference on Software Engineering (ICSE-14), IEEE Press, 1992, 68--80. Google ScholarDigital Library
- Yansheng Lu, Huping Zha, Liping Xu. PCCM: Performance-constraint component model. Computer Science, 31(5), 2004, 89--92. (in Chinese)Google Scholar
- Orso, A., Harrold, M. J., Rosenblum, D., Rothermel, G., Soffa M. L. and Do, H. Using component metacontent to support the regression testing of component-based software. In Proceedings of IEEE International Conference on Software Maintenance (ICSM'01), IEEE Press, 2001, 716--725. Google ScholarDigital Library
- Wu, Y. and Offutt, J. Maintaining evolving component-based software with UML. In Proceedings of the 7th European Conference on Software Maintenance and Reengineering (CSMR'03), IEEE Press, 2003, 133--142. Google ScholarDigital Library
- Mariani, L. and Pezze, M. A technique for verifying component-based software. Electronic Notes in Theoretical Computer Science, Vol.116, 2005, 17--30. Google ScholarDigital Library
- Pan, Y., Pan, D. and Chen, M. H. Slicing component-based systems. In Proceedings of the 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05), IEEE Press, 2005, 155--164. Google ScholarDigital Library
- Pour, G. (1998) 'Component-based software development approach: New opportunities and challenges', Proceedings of Technology of Object-Oriented Languages, pp.375--383 Google ScholarDigital Library
Index Terms
- Regression testing for component-based software via built-in test design
Recommendations
Automatic Selection of Test Cases for Regression Testing
SAST '16: Proceedings of the 1st Brazilian Symposium on Systematic and Automated Software TestingRegression testing is a safety measure to attest that changes made on a system preserve prior accepted behavior. Identifying which test cases must compose a regression test suite in a certain development stage is tricky, particularly when one only has ...
Dependent-test-aware regression testing techniques
ISSTA 2020: Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and AnalysisDevelopers typically rely on regression testing techniques to ensure that their changes do not break existing functionality. Unfortunately, these techniques suffer from flaky tests, which can both pass and fail when run multiple times on the same ...
Regression Testing for Component-based Software Systems by Enhancing Change Information
APSEC '05: Proceedings of the 12th Asia-Pacific Software Engineering ConferenceIn recent years, Component-based software has been widely used in various application domains and becomes a fairly popular software form. However, Due to the lack of information about the externallydeveloped components, system testers (i.e., component ...
Comments