A test scenario approach to support regression testing
Software maintenance is a process of modifying delivered system due to a change in user requirements or other parts of software system. A system undergoing any modifications is seen to have a tendency to introduce new unintended errors into the program (Rajlich and Wilde, 2000). In order to alle...
Main Authors: | , , |
---|---|
Format: | Book Section |
Published: |
Penerbit UTM
2008
|
Subjects: |
_version_ | 1796855595275386880 |
---|---|
author | Ibrahim, Suhaimi Omar, Faizah Azmi, Azri |
author_facet | Ibrahim, Suhaimi Omar, Faizah Azmi, Azri |
author_sort | Ibrahim, Suhaimi |
collection | ePrints |
description | Software maintenance is a process of modifying delivered system due to a change in user requirements or other parts of software system. A system undergoing any modifications is seen to have a tendency to introduce new unintended errors into the program (Rajlich and Wilde, 2000). In order to alleviate these problems, regression testing is required as a process of retesting the software after modification. Regression testing is a process of testing changes to software programs to make sure that the previously run functionalities still work with the new changes. Regression testing activity is necessary at showing that the codes have not been unfavorably affected by changes, but on one hand, it is a costly and lengthy process (Soloway et at., 1988; Corbi, 1989). Common methods of regression testing include rerunning the entire batch of test cases previously run against the system is considerably laborious and costly. As such, a more acceptable solution is to be more selective when choosing the appropriate test cases for regression. Modified codes are usually retested with the test data sets previously used. Successful regression requires the retention and management of old test data sets throughout the software development life cycle. There are efforts of regression working on static analysis e.g. (Wilde and Casey, 1996; Ibrahim et al., 2005). They claim that their effort can minimize the complexity of testing and reduce time. We agree with the principle that regression testing by dynamic analysis produces an accurate result as it involves program execution (Rajlich and Wilde, 2000). Dynamic regression is preferable by many software engineers as it can traverse all the possible paths that the static analysis may miss. The only considerable initiative is how to manage the task with appropriate approach and tool supports. A test scenario approach that is being coined in this related work is Software Reconnaissance (Wilde and Casey, 1996). Reconnaissance technique was originally inspired by the industrial maintainers about the need for better ways to locate software features in large systems. It was a result of discussion and comments from the maintainers’ point of view in handling maintenance tasks as expressed by the Software Engineering Research Centre (SERC), an NSF supported consortium of universities and software organizations. However, the approach and implementation of reconnaissance techniques may vary depending on the problems and objectives being handled. In this paper, we would like to present our experience in using reconnaissance techniques and associated tools we developed at the Centre For Advanced Software Engineering, University of Technology, Malaysia. These tools were built to support maintainers locate parts of the code being impacted by each functional requirement. In other words, it helps maintainers identify those impacted code being executed by a concept or feature during test scenarios. Section 2 of the paper discusses the theoretical aspects of the concept location. Section 3 presents the software reconnaissance techniques. Software dependency and its related issues are discussed in Section 4 followed by a case study of OBA project in section 5. Section 6 highlights some results of the case study and discussion. Section 7 presents some related works followed by a conclusion. |
first_indexed | 2024-03-05T18:30:51Z |
format | Book Section |
id | utm.eprints-16754 |
institution | Universiti Teknologi Malaysia - ePrints |
last_indexed | 2024-03-05T18:30:51Z |
publishDate | 2008 |
publisher | Penerbit UTM |
record_format | dspace |
spelling | utm.eprints-167542017-02-05T04:15:14Z http://eprints.utm.my/16754/ A test scenario approach to support regression testing Ibrahim, Suhaimi Omar, Faizah Azmi, Azri QA75 Electronic computers. Computer science Software maintenance is a process of modifying delivered system due to a change in user requirements or other parts of software system. A system undergoing any modifications is seen to have a tendency to introduce new unintended errors into the program (Rajlich and Wilde, 2000). In order to alleviate these problems, regression testing is required as a process of retesting the software after modification. Regression testing is a process of testing changes to software programs to make sure that the previously run functionalities still work with the new changes. Regression testing activity is necessary at showing that the codes have not been unfavorably affected by changes, but on one hand, it is a costly and lengthy process (Soloway et at., 1988; Corbi, 1989). Common methods of regression testing include rerunning the entire batch of test cases previously run against the system is considerably laborious and costly. As such, a more acceptable solution is to be more selective when choosing the appropriate test cases for regression. Modified codes are usually retested with the test data sets previously used. Successful regression requires the retention and management of old test data sets throughout the software development life cycle. There are efforts of regression working on static analysis e.g. (Wilde and Casey, 1996; Ibrahim et al., 2005). They claim that their effort can minimize the complexity of testing and reduce time. We agree with the principle that regression testing by dynamic analysis produces an accurate result as it involves program execution (Rajlich and Wilde, 2000). Dynamic regression is preferable by many software engineers as it can traverse all the possible paths that the static analysis may miss. The only considerable initiative is how to manage the task with appropriate approach and tool supports. A test scenario approach that is being coined in this related work is Software Reconnaissance (Wilde and Casey, 1996). Reconnaissance technique was originally inspired by the industrial maintainers about the need for better ways to locate software features in large systems. It was a result of discussion and comments from the maintainers’ point of view in handling maintenance tasks as expressed by the Software Engineering Research Centre (SERC), an NSF supported consortium of universities and software organizations. However, the approach and implementation of reconnaissance techniques may vary depending on the problems and objectives being handled. In this paper, we would like to present our experience in using reconnaissance techniques and associated tools we developed at the Centre For Advanced Software Engineering, University of Technology, Malaysia. These tools were built to support maintainers locate parts of the code being impacted by each functional requirement. In other words, it helps maintainers identify those impacted code being executed by a concept or feature during test scenarios. Section 2 of the paper discusses the theoretical aspects of the concept location. Section 3 presents the software reconnaissance techniques. Software dependency and its related issues are discussed in Section 4 followed by a case study of OBA project in section 5. Section 6 highlights some results of the case study and discussion. Section 7 presents some related works followed by a conclusion. Penerbit UTM 2008 Book Section PeerReviewed Ibrahim, Suhaimi and Omar, Faizah and Azmi, Azri (2008) A test scenario approach to support regression testing. In: Advances in software engineering : research & practice. Penerbit UTM , Johor, 251-272 . ISBN 978-983-52-0620-7 |
spellingShingle | QA75 Electronic computers. Computer science Ibrahim, Suhaimi Omar, Faizah Azmi, Azri A test scenario approach to support regression testing |
title | A test scenario approach to support regression testing |
title_full | A test scenario approach to support regression testing |
title_fullStr | A test scenario approach to support regression testing |
title_full_unstemmed | A test scenario approach to support regression testing |
title_short | A test scenario approach to support regression testing |
title_sort | test scenario approach to support regression testing |
topic | QA75 Electronic computers. Computer science |
work_keys_str_mv | AT ibrahimsuhaimi atestscenarioapproachtosupportregressiontesting AT omarfaizah atestscenarioapproachtosupportregressiontesting AT azmiazri atestscenarioapproachtosupportregressiontesting AT ibrahimsuhaimi testscenarioapproachtosupportregressiontesting AT omarfaizah testscenarioapproachtosupportregressiontesting AT azmiazri testscenarioapproachtosupportregressiontesting |