Database Reference
In-Depth Information
components. Phase 2 involves running a test case reduction algorithm to further reduce the
regression test cases selected in phase 1. We present two such algorithms. The fi rst algorithm,
Graph Walk, is a control fl ow-based regression testing technique that utilizes control fl ow
information, component dependencies, and impact analysis results. The second algorithm,
Call Graph Firewall, utilizes data fl ow dependencies and is an adaptation of fi rewall-based
regression testing techniques at the inter-procedural level. Furthermore, we develop a pro-
totype maintenance tool and use it to empirically validate our proposed methodology.
The remainder of this chapter is organized as follows: The next section includes a
discussion of the structure of database applications and control fl ow issues of database
modules. This is followed with a section addressing the data-fl ow dependencies due to the
manipulation of data stored in database tables. Next, we present the impact analysis. We then
present the test case reduction algorithms and empirically investigate the applicability of the
methodology using the tool. Finally, we present related work and conclude the chapter.
CONTROL FLOW MODELING
Background
Database systems have been accepted as a vital part of the information system infra-
structure. They can be considered a mature technology whose characteristics have been
covered in past manifestos. Although there are different variations of database systems
implementation, we will limit our scope to relational database systems because relational
database systems are widespread and the relational concepts are standardized.
SQL remains the most accepted and implemented interface language for relational
database systems. SQL is designed to be a comprehensive language that includes statements
for data defi nition, queries, updates, and view defi nition.
Lately, extensions to the SQL language were introduced. These extensions allow client
(application program) requests to the server to perform lengthy, complex operations, with
only the fi nal results returned to the client. These SQL extensions were in the form of stored
procedures and procedural language constructs that allowed signifi cant application logic
to be stored and executed on the server instead of on the client. Persistent Stored Modules
(PSMs) were published as an international standard in the form of a new part to the SQL-
92 standard. This standard—ISO/IEC 9075-4 (which appeared in 1995)—was an extension
to standard SQL for procedural language constructs, based on the best language concepts.
Control fl ow analysis of PSM code is different from that of conventional programming
languages. Building control fl ow graphs for database modules differs from building control
fl ow graphs for conventional software. This difference results from the extensive usage of
exceptions and condition handlers and the nature of the SQL language that is a key feature
of database modules. Therefore, we should devise new modeling techniques to model the
control transfers that are available in database modules.
The semantics of all SQL statements make them behave like micro-transactions in that
they either execute successfully, or they have no effects at all on the stored data, as described
in the ISO/IEC 9075 standard of 1992.
The SQL-PSM standard allows specifying one or more condition handlers for any
given compound statement, as mentioned in the ISO/IEC 9075-4 standard of 1995. In gen-
eral the handler action either handles the condition—in which case, the type of the handler
determines the subsequent behavior of the compound statement containing the condition
Search WWH ::




Custom Search