Abstract:
Component-based software technology has been increasingly adopted in the development of large-scale and complex software systems. However, the testing problem induced by it hasn't been settled perfectly and is still one of the open issues in component-based software engineering (CBSE). Due to the lack of information about the constructs and changes in externally-provided components, system testers (i.e., component users) generally can't perform effective regression testing on their component-based software systems (CBSs). The ultimate reason is that they aren't able to select the proper test cases to retest the modification caused by the changes in component. Through analyzing the drawbacks of the existing regression testing techniques for CBSs, two improved strategies are proposed. One is based on the enhanced representation of change information of component version, and the other is implemented via the component built-in test design. Preliminary experiments have been employed on some medium scale systems, and experiment results show that the strategies of regression test case selection are feasible and effective in practice.