Specification-based regression test suite generation and reduction

During maintenance of evolving software systems, regression testing is crucial for confinning that the unchanged parts of the system have not been adversely affected by the modifications on the system specification and implementation. It is time- and resource-consuming, especially for large software...

Full description

Bibliographic Details
Main Author: Chen, Yanping
Format: Others
Language:en
Published: University of Ottawa (Canada) 2013
Subjects:
Online Access:http://hdl.handle.net/10393/29930
http://dx.doi.org/10.20381/ruor-13218
Description
Summary:During maintenance of evolving software systems, regression testing is crucial for confinning that the unchanged parts of the system have not been adversely affected by the modifications on the system specification and implementation. It is time- and resource-consuming, especially for large software systems. Much attention has been paid to the regression testing area in recent years. Most regression testing techniques are code-based. There exists limited research on requirement-based regression testing techniques. In our research, we are interested in model-based regression testing techniques. Model-based testing involves, among other activities, test generation, execution, and evaluation using software models [Binder 00]. Some such models are given in format description languages, e.g., Extended Finite State Machine (EFSM) models. In this thesis, we present two regression testing techniques, a regression test suite (RTS) generation method (RTSG method), and a regression test suite reduction method (RTSR method). Both methods are based on EFSM dependence analysis. The RTSG method generates regression test cases to construct a regression test suite instead of selecting test cases from an existing test suite. The RTSR method is an extension to an existing requirement-based regression test suite reduction approach presented in [Korel+02] and [Xie 05]. In this thesis, based on [Kore1+02] and [Xie 05], twelve types of dependencies are identified related to three types of elementary modifications (EMs), i.e., adding, deleting, and changing transitions in an EFSM model representing an SUT. These dependencies capture the effects of the model on the EMs, the effects of the EMs on the model, and the side-effects of the EMs. The proposed RTSG method constructs an RTS by covering all occurrences of these dependencies caused in a given EFSM model by a given set of EMs. Given an EFSM representing the requirements of a system under test (SUT) and a set of EMs on the EFSM, interaction patterns are identified related to each type of EMs, i.e., adding, deleting, and changing transitions in the EFSM. These interaction patterns capture the effects of the model on the EMs, the effects of the EMs on the model, and the side-effects of the EMs. The proposed RTSR method reduces the size of a given RTS by examining interaction patterns covered by each test case in the given RTS. In this thesis, we also propose algorithms to obtain these dependencies; to generate potential interactions with respect to an EM; to generate a regression test suite; and to reduce a given regression test suite. To show the effectiveness of the proposed RTSG and RTSR methods, we conducted case studies on seven EFSM models including an EFSM model representing an ffiM product feature. Thee studies were done on each EFSM model.