Testowanie EDW czyli projekt piekło - Bartłomiej Nikiel
-
Upload
kraqa -
Category
Engineering
-
view
461 -
download
0
description
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?