Professional Documents
Culture Documents
January 2011
Production to Development
ETL version upgrade
ETL Migration
Application retirement
Reconciliation / Audit Balance Control
Runtime validation and reconciliation
Embedded in production ETL process
DVO is used to
define Test Rules
DVO is used
to display results
Comprehensive
Reporting on all
Tests and Results
PC API
Results
DB
Customer Example #1
SQL Server to DB2 ETL project
10 tables
Manual testing: 4-5 days
DataValidator, incl. Setup: 3 hours
Customer Example #1
Source-to-target testing of two Oracle databases
50 table pairs, 968 tests
Manual testing: 3 weeks
DVO: 1 week
Regression testing is significantly faster with
DVO: tested fact tables and 20 dimensions in one
day
8
Customer Example #2
PowerCenter Upgrade Testing
We used DataValidator to compare 14 tables and about 30M rows (setup
time and training someone included) in less than 5 hours. The largest of
the tables was 94 columns. When I asked our QA people how long it
would take them to run scripts and test this amount of data, they
mentioned months between the two of them.
Tom Kato
http://www.linkedin.com/groupAnswers?
discussionID=6289235&viewQuestionAndAnswers=&goback=
%2Eanh_39237&gid=39237
FactOrders
LineID
CurrencyName
ExchangeRate
DollarAmount
12
Create View
Name:
SQL:
MyView
Select LineID, CurrencyName, Quantity*UnitPrice*ExchangeRate
From srcOrderHeader Join srcOrders On srcOrderHeader.OrderID=srcOrders.OrderID
3 Outputs
MyLineID
Integer
MyCurrency
String
MyAmount
Decimal
TableA: MyView
TableB: FactOrders
Join:
MyLineID to LineID
MyAmount vs DollarAmount
13
Lookups: Problem
dimProducts
ProductID
ProductName
SourceOrders
LineID
ProductName
Amount
Validation
factOrders
LineID
ProductID
DollarAmount
Lookups: Solution
Lookup Relationship
Lookup View
factOrders
LineID
ProductID
DollarAmount
SourceOrders
LineID
ProductName
Amount
dimProducts
ProductID
ProductName
Validation
15
Advanced Features
Ability to define and reuse complex SQL expressions
Ability to validate lookups
Rapid test generation through scripting or Excel
spreadsheets
Ability to run a DVO test from a scheduler, workflow
or any other process
Performing aggregations in the database instead of
PowerCenter
18
Example:
VP of Sales: I want a field that shows increase over last year
Business Analyst: (this_year last_year) / last_year
ETL developer creates: (this_year last_year) / this_year
Checking the mapping input and output: mapping is correct
Data is not correct
20
Profiling ~2001
ER tools ~1990s
21
Lookups: Solution
Create Lookup
Name:
Source Table:
Lookup Table:
Relationship:
MyLookup
SourceOrders
dimProducts
TableA: MyLookup
TableB: FactOrders
Join:
LineID to LineID
22
Join+Agg
cliStage
CustomerName
CustomerAmount
Pass
cliTarget
CustomerName
CustomerAmount
Fail
cliError
CustomerName
CustomerAmount
23
Workflow Scenario 1
cliHeader
1 Smith
2 Jones
3 Green
cliDetail
1 1
iPod
$100
2 1
CD
10
3 2
iPod
100
4 2
Battery
50
5 3
iPod
100
6 3
CD
10
7 3
Battery
50
Join+Agg
cliStage
Smith $110
Jones 150
Green 160
Workflow Scenario 2
cliHeader
1 Smith
2 Jones
3 Green
cliDetail
1 1
iPod
$100
2 1
CD
10
3 2
iPod
100
4 2
Battery
50
5 3
iPod
100
6 3
CD
10
7 3
Battery
50
Join+Agg
cliStage
Jones 150
Green 160
26
Questions
&
Answers
27
28