Testowanie EDW czyli projekt piekło - Bartłomiej Nikiel

Post on 26-Jun-2015

454 views 0 download

description

Prezentacja Bartłomieja Nikiela wygłoszona na V KraQA, 22.09.2014

Transcript of Testowanie EDW czyli projekt piekło - Bartłomiej Nikiel

SUBIEKTYWNA RETROSPEKCJA

PROJEKTU

BARTŁOMIEJ NIKIEL

Testowanie EDW czyli Projekt Piekło

Big Data a EDW

Big data – termin stosowany do opisu zestawu danych których rozmar jest poza możliwościami powszechnie stosowanych narzędzi do przechwytywania, zarządzania i przetwarzania danych w określonym czasie

Hurtownia baz danych - jest jedną wielką kolekcją ‘minihurtowni danych’ reprezentujacych historyczne dane z różnych działań firmy.

Kluczową rolą jest szybkość działania, niezawodność i możliwość połączenia danych w dowolny sposób aby mieć jak najszersze możliwości analizy danych w hurtowni w historycznym okresie pracy firmy

Czym jest EDW

Enterprise Data Warehouse – hurtownia baz danych

Zbiór zintegrowanych, nieulotnych i ukierunkowanych danych pod konkretny model biznesowy (np. ubezpieczeniowy)

„Kopia” danych operacyjnych

A wszystko opiera się na ETL’u...

ETL?

Extract – Transform – Load

ETL?

„Wyciągnięcie” danych z wcześniejszego systemu (jego bazy danych)

Transformacja w/w danych w celu dopasowania dla potrzeb operacyjnych a później raportowych

„Wrzucenie” danych do kolejnej w schemacie bazy danych

Schemat tworzenia EDW

Testowanie hurtowni baz danych

Wyidealizowany model V

Tak to wygląda w teorii……Ale….

"Teoria jest wtedy kiedy wszystko wiemy, ale nic nie działa.Praktyka jest wtedy, kiedy wszystko działa, ale nikt nie wie dlaczego.Tutaj łączymy teorię z praktyką - tu nic nie działa i nikt nie wie dlaczego… "

Dlaczego Projekt Piekło?

Wróćmy jeszcze raz do modelu

Functional Design

Business Requirements

Detailed Design

Build

Unit Testing

Intregration Testing

System Testing

Business RequirementsSystem Requirements

Deployment PlanPerformance Requirement

Interface Design

Software ComponentsDesign

Testing againstDetailed Design

Integration acrossall designs

Testing BusinessRequirements

User AcceptanceTesting

Testy jednostkowe x3 ( x8 )

W teorii przez programistów….ale:

Zrobienie „manualnie” kopii bazy wejściowej + edycja ETL’a w celu sprawdzenia poprawności jego działania na poszczególnych komponentach ( per numer / kwota)…

Sprawdzenie poprawności transformacji danych po ETL’u

~ 3 miesiące

Testy integracyjne….. x…?

Aplikacja wejsciowa (zbierająca dane) – Staging – ODS – DDS – Aplikacja raportująca

- testy przejscia

Podejście Top – Down (numery, kwoty, firmy, zgloszenia, daty.... )

Testy Regresyjne ...x .... ?

Po każdym releasie testy regresyjne których nie można było zautomatyzować – za duże zmiany po każdym releasie

Czas trwania: 1-2 tyg po każdym releasie

Testy systemowe

PrzekształceniaSprawdzenie rozbicia danychWeryfikacja wszystkich istniejących

(mających istnieć ) tabel i ich relacji z innymi tabelami

End to End – wprowadzenie danych do Aplikacji – sprawdzenie wyników w DDS’ie

~2 miesiące

UAT

Wszystko działa pięknie! ………….Ale………….

SCD

Slowly Changing Dimension – Clue EDW

Type 0 – brak zmian podczas ETL’a

Type 1 – nadpisanie danych bez przetrzymywania historii zmian

Type 2 – stworzenie nowego rekordu z flagą ‘aktualny’ oraz wpisanie starego rekordu do historii zmian (łącznie z datą zmiany i wcześniejszą wartością)

~1.5 miesiąca

Raporty z Qlikview

Kolejny zestaw testów

FunkcjonalneEnd – to – EndWydajnościoweRegresyjne...

+/- 1 miesiąc

Dlaczego Projekt Piekło?

Zmienność specyfikacji Wymagania klienta pod względem testowaniaZagrożenia – znajomość rynkuSCDOczekiwania na releasyTest plan ?Estymacja czasu testowania vs ramy czasowe

od klienta+/- 6 miesięcy

Jak rozwiązać w/w problemy?

Rady?Sugestie?