Database Reference
In-Depth Information
Chapter VIII
Regression Test Selection
for Database Applications
Ramzi A. Haraty, Lebanese American University, Lebanon
Nashat Mansour, Labanese American University, Lebanon
Bassel A. Daou, University of Ottawa, Canada
ABSTRACT
Database applications features such as Structured Query Language programming, excep-
tion handling, integrity constraints, and table triggers pose diffi culties for maintenance
activities, especially for regression testing that follows modifying database applications.
In this chapter, we address these diffi culties and propose a two-phase regression testing
methodology. In phase 1, we explore control fl ow and data fl ow analysis issues of database
applications. Then, we propose an impact analysis technique that is based on dependencies
that exist among the components of database applications. This analysis leads to selecting
test cases from the initial test suite for regression testing the modifi ed application. In phase
2, we propose two algorithms for reducing the number of regression test cases. The Graph
Walk algorithm walks through the control fl ow graph of database modules and selects a
safe set of test cases to retest. The Call Graph Firewall algorithm uses a fi rewall for the
inter-procedural level. Our experience with this regression testing methodology shows that
the impact analysis technique is adequate for selecting regression tests and that phase 2
techniques can be used for further reduction in the number of these tests.
INTRODUCTION
Software maintenance involves changing programs due to errors, alterations in user
requirements or changes in the hardware/software environment. Regression testing is an
important activity of software maintenance, which ensures that the modifi ed software still
satisfi es its intended requirements (Hartmann & Robson, 1989). It attempts to revalidate
modifi ed software and ensure that new errors are not introduced into the previously tested
Search WWH ::




Custom Search