SoftBase is committed to driving a better DB2 development experience. Combining decades of DB2 expertise, innovative testing and DB2 performance-tuning tools and an unmatched customer support and service team, SoftBase helps application developers and DB2 administrators deliver more reliable DB2 applications and create higher performing DB2 software.
Visit www.softbase.com/data_slicer.php for more information!
2. Data Slicer
TestBase Data Slicer
Part 1: Testing Problems & Solutions
Part 2: Announcing Data Slicer!
Part 3: How Data Slicer Works
Part 4: Next Steps…
3. Data Slicer
About SoftBase:
One of the oldest independent DB2
software companies – 20 years
Top-rated Dunn and Bradstreet small business
low-risk rating
SoftBase provides solutions for building
high-quality, cost-effective DB2 applications Corporate headquarters in the
beautiful North Carolina Blue Ridge
Mountains
4. Data Slicer
About SoftBase:
International DB2 Users Group Conference Participant
1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
IBM DB2 Technical Conference (IOD) Participant
1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,2005,
2006, 2007, 2008, 2010 Member
IDUG Europe Participant
2001, 2002, 2003, 2004, 2005, 2006, 2007
IDUG Canada Participant
Partner
2004, 2005, 2006, 2007
5. Data Slicer
SoftBase Application Acceleration
ANALYZE | DESIGN | CODE | TEST | DEPLOY
DB/IQ-QA TestBase, Batch Analyzer,
Data Slicer Checkpoint Restart
Expert rule system assist developers in coding high-performance SQL faster –
no DBA required!
Test DB2 for z/OS applications with subsets of realistic, data privacy compliant
test data – TOGETHER!
Deploy restartable DB2 for z/OS applications without painful performance
surprises
6. Data Slicer
Testing Problems Overview
Part 1: Testing Problems & Solutions
Developers cannot retrieve their own
test data when they need it
Painful, single-threaded testing procedures
slow everyone down
Synchronizing multiple DB2 testbeds takes
excessive time & resources
Inability to retest DB2 application programs at a
later time
7. Data Slicer
Testing Problem #1
Developers Can’t Get Their Own Test Data
Production Data Sources
Developers don’t understand RI or can’t
learn vendor software
Table 1 Table 2 Table 3
Move For DB2™ and File-Aid/RDX™ are
often not widely used
Third Party Software
Test Bed #2 Test Bed #3
DBAs end up extracting all test data and
often become a bottleneck in testing
Test Bed #1
8. Data Slicer
Testing Solution #1
Everyone Can Now Retrieve Their Own Test Data
Developers can retrieve their own test
TESTER 1
data whenever they like – no DBA
required!
TESTER 2 TESTER 3
All testing personnel can now use test
data provided by Move For DB2™ or File-
AID/RDX™ - at the same time DATA SLICER
DBA
Loading or refreshing test data will not
adversely affect DB2 for z/OS production
application performance in any way
9. Data Slicer
Testing Problem #2
Can’t Run Enough Tests – Always Fighting For Test Data
After purchasing expensive vendor solutions, TESTER 1 TESTER 2 TESTER 3 TESTER 4
Application Developers still run single-threaded 9:00AM 10:00AM 10:30AM 12:00PM
tests
Test data is often corrupted within minutes
X X
of loading test beds - this affects all other
testing results
APPLICATION TEST DATA
Developers or QA Personnel cannot load
or refresh their test data without affecting
other testers
10. Data Slicer
Testing Solution #2
Everyone Tests Together At The Same Time
TEST LOAD
Developers and QA Personnel can now run
tests concurrently with their own Slice of test
data
TEST REFRESH
DATA SLICER
Developers and QA Personnel can now
load and refresh test data whenever they
like – no DBA required
LOAD TEST
Sliced test data can be maintained and
utilized for extended lengths of time - without DBA DBA DBA
affecting others
11. Data Slicer
Testing Problem #3
Too Many Application Testing Environments!
DBAs must build many separate testing Test Bed #1 = Test Bed #2 = Test Bed #3
environments for different testing needs within
their company
Synchronization Procedure
1. Synchronize all physical DBMS & file structures
2. Synchronize all programs & common modules
Synchronizing these multiple DB2 3.
4.
Resolve all compile errors
Verify all 3rd party software is current
application testbeds takes a great deal of 5. Configure CICS and other software
6. BIND/REBIND all DBRMs / Packages
time and effort 7. Resolve BIND errors
a. Column not found
b. Column not proper data type
c. Column not proper NULL characteristics
d. -805 Errors
Developers or QA Personnel cannot load 8. Ensure all proper test data is loaded into
appropriate test bed
or refresh their test data without affecting 9. Run RUNSTATS, Reset CHECK PENDING flags
other testers 10.Re-test everything
12. Data Slicer
Testing Solution #3
Reduce Number Of Application Testbeds
Eliminate wasted effort maintaining and Test Bed #1 = Test Bed #2 = Test Bed #3
synchronizing unnecessary test
environments
Synchronization Procedure
1. Synchronize all physical DBMS & file structures
2. Synchronize all programs & common modules
Eliminate testing errors caused by trying to 3.
4.
Resolve all compile errors
Verify all 3rd party software is current
synchronize multiple DB2 databases and 5. Configure CICS and other software
6. BIND/REBIND all DBRMs / Packages
subsystems 7. Resolve BIND errors
a. Column not found
b. Column not proper data type
c. Column not proper NULL characteristics
d. -805 Errors
Free up valuable DBA time to accomplish 8. Ensure all proper test data is loaded into
appropriate test bed
something more important 9. Run RUNSTATS, Reset CHECK PENDING flags
10.Re-test everything
13. Data Slicer
Testing Problem #4
Inability To Retest Application Programs
QA Personnel often find problems when
APPLICATION ACCEPTANCE
testing applications turned over by DEVELOPER TESTER
Application Developers 2 or 3 days pass…
Turnover to QA
By the time QA Personnel send issues
Return to Developer
back to Developers, test data has already
been destroyed
UNIT | SYSTEM | ACCEPTANCE
Testing Personnel cannot retain historical
versions of test data
14. Data Slicer
Testing Solution #4
Retest DB2 Applications With Historical Test Data
Developers can now return to any previous Application Acceptance
Developer Tester
point in time and rerun critical DB2
application tests Turnover to QA
Return to Developer
Development and QA staffs can now
Unit
review historical test data to determine Test
7/2/2011
when problems actually began 7/3/2011
7/1/2011
1b 1c
1a
Libraries of test data can be saved and 3
reused for future DB2 application 2
projects and enhancements
15. Data Slicer
Introducing SoftBase Data Slicer
Part 2: Announcing TestBase Data Slicer!
Data Slicer provides patented SliceTM technology to dramatically improve DB2
for z/OS application testing practices
Data Slicer works great in companies and organizations already using TestBase
Data Population or 3rd party software solutions to subset test data
Data Slicer can be deployed quickly and painlessly to provide maximum benefit
from existing 3rd party solutions
16. Data Slicer
Data Slicer Technical Overview
Part 3: How It Works
Prerequisites
Build Sliced Test Environment
Load Baseline Slices
Testers Load/Refresh Test Data
Everyone Tests Together!
17. Data Slicer
How Data Slicer Works
Step 1: Prerequisites
Vendor tool or home-grown application
must apply Referential Integrity (RI)
rules
Table 1 Table 2 Table 3
Desired test data has been subsetted
with vendor tool or application programs
1) Apply Referential Integrity Rules
2) Specify Test Data Extract Criteria
Data Privacy mandates must be 3) Remove Confidential Test Data
handled - sensitive data is removed and
replaced from all test beds Test Bed #1
18. Data Slicer
How Data Slicer Works
Step 2: Create Data Slicer Testing Environment
The Data Slicer Test Environment is List of Application Test Tables
Table 1 Table 2 Table 3
constructed with the Power Slicer Utility
POWER SLICER UTILITY
DBAs or Application Developers must
provide Power Slicer with a list of all
DB2 tables in their test beds Data Slicer Test Environment
Table 1 Table 2 Table 3
The Power Slicer adds a Slice ID
column to the front of each test table Slice ID Slice ID Slice ID
19. Data Slicer
How Data Slicer Works
Step 3: Load Data To Baseline Slices
Vendor tool or home-grown application Vendor tool or Home-Grown Tool
loads test data to TestBase Slice (Unload Dataset)
Environment
Baseline Slices should be small controlled Third Party Load Job
subsets of production data
Data Slicer Test Environment
Table 1 Table 2 Table 3
Multiple Slice Baselines with different
data content can be constructed
Slice ID Slice ID Slice ID
22. Data Slicer
How Data Slicer Works
Step 4: Testers Get Their Own Test Data – Batch Interface
//CSBIY JOB ACCT#,
A batch JOB can be // TITLE,
// NOTIFY=CSBI,
submitted to load and // MSGLEVEL=(1,1)
refresh test data by //STBLOAD EXEC PGM=S3000000,PARM='00N',REGION=0M,COND=(8,LE)
specifying desired //SYSIN DD DSN=&&SYSIN,
// DISP=(NEW,DELETE,DELETE),
Baseline Slice to copy // UNIT=VIO,
// SPACE=(TRK,(1)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160)
//SBTECH DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=6118)
Application Developers //STBIDC DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=6118)
//SBREPORT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=6118)
and QA Personnel do //SLICECVT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=6118)
not even have to enter //SYSPARM DD DATA
SEQ DESCRIPTION OF PARM LN VALUE
the TestBase Data --- ---------------------------------- -- --------------------
Slicer when retrieving EXECUTION PARMS
133 TARGET SQLID (SLICED TARGET) . TARGET SLICE NAME HERE
. . 08 TARGET SLICE NAME HERE
their test data! 131 SOURCE SQLID (SLICED SOURCE) . BASELINE SLICE NAME HERE
. . 08 BASELINE SLICE NAME HERE
/*
23. Data Slicer
How Data Slicer Works
Step 5: Everyone Works and Tests Together!
Total testing concurrency is now
provided! 2) 3)
TEST LOAD
REFRESH TEST
1) 4)
Time spent testing critical DB2 REFRESH
projects is drastically reduced LOAD DATA SLICER RETEST
TEST
REFRESH REFRESH
DB2 production application quality RETEST RETEST
will be improved dramatically
6) 5)
24. Data Slicer
Software Evaluation
Part 4: Next Steps…
Select Pilot Application and
personnel for Data Slicer software
evaluation
Install and deploy Data Slicer in your
DB2 pilot application Unit Test
environments
25. Data Slicer
Evaluation Considerations
Select Data Slicer Pilot Application
The first step in a Data Slicer evaluation is
to select a Pilot Application with several
testers
Good Pilot Application candidates
contain several DB2 online transactions
and batch programs
Pilot Applications should be non-
mission critical and contain less than
20 DB2 tables and legacy files
26. Data Slicer
Evaluation Considerations
Software Installation and Evaluation
Data Slicer installation takes approximately
1/2 day
Creating the Data Slicer test
environment typically takes 1-2 days
Data Slicer evaluations usually are
completed easily in the first 30 days