Abstract
We present a novel regression test selection approach based on analysis of state and dependence models of components. Our technique targets to select a smaller regression test suite compared to the pure dependence-based RTS approaches while maintaining the fault revealing effectiveness. In our approach, after a modification, control and data dependencies are analyzed to identify the potentially affected statements. Subsequently, the state model of the component is analyzed to compute a precise publishable change information to support efficient regression test selection by the application developers.
Highlights
A component is an implementation of a cohesive group of reusable services in a single executable unit
Interface Dependence Graph (InDG) consists of an interface entry vertex which is connected to its abstract methods via abstract member edges
If an equivalent pair is found, the flag selected is made true in line 7 to indicate that ti covers an affected transition in that case, control jumps out from the two nested loops and in line 16 the test case ti is included into Trts
Summary
A component is an implementation of a cohesive group of reusable services in a single executable unit. For component-based software, traditional RTS techniques are difficult to use because the application developers do not have the source code for analyzing the change impact, neither can they obtain coverage data of the test suite through code instrumentation. A pure dependence-based technique such as [7] selects test cases which invoke one or more component methods that have been found affected by dependence analysis. Redundant test cases might get selected which invoke affected methods but do not execute affected statements In this context, we propose an RTS technique in which, after identifying the affected statements by dependence analysis, the state model of the component is analyzed to identify the transitions that may cause execution of the affected statements.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.