Testing A Business Datawarehouse - An Industrial Challenge: Harry M. Sneed Anecon GMBH Vienna, Austria August, 2006
Testing A Business Datawarehouse - An Industrial Challenge: Harry M. Sneed Anecon GMBH Vienna, Austria August, 2006
Testing A Business Datawarehouse - An Industrial Challenge: Harry M. Sneed Anecon GMBH Vienna, Austria August, 2006
Source Data
Assertion Generator
Target data
Test Cases
Sample 1: An extract from the rule table before the rule has been converted
DR_INTEREST_ID;"Link to TB0_ACCOUNT_INTEREST. Debit interest conditions applicable to the account."; If REIACD in field DICT(debit) has a value other than 0, account is linked to interest group. The following then applies: REINTD / KEY (Position 3-4) (Interest Type) 2 Alpha REINTD / KEY (Position 5-9) (Interest Subtype) 5 Alpha REINTD / KEY (Position 10-12)(Currency) 3 Alphas The above Key fields are concatenated in ID. If in REIACD the DICT values are zeroes, the account interest condition has to be extracted from the ACCNTAB: ACCNTAB / DRIB (debit Base Rate Code) ACCNTAB / DRIS (debit Spread Rate) If both of <> 0 value, extract ACCOUNT_ID If ACCNTAB / DRIS is available (<> 0), extract the same as for ACCOUNT_ID If only DRIB of <> value, extract DRIB
Sample 2: An extract from the rule table after the rule has been converted
DR_INTEREST_ID;"Link to TB0_ACCOUNT_INTEREST. Debit interest conditions applicable to the account."; " ? assign REIACD/DICT | REIACD/DCST | ACCNTAB/CCY | 'D' if REIACD/DICT (debit) <> '0', assign ACCNTAB/CONCAT if ACCNTAB/DRIS <> '0', assign ACCNTAB/CCY|ACCNTAB/DRIB if ACCNTAB/DRIB <> '0', assign '*nomap*' if REIACD/DICT = '00' and ACCNTAB/DRIS = '0' and ACCNTAB/DRIB = '00' assign ACCNTAB/CNUM|CCY|ACNO|BRCA if other. (18-digit account Id made up of CNUM length 6, leading zeros length 4, leading zeros +ACSQ length 2, leading zeros +BRCA concatenated).";
Sample 4: A section from the assertion generation log +-------------------------------------------------------------------+ |&New Assert Script: Asrt-011 = ST_ACCOUNTING_STANDARD +-------------------------------------------------------------------+ | New Attribute ACCOUNTING_STANDARD_CODE has no rule! | New Attribute APPLICATION_ID has a rule that was not processable | Rule = text file | New Attribute QUALITY_INDICATOR has no rule! | New Attribute SOURCE_SYSTEM_ID has a rule that was not processable | Rule = text file +-------------------------------------------------------------------+ | Number of new Attributes = 013 | Number of Rules = 011 | Number of Basel Rules = 003 | Number of complex Rules = 005 | Number of complexBasel Rules = 002 | Number of generated Keys = 002 | Number of generated Asserts = 009 | Number of unrecognized Rules = 002 +-------------------------------------------------------------------+
TAIC
Data Validation
Assertion Script
From Reports ASSERTION Assert Table FILECOMP Text File From XML Output CSVSCAN TXTSCAN XMLSCAN XML File
Old Data
COMPARE
New Data
Comparison Report
Test Statistics
The test project lasted only 2,5 months The author worked 216 hours on the project, developing two new tools, converting 562 rules and writing some 30 pages of documentation There were 266 DB tables with 10910 attributes and 5337 rules to be tested By the end 88% of the rules had been verified Due to lack of time 12% of the rules were never converted 208 errors were reported by the testers
Summary
The greatest problem in the IT-world is the lack of education Business analysts are unable to write requirements in a formal language like OCL Austrian and German companies try to use English as a requirement language, but the English language skill of the employees is insufficient for complex texts Testers have no formal training in testing methods, they can only perform routine tasks IT-Management is more often totally incapable, they rush into projects with neither process nor tools. There is a tremendous need for more and better education of IT personnel in industry.