27
1 Enabling ETL Test Automation in Solution Delivery Teams Subu Iyer Oct 21, 2014 © 2014 Cambia Health Solutions, Inc.

Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

  • Upload
    others

  • View
    21

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

1

Enabling ETL Test Automation

in

Solution Delivery Teams

Subu Iyer

Oct 21, 2014

© 2014 Cambia Health Solutions, Inc.

Page 2: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

2 2

INTRODUCTION

© 2014 Cambia Health Solutions, Inc.

Page 3: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

3 3

What is ETL?

Extract Transform and Load

© 2014 Cambia Health Solutions, Inc.

Source DB

Source DB

Source Files

Target DB

Target DB

Target Files

ETL

Page 4: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

4 4

Examples of ETL Projects

•Import member data

•Import provider data

•Import LOV type data

•Copy claims, billing data

© 2014 Cambia Health Solutions, Inc.

Page 5: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

5 5

Challenges to ETL Testing

•Complex data requirements

•Project based approach (not Product

based)

•Lack of testing tools

•Lengthy and error prone manual tasks

© 2014 Cambia Health Solutions, Inc.

Page 6: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

6 6

ETL Testing Misconceptions

•ETL tests are different

• Tests need to reproduce the ETL job

• Tests need to validate data (rather than the

functionality)

•ETL projects don’t need regression tests

•Since these are 1-time custom solutions

•Once built, don’t need to be enhanced or optimized

•ETL test automation is prohibitively expensive

© 2014 Cambia Health Solutions, Inc.

Page 7: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

7 7

Then and Now…

2 Years Ago

• No belief in Test Automation for ETL

• Zero automated tests

© 2014 Cambia Health Solutions, Inc.

Today

• 5 out of 8 teams have automated tests

Page 8: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

8 8

WHY ENABLE ETL

TEST AUTOMATION?

© 2014 Cambia Health Solutions, Inc.

Page 9: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

9 9

Typical ETL Development Process

© 2014 Cambia Health Solutions, Inc.

New Business Requirement

Design and Data Modelling

ETL Implementation

Testing

Release

Maintenance

Page 10: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

10 10

Typical Problems…

© 2014 Cambia Health Solutions, Inc.

New Business Requirement

Design and Data Modelling

ETL Implementation

Testing

Release

Maintenance

Page 11: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

11 11

Agile Approach

© 2014 Cambia Health Solutions, Inc.

New Business Requirement

Release ETL

Implementation

Testing

Design Increment

Page 12: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

12 12

Agile Approach

© 2014 Cambia Health Solutions, Inc.

New Business Requirement

Release ETL

Implementation

Testing

Design Increment

Page 13: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

13 13

Benefits of ETL Test Automation

•Running automated tests is easy and cheap

•Find defects as soon as they are introduced

•Tests monitor and track our progress

•Safety net for development

•Makes incremental development possible

•Quicker defect fixes

•Shorter project implementation time

© 2014 Cambia Health Solutions, Inc.

Page 14: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

14 14

Enabling Teams

•Having a dedicated team build and

maintain automated tests for all teams does

not scale

•Educating team members helps them

identify and fix problems themselves

•Setting up automated processes

establishes a platform for other teams

© 2014 Cambia Health Solutions, Inc.

Page 15: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

15 15

HOW ARE WE

ENABLING ETL TEST

AUTOMATION?

© 2014 Cambia Health Solutions, Inc.

Page 16: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

16 16

Collaborate with Teams

© 2014 Cambia Health Solutions, Inc.

Page 17: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

17 17

Best Practices Exchange

•Present test automation solution

•Demonstrate success

•Pitch ideas

•Present problems

•Discuss test plans

© 2014 Cambia Health Solutions, Inc.

Page 18: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

18 18

Build a Better Tool

Basic Requirements

● Getting started is easy

● No disruption to current

processes

● Platform independent

● Tests - public and readable

© 2014 Cambia Health Solutions, Inc.

Page 19: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

19 19

Build a Better Tool

Tool Development Approach

● Start simple, start small

● Collaborate with 1 team to build 1

test

● Grow the tool functionality

organically

© 2014 Cambia Health Solutions, Inc.

Page 20: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

20 20

Build a Better Tool

Picking a Test Runner

● Use existing, mature tools/libraries

● Tests are readable

● Tests can be shared easily

© 2014 Cambia Health Solutions, Inc.

Page 21: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

21 21

Build a Better Tool

Advantages of using FitNesse

● It’s a wiki!

● Read and run tests from a browser

● Great for collaboration

© 2014 Cambia Health Solutions, Inc.

Page 22: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

22 22

Start with Simple Tests

Set Up

● Establish connections

● Get database to known state

Test Methods

● Run ETL jobs

● Verify data

Tear Down

● Clean up database

● Close connections

© 2014 Cambia Health Solutions, Inc.

Page 23: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

23 23

Educate

•Demonstrate success

•Training sessions

•Involve multiple teams and

departments

© 2014 Cambia Health Solutions, Inc.

Page 24: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

24 24

RESULTS

© 2014 Cambia Health Solutions, Inc.

Page 25: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

25 25

Then and Now…

2 Years Ago

• No belief in Test Automation for ETL

• Zero automated tests • Visual inspection • Defects found late in the

development cycle

© 2014 Cambia Health Solutions, Inc.

Today

• 5 out of 8 teams have automated tests

• Tests run daily or kicked off by clicking a button

• Defects are found as soon as the job is run

• 2 teams are writing tests before the product functionality is built!

Page 26: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

26 26

What’s next…

•Propagate and gather feedback from all

• UAT, System Analysts, Product Owners, Business

• Improve capabilities of the testing framework

•Add functionality to trigger ETL jobs

•May be a GUI to create tests

•Continue improving the framework to improve

tests and test coverage

© 2014 Cambia Health Solutions, Inc.

Page 27: Enabling ETL Test Automation in Solution Delivery TeamsETL Testing Misconceptions •ETL tests are different •Tests need to reproduce the ETL job •Tests need to validate data (rather

27 27

QUESTIONS?

© 2014 Cambia Health Solutions, Inc.