Projekty ETL to projekty tworzone za pomocą narzędzia ETL (Extract - Transform - Load), takiego jak SSIS, PowerCenter itp.
Zazwyczaj obejmują one odczytywanie danych ze źródła zewnętrznego, ładowanie ich do tymczasowej bazy danych, wykonywanie pewnych transformacji i ładowanie do ostatecznej bazy danych
Prostym przykładem byłoby użycie SSIS do odczytu plików Excela dostarczanych przez nauczycieli korzystających z SSIS i załadowania ich do bazy danych. Następnie napisz procedury składowane lub więcej pakietów SSIS, aby obliczyć oceny każdego ucznia i załadować te dane do hurtowni danych
Następnie tworzysz procedury składowane na szczycie mart, aby wygenerować dane wyjściowe, które są używane przez narzędzia raportujące (SSRS \ Excel \ etc) do generowania wizualizacji.
Staram się zrozumieć, jak przeprowadzić TDD i odpowiednie testowanie jednostek w tym scenariuszu. Testy ETL polegają głównie na upewnieniu się, że dane załadowane w tabelach pomostowych pasują do właściwego podzbioru danych ze źródła. Tak więc wdrożenie testu prowadzi do wdrożenia mini-wersji ETL. Dane wyjściowe raportów SP zależą od danych w samych tabelach, więc nie można mieć stabilnego zestawu danych wyjściowych bez koszmaru konserwacji, nawet jeśli utworzysz bazę danych zawierającą oczyszczone dane testowe
Przykład:
Sprint 1: Tabela ucznia zawiera imię, wiek, klasę
Tworzysz dane testowe dla tej tabeli i na tej podstawie przeprowadzasz testy jednostkowe
Sprint 2: Pole płci jest dodawane do tabeli.
Teraz, jeśli odświeżysz dane w polu ucznia, aby wypełnić atrybut płci, przypadki testowe zostaną unieważnione, ponieważ dane się zmieniły. A jeśli nie, nie możesz tworzyć przypadków testowych, które wymagają kolumny płci