RTTS’ Data warehouse testing strategy
focuses on the two main structures within a
data warehouse architecture: the ETL
(Extraction, Transformation and Loading)
layer and the data warehouse with its
front-end applications. Each of these units
must be treated separately, and since there
may be multiple components in each (multiple
feeds to ETL, multiple databases or data
repositories that constitute the warehouse,
and multiple front end applications), each
of these subsystems must be individually
validated.
Pre-Deployment Phase
RTTS’ recommended pre-deployment strategy is
to build test automation (both functional
and performance) for every test entry point
in the system (feeds, databases, internal
messaging, front-end transactions). The goal
of the strategy is to provide rapid
localization of issues between test entry
points. The emphasis at each test entry
point in functional automation is the
validation of data integrity.
On the performance side, the focus is on
characterizing subsystem response under
load. So, for example, if corrupt data is
found in a front-end application, the
execution of automated suites can quickly
determine whether the problem is in an ETL
process, in a database, or in the front-end
itself.
A similar strategy is used for determining
the origin of performance issues. Rapid
localization of either data or performance
problems in complex data warehouse
architectures provides a key tool for
promoting efficiencies in development
cycles, and for shortening build cycles and
meeting release targets.
Post-Deployment Phase
For the strategic approach in the
post-deployment area, RTTS provides
application monitoring at the client, server
and network levels.
• Client monitoring provides a "picture" of
the client experience from the perspective
of application performance.
• Server monitoring gives a check on the
“internal temperature” of data warehouse
servers, including CPU/memory usage, log
file analysis, database/SQL statistics,
service/process availability, and connection
up/down.
• Network analysis provides a diagnostic
window on how network communications
contribute to application performance.
Through network analysis, bandwidth issues
can be distinguished from latency problems.
Performance questions can be analyzed down
to the level of individual SQL calls and
their effect on application performance.
|