Przejdź do:
Na czym polega testowanie Business Intelligence?
Testy rozwiązań Business Intelligence skupiają się na sprawdzeniu, czy dane przepływają poprawnie. Weryfikują strukturę bazy danych, sprawdzają, czy dane są gromadzone, przetwarzane i ładowane w odpowiedni sposób, wreszcie – sprawdzają poprawność prezentacji w raportach menadżerskich. Przebieg takich testów odbywa się etapowo i powinien opierać się na dokumentacji przygotowanej przez analityka biznesowego z niezbędną do tego procesu wiedzą biznesową, jak i dokumentacji sporządzonej przez developera. Podstawą testów BI jest opis działania obiektu (np. tabeli czy widoku), jego lokalizacja w systemie, nazewnictwo oraz typy danych.
Przeczytaj także:
Co sprawdzamy?
Dane biznesowe – ich pochodzenie i typ
Dane biznesowe często nie pochodzą tylko z jednego źródła. Należy zweryfikować ich pochodzenie oraz typy danych (np. czy dane są numeryczne, czy zawierają datę).
Czy dane zostały poprawnie załadowane
Kolejnym etapem jest sprawdzenie, czy dane zostały poprawnie załadowane do bazy. Posługując się właściwościami ACID (Atomic, Consistency, Isolation, Durability) – weryfikuje się:
- Niepodzielność (Atomicity) – oznacza, że każda operacja w bazie jest traktowana jako osobny, niepodzielny byt. W ramach całej transakcji wszystkie operacje będą wykonane albo w całości, albo żadna z nich nie zostanie zaaplikowana. Sprawdzamy, czy ładowanie danych jest zakończone sukcesem / niepowodzeniem.
- Spójność (Consistency) – transakcja nie może wpłynąć na integralność danych. Źródłowe i docelowe typy danych powinny być zgodne, identyfikatory wierszy nie mogą być puste, klucze obce powinny zostać w nienaruszonym stanie, a dane nie powinny być ucinane.
- Izolację (Isolation) – chodzi tu o odizolowanie współbieżnie wykonywanych transakcji. Sprawdzamy, czy stan bazy jest prawidłowy, nawet jeżeli wykonywana transakcja jest jedną z wielu,
- Trwałość (Durability) – to zdolność systemu do ponownego uruchomienia się (np. w wyniku nieprzewidzianej awarii) z zachowaniem nienaruszonych i aktualnych danych. Sprawdzamy, czy po zakończeniu transakcji czynniki zewnętrzne (takie jak np. ponowne uruchomienie ładowania bez zmian w danych) nie zmienią jej stanu.
Wymagania biznesowe
Na początkowym etapie testowania odbywa się też częściowa weryfikacja wymagań biznesowych. Poza zgodnością danych pomiędzy bazą a źródłem należy upewnić się, że otrzymaliśmy to, co zostało opisane w dokumentacji obiektu. Tu oczywiście również odbywa się sprawdzenie typów, jak i konwencji nazewnictwa kolumn oraz ich definicji. Weryfikujemy oznaczenia kluczy głównych, relacji do innych obiektów w bazie czy transformacji na danych. W wykonywaniu takich przypadków testowych świetnie sprawdza się język zapytań SQL. Dokumentacja powinna pozwolić odtworzyć tabelę docelową, wykorzystując dane źródłowe. Dzięki temu mamy możliwość porównania wyników naszej symulacji tabeli docelowej z rzeczywistą zawartością tabeli docelowej.
Sposób dostarczenia danych
Dokumentacja powinna też zawierać informacje o sposobie dostarczania danych, jak i opcjonalnej archiwizacji tych już nieaktualnych. Posiadając taką wiedzę, można określić nie tylko jakość danych, ale też wydajność i skalowalność bazy.
Ilość danych w bazie zwykle rośnie, a nie maleje. Bardzo ważnym aspektem jest to, w jaki sposób dane będą dostarczane. Czasem konieczne jest dostarczanie nowych danych kilka razy dziennie, a czasem jeszcze częściej.
Dlatego w testach Business Intelligence uwzględnia się również strategię archiwizacji oraz czas, jakiego bieżąca implementacja potrzebuje na uzyskanie wyników. Przykładowo, dane, które nie są już wykorzystywane, można przechowywać w dodatkowej tabeli, która nie będzie odpytywana we właściwym procesie. Dla jeszcze lepszej optymalizacji czasu mogą być ładowane tylko nowe dane lub nadpisywane zmienione dane w tabeli.
Operacje na danych
Ważną częścią weryfikacji przepływu danych w bazie są operacje na danych. Sprawdzamy takie operacje jak: dodanie nowego rekordu, jego aktualizacja z uwzględnieniem możliwych transformacji i odniesienia do innych obiektów w bazie, a także rozmiar danych i unikalność kluczy głównych, aż po symulację archiwizacji danego rekordu czy też jego usunięcia. Takie przypadki testowe pozwalają zweryfikować nie tylko działanie bazy, ale również pracę procesu ETL (Extraction, Transformation, Loading). Odpowiada on za ekstrakcję danych ze źródła, ich transformację – czyszczenie, filtrowanie, implementację reguł biznesowych – oraz załadowanie do bazy.
Ekstrakcja
Sprawdzamy pochodzenie danych i ich typ. Szczególną uwagę należy zwrócić na dane, które najczęściej nie podlegają walidacji – te wprowadzane przez użytkownika. Błędne dane źródłowe takie jak chociażby nieodpowiednio użyte znaki specjalne mogą generować błędy w całym późniejszym procesie ładowania. Potencjalnym ryzykiem jakości danych są pliki typu Excel czy inne aplikacje z danymi wprowadzanymi ręcznie – na tym etapie testerzy Business Intelligence mogą rozpocząć weryfikację – np. sprawdzić manipulacje danych.
Transformacja
Etap transformacji to dla testera analiza działania procesu ETL. W oparciu o mapowanie można krok po kroku, czy też klocek po klocku, prześledzić operacje, które dopasowują treść i format do potrzeb bazy, logikę ich archiwizacji czy usuwania nieaktualnych danych.
Loading
Mapowanie dostarcza również informacji o sposobie ładowania – mogą to być postaci całkowita (full load) lub przyrostowa (incremental load). Po uruchomieniu procesu ładowania można śledzić jego przebieg, czas trwania, a także zweryfikować, czy zakończył się zgodnie z oczekiwaniami. Czas trwania będzie zależny od wolumenu danych i sposobu ich ładowania. Ponadto przy symulacji błędu ETL powinien dostarczyć informacji o problemie, np. o wprowadzonej wartości null dla kolumny, która z założenia nie może być pusta.
Otrzymany raport
Kolejnym etapem jest sprawdzenie finalnego raportu. To najważniejszy element układanki, jednak jest brany pod lupę jako ostatni. Aby raport mógł być poprawny, spójny i szybki, najpierw poprzednie warstwy systemu muszą działać prawidłowo.
Na tym etapie podstawą jest poprawność wyświetlanych danych, jednak forma ich prezentacji również jest istotna. Pod uwagę należy również wziąć sposób, w jaki dane będą przedstawiane użytkownikom końcowym – często mają oni wgląd w dane, korzystając z małych ekranów smartfonów czy tabletów.
Wyświetlone dane w formie kolorowych wykresów weryfikuje się w oparciu o dokumentację, porównując z zawartością bazy źródłowej, do czego ponownie przydatny jest język SQL. Tu uwzględniamy również możliwości, jakie raport nam daje – sortowanie, kategoryzowanie, grupowanie, filtracja danych. Czas odświeżania raportu również powinien zostać zweryfikowany.
Informacje prezentowane w raporcie muszą być czytelne, zatem warto zwrócić uwagę na to, czy np. kolory na wykresie zauważalnie różnią się od siebie, czy dane w tabeli są dobrze widoczne, czy całość wygląda estetycznie i jest responsywna, tzn. może dostosować się do różnych rozdzielczości ekranu.
Testowanie Business Intelligence – największe korzyści
Testy BI pozwalają zredukować koszty wdrożenia oprogramowania poprzez wykrycie błędów w początkowej fazie implementacji. Dzięki temu wzrasta również dokładność i wiarygodność analiz biznesowych, a także szybkość ich pozyskiwania przez przedsiębiorstwo.
Kto przeprowadza testy Business Intelligence?
A jakie kompetencje są potrzebne i znajomość jakich narzędzi jest przydatna? Tester Business Intelligence poza wiedzą związaną z testowaniem powinien posiadać zdolności analitycznego myślenia. W tej dziedzinie testów ważna będzie nie tylko poprawność przepływu danych w systemie, ale również zrozumienie logiki implementacji.
Podsumowanie
Business Intelligence jest integralnym elementem wszystkich obszarów biznesowych – z rozwiązań analizy danych takich jak Power BI, Qlik czy Tableau korzystają klienci z branż medycznej, finansów, handlu, e-commerce, logistyki i wielu innych. Ich zastosowanie i możliwości (jak wizualizacja danych, łatwiejsze raportowanie) pozwalają przedsiębiorstwom szybko pozyskać wiedzę potrzebną do udoskonalania strategii działania organizacji. Testowanie Business Intelligence jest ważne, bo umożliwia sprawdzenie poprawności przepływu danych w całym systemie – od surowych danych po raporty biznesowe. Pozwala zatem zachować większą dokładność i wiarygodność oprogramowania, jak również zredukować czas i koszty jego wdrożenia. Innymi słowy, poprzez możliwość wykrycia błędów na wczesnym etapie implementacji oszczędzamy sobie zbędnych nerwów i kosztów w przyszłości.