Dane są sercem każdej aplikacji, podobnie jak Baza danych który przechowuje te dane. Jednak wraz ze wzrostem wielkości danych lub złożoności bazy danych wzrasta również, co utrudnia obsługę danych. W ten sposób sprawdzanie poprawności danych staje się bardzo konieczne. Tutaj przydaje się testowanie bazy danych i pomaga w sprawdzeniu jakości, bezpieczeństwa i poprawności danych, które aplikacja pobiera lub przechowuje w bazie danych. Za pośrednictwem tego artykułu dam ci pełny wgląd w to.
Poniżej znajdują się tematy poruszane w tym samouczku:
- Co to jest testowanie bazy danych?
- Dlaczego testowanie bazy danych jest wymagane?
- Rodzaje testowania baz danych
- Testowanie strukturalne
- Testowanie funkcjonalne
- Testowanie niefunkcjonalne
- Etapy testowania bazy danych
- Narzędzia do testowania bazy danych
Więc zacznijmy.
Co to jest testowanie bazy danych?
Zanim opowiem o testowaniu baz danych, pozwól, że najpierw poinformuję Cię o bazach danych. Baza danych to nic innego jak systematyczny zbiór danych, który zapewnia przechowywanie danych i pomaga w manipulacji danymi. Zarządzanie danymi staje się bardzo łatwe przy użyciu tych baz danych, ponieważ bazy danych używają obiektów do zarządzania danymi, takich jak tabele do przechowywania danych, widok reprezentacji danych, funkcje i wyzwalacze do manipulacji danymi.
Teraz testowanie bazy danych odnosi się do procesu sprawdzania poprawności danych przechowywanych w bazie danych poprzez weryfikację obiektów kontrolujących dane i różne funkcje je otaczające. Ogólnie rzecz biorąc, działania takie jak sprawdzanie poprawności danych, testowanie integralności danych, sprawdzanie wydajności, testowanie różnych procedur, wyzwalaczy i funkcji w bazie danych są objęte podczas testowania bazy danych.
Ale aby przeprowadzić testowanie baz danych, bardzo ważna jest gruntowna znajomość SQL. Nie martw się, jeśli nie masz wymaganej wiedzy, możesz zapoznać się z tym artykułem na temat Podstawy SQL aby zacząć.
Dlaczego testowanie bazy danych?
Jak wiemy, baza danych jest zrzutem danych, w którym dane są gromadzone w ogromnej ilości i przechowywane w ustrukturyzowanym formacie. Chociaż DBMS (DataBase Management System) zapewnia zorganizowany sposób zarządzania, wyszukiwania i przechowywania tych danych, zdarzają się przypadki, w których dane mogą stać się zbędne, duplikowane itp. W takich przypadkach nasuwa się obraz testowania bazy danych, który pomaga nam w walidacji danych. Poniżej wymieniłem różne aspekty, na podstawie których należy zweryfikować bazę danych:
- Mapowanie danych
Mapowanie danych jest integralnym aspektem testowania baz danych, które koncentruje się na walidacji danych, które przechodzą tam iz powrotem między aplikacją a bazą danych zaplecza. - Weryfikacja właściwości ACID
KWAS oznacza A tomiczność, C wytrwałość, ja pocieszenie i D praktyczność. To kolejny ważny aspekt, który należy potwierdzić przy każdej transakcji w bazie danych.- Atomowość :Oznacza to, że wszystkie transakcje bazy danych są atomowe, tj. transakcje mogą skutkować sukcesem lub niepowodzeniem. Znany również jako Wszystko albo nic .
- Spójność :Oznacza to, że stan bazy danych pozostanie ważny po zakończeniu transakcji.
- Izolacja :Oznacza to, że wiele transakcji może być wykonywanych jednocześnie bez wpływu na siebie nawzajem i zmiany stanu bazy danych.
- Trwałość :Oznacza to, że gdy transakcja zostanie zatwierdzona, zachowa ona zmiany bez żadnych problemów, niezależnie od wpływu czynników zewnętrznych.
- Integralność danych
Testowanie integralności danych w bazie danych odnosi się do procesu oceny wszelkiego rodzaju procesów, operacji i metod używanych do uzyskiwania dostępu, zarządzania i aktualizacji bazy danych, znanego również jako CRUD operacje. Koncentruje się to wyłącznie na testowaniu dokładności i spójności danych przechowywanych w bazie danych, aby uzyskać oczekiwane lub pożądane wyniki.
- Zgodność z regułami biznesowymi
Wraz ze wzrostem złożoności baz danych różne komponenty, takie jak ograniczenia relacyjne, wyzwalacze, procedury składowane itp., również zaczynają się komplikować. Aby tego uniknąć, testerzy dostarczają kilka zapytań SQL, które są wystarczająco odpowiednie do walidacji złożonych obiektów.
Typy testowania bazy danych
Istnieją 3 rodzaje testowania bazy danych, które wymieniłem poniżej:
- Testowanie strukturalne
- Testowanie funkcjonalne
- Testowanie niefunkcjonalne
Przyjrzyjmy się teraz kolejno każdemu z tych typów i ich podtypom.
Testowanie strukturalne
Testowanie strukturalnej bazy danych to proces sprawdzania poprawności wszystkich elementów, które są obecne w repozytorium danych i są używane głównie do przechowywania danych. Elementy te nie mogą być manipulowane bezpośrednio przez użytkowników końcowych. Walidacja serwerów baz danych jest jedną z najważniejszych kwestii, a testerzy, którym uda się ukończyć tę fazę, z powodzeniem zdobywają mistrzostwo w zapytaniach SQL.
Różne typy testów strukturalnych to:
-
Testowanie schematu
Ten typ testowania jest również nazywany testowaniem mapowania i jest wykonywany w celu upewnienia się, że mapowanie schematu frontonu i zaplecza jest zsynchronizowane. Niektóre z ważnych punktów kontrolnych tego testu to:
- Weryfikuje różne typy formatów schematów, które są powiązane z bazami danych.
- Weryfikacja jest wymagana w przypadku niezmapowanych tabel/widoków/kolumn.
- Weryfikacja jest również wymagana w celu zapewnienia spójności heterogenicznych baz danych w środowisku z ogólnym mapowaniem aplikacji.
- Zapewnia różne narzędzia do walidacji schematu bazy danych.
-
Testowanie tabel i kolumn bazy danych
Niektóre z ważnych punktów kontrolnych tego testu to:
- Zgodność mapowania pól i kolumn bazy danych na zapleczu i na interfejsie użytkownika.
- Weryfikacja długości i konwencji nazewnictwa pól i kolumn bazy danych zgodnie z wymaganiami.
- Wykrywanie i weryfikowanie wszelkich nieużywanych/niezmapowanych tabel/kolumn bazy danych.
- Weryfikacja zgodności typu danych i długości pól w kolumnach bazy danych zaplecza z interfejsem aplikacji.
- Sprawdza, czy użytkownicy są w stanie zapewnić pożądane dane wejściowe, korzystając z pól bazy danych, które są określone w dokumentach specyfikacji wymagań biznesowych.
-
Testowanie kluczy i indeksów
Niektóre z ważnych punktów kontrolnych tego testu to:
- Upewnij się, że wymagane ograniczenia dotyczące klucza podstawowego i klucza obcego znajdują się już w wymaganych tabelach.
- Zweryfikuj referencje kluczy obcych.
- Upewnij się, że w dwóch tabelach typ danych klucza podstawowego i odpowiadające mu klucze obce są takie same.
- Zweryfikuj nazwy wszystkich kluczy i indeksów na podstawie konwencji nazewnictwa.
- Sprawdź wymagane pola oraz rozmiar i długość indeksów.
- Zapewnij utworzenie indeksów klastrowych i indeksów nieklastrowych w wymaganych tabelach zgodnie z wymaganiami biznesowymi.
-
Testowanie zapisanych procedur
Niektóre z ważnych punktów kontrolnych tego testu to:
- Zweryfikuj przyjęcie wymaganych standardowych konwencji kodowania, obsługi wyjątków i błędów dla wszystkich procedur składowanych przez zespół programistów we wszystkich modułach testowanej aplikacji.
- Upewnij się, że zespół programistów pokrył wszystkie warunki/pętle, stosując wymagane dane wejściowe do testowanej aplikacji.
- Sprawdź, czy zespół programistów prawidłowo zastosował operacje TRIM, czy nie, za każdym razem, gdy dane były pobierane z określonych tabel bazy danych.
- Upewnij się, że wymagane dane wyjściowe są generowane przez ręczne wykonanie zapisanych procedur.
- Upewnij się, że pola tabeli są aktualizowane zgodnie z testowaną aplikacją, wykonując ręcznie procedury przechowywane.
- Upewnij się, że wymagane wyzwalacze są niejawnie wywoływane, wykonując procedury składowane.
- Wykryj i zweryfikuj wszelkie nieużywane procedury składowane.
- Weryfikowanie warunku Null na poziomie bazy danych.
- Upewnij się, że wszystkie zapisane procedury i funkcje zostały wykonane i przetestowane na pustej bazie danych, która jest testowana.
- Zweryfikuj ogólną integrację modułów procedur składowanych zgodnie z wymaganiami testowanej aplikacji.
-
Testowanie wyzwalania
Niektóre z ważnych punktów kontrolnych tego testu to:
- Sprawdzenie, czy wymagane konwencje kodowania są przestrzegane w fazie kodowania wyzwalaczy.
- Upewnij się, że wykonane wyzwalacze spełniają wymagane warunki dla odpowiednich transakcji DML.
- Sprawdź, czy dane są poprawnie aktualizowane po wykonaniu wyzwalaczy.
- Zweryfikuj funkcje, takie jak Aktualizuj, Wstaw, Usuń, które wyzwalają funkcjonalność testowanej aplikacji.
-
Weryfikacja serwera bazy danych
Niektóre z ważnych punktów kontrolnych tego testu to:
- Zweryfikuj konfiguracje serwera bazy danych zgodnie z wymaganiami biznesowymi.
- Upewnij się, że wymagany użytkownik wykonuje tylko te poziomy działań, które są wymagane przez testowaną aplikację.
- Upewnij się, że serwer bazy danych jest w stanie zaspokoić potrzeby maksymalnej liczby transakcji użytkownika, które są dozwolone zgodnie ze specyfikacjami wymagań biznesowych.
Testowanie funkcjonalne
Funkcjonalne testowanie baz danych to proces, który zapewnia, że transakcje i operacje wykonywane przez użytkowników końcowych są zgodne ze specyfikacjami biznesowymi.
Różne typy testów funkcjonalnych to:
- Testowanie czarnoskrzynkowe
Testowanie czarnej skrzynki odnosi się do procesu, który sprawdza różne funkcjonalności poprzez weryfikację integracji bazy danych. W tym przypadku przypadki testowe są zwykle proste i służą do weryfikacji danych przychodzących i wychodzących z funkcji. Do testowania funkcjonalności bazy danych stosuje się różne techniki, takie jak technika tworzenia wykresów przyczynowo-skutkowych, analiza wartości brzegowych i partycjonowanie równoważności. Zwykle jest wykonywany na wczesnych etapach rozwoju i kosztuje mniej w porównaniu z innymi testami funkcjonalnymi. Ma jednak pewne wady, takie jak niektóre błędy, które nie mogą być przez niego wykryte i nie ma specyfikacji, jaka część programu powinna być testowana.
- Testowanie białej skrzynki
Testowanie białej skrzynki dotyczy wewnętrznej struktury bazy danych, a użytkownicy nie są świadomi szczegółów specyfikacji. To testowanie wymaga testowania wyzwalaczy bazy danych i widoków logicznych, które obsługują refaktoryzację bazy danych. Ponadto testowane są w nim również funkcje bazodanowe, wyzwalacze, widoki, zapytania SQL itp. Testowanie białoskrzynkowe służy do walidacji tabel bazy danych, modeli danych, schematu bazy danych itp. Jest to zgodne z zasadami integralności referencyjnej i wybiera domyślne wartości tabel w celu weryfikacji spójności bazy danych. Techniki takie jak pokrycie warunków, pokrycie decyzji, pokrycie instrukcji itp. są często używane do wykonywania testów White Box. W przeciwieństwie do testów czarnoskrzynkowych błędy kodowania można łatwo wykryć, aby wyeliminować wewnętrzne błędy obecne w bazie danych. Jedyną wadą tego typu testów jest to, że nie obejmują one instrukcji SQL.
Testowanie niefunkcjonalne
Testowanie niefunkcjonalne to proces wykonywania testów obciążeniowych, testów warunków skrajnych, sprawdzania minimalnych wymagań systemowych wymaganych do spełnienia specyfikacji biznesowej wraz z wykrywaniem zagrożeń i optymalizacją wydajności bazy danych.
Główne typy testów niefunkcjonalnych to:
- Testowanie obciążenia
Podstawową funkcją wykonywania testów obciążenia jest sprawdzenie wpływu na wydajność większości działających transakcji w bazie danych. W tym teście tester musi sprawdzić następujące warunki:
- Jaki jest czas odpowiedzi wymagany do wykonania transakcji dla wielu użytkowników zlokalizowanych zdalnie?
- Jaki czas zajmuje baza danych na pobranie określonych rekordów?
- Testowanie warunków skrajnych
Testowanie warunków skrajnych to proces testowania przeprowadzany w celu zidentyfikowania punktu przerwania systemu. Dlatego w tym teście aplikacja jest ładowana do momentu awarii systemu. Ten punkt jest znany jako punkt przerwania systemu baz danych. Powszechnie używane narzędzia do testowania warunków skrajnych to LoadRunner i Zwycięzca .
Zobaczmy teraz, jakie są różne etapy testowania bazy danych.
Etapy testowania bazy danych
Testowanie bazy danych nie jest żmudnym procesem i obejmuje różne etapy cyklu życia testowania bazy danych zgodnie z procesami testowymi.
Kluczowe etapy testowania baz danych to:
- Skonfiguruj wstępne wymagania testowe
- Wykonaj testy
- Zweryfikuj stan testu
- Weryfikuj wyniki
- Skonsoliduj i opublikuj raport
Teraz, gdy już wiesz, czym jest testowanie baz danych i jak je wykonywać, pozwól, że rzucę nieco światła na różne narzędzia, które są głównie używane do testowania baz danych.
Narzędzia do testowania bazy danych
Istnieje wiele narzędzi na rynku używanych do generowania danych testowych, zarządzania nimi i wreszcie wykonywania testów baz danych, takich jak testowanie obciążenia i testowanie regresji, itp. Poniżej wymieniłem poniżej kilka najbardziej preferowanych narzędzi:
Kategoria | Narzędzia |
Narzędzia bezpieczeństwa danych |
|
Narzędzia do testowania obciążenia |
|
Narzędzia do generowania danych testowych |
|
Narzędzie do zarządzania danymi testowymi |
|
Narzędzia do testów jednostkowych |
|
Więc chodziło o testowanie baz danych. Tym chciałbym zakończyć ten artykuł. Mam nadzieję, że ten artykuł pomógł Ci dodać wartość do Twojej wiedzy. Aby uzyskać więcej informacji na temat SQL lub baz danych, możesz zapoznać się z naszą obszerną listą lektur tutaj:Bazy danych Edureka .
Jeśli chcesz wziąć udział w zorganizowanym szkoleniu dotyczącym MySQL, zapoznaj się z naszym Szkoleniem certyfikacyjnym MySQL DBA który jest dostarczany z prowadzonym przez instruktora szkoleniem na żywo i doświadczeniem w rzeczywistych projektach. To szkolenie pomoże ci dogłębnie zrozumieć MySQL i pomoże ci osiągnąć mistrzostwo w tym temacie.
Masz do nas pytanie? Proszę o tym wspomnieć w sekcji komentarzy „Testowanie bazy danych ” i skontaktuję się z Tobą.