UML based Regression Testing for OO Software

N. Mansour and H. Takkoush (Lebanon)


Design-level testing, object-oriented regression testing, regression test selection.


The goal of regression testing is to ensure that modifications have not adversely affected the system. Regression test selection determines a subset of test cases, from the initial test suite, that concentrates on the parts of the system affected by the modification. Previous techniques have been mainly code-based and most of them have addressed procedural programs. When working with large and complex object oriented systems, source code-based regression testing is quite costly. This paper proposes a programming-language-independent technique for regression test selection for object oriented software based on Unified Modeling Language (UML 2.0) design diagrams. These diagrams are: the newly introduced interaction overview diagram, class diagrams, and sequence diagrams. We assume a test suite that contains both unit and system test cases. Based on the software changes reflected in the class and the interaction overview diagrams, our proposed technique selects test cases in phases. In the first phase, we detect the changed methods in the class diagram. Then, we select both unit and system test cases that directly traverse the changed methods and those methods that have dependency relationship with them. For the second phase, we present algorithms for detecting system level changes in the interaction overview diagram. If the change is at the action level, which is represented by a sequence diagram, only the test cases that execute changed methods will be selected.

Important Links:

Go Back