Co to jest testowanie bazy danych i jak to zrobić?



Ten artykuł na temat testowania baz danych wyjaśnia podstawy tego, czym jest testowanie bazy danych, dlaczego jest wykonywane, jego różne typy i popularne narzędzia.

Dane są sercem każdej aplikacji, podobnie jak który przechowuje te dane. Ale wraz ze wzrostem rozmiaru danych lub złożoności bazy danych rośnie również, co utrudnia obsługę danych. Dlatego walidacja danych staje się bardzo konieczna. W tym przypadku przydatne jest testowanie bazy danych i pomaga w sprawdzaniu 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 omówione w tym samouczku:





Więc zacznijmy.

Co to jest testowanie bazy danych?

Zanim opowiem o tym, czym jest testowanie baz danych, pozwól, że najpierw przedstawię ci bazy danych.Baza danych to nic innego jak systematyczne gromadzenie danych, które zapewnia przechowywanie danych i pomaga w manipulowaniu danymi. Zarządzanie danymi staje się bardzo łatwe przy użyciu tych baz danych, jak dbazy 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 walidacji danych przechowywanych w bazie danych poprzez weryfikację obiektów kontrolujących dane oraz różnych otaczających je funkcjonalności. Zasadniczo czynności 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.

Jednak do testowania baz danych bardzo ważna jest solidna znajomość języka SQL. Nie martw się, jeśli nie masz wymaganej wiedzy, możesz zapoznać się z tym artykułem pod adresem Podstawy SQL zacząć z tym.

Dlaczego testowanie baz danych?

Jak wiemy, baza danych to zbiór danych, w których gromadzone są olbrzymie ilości danych i przechowywane w ustrukturyzowanym formacie. Mimo że (DataBase Management System) zapewnia zorganizowany sposób zarządzania, pobierania i przechowywania tych danych, zdarzają się przypadki, w których dane mogą zostać zbędne, zduplikowane itp. W takich przypadkach pojawia się testowanie baz danych, co pomaga nam w walidacji danych. Poniżej wymieniłem różne aspekty, na podstawie których należy zweryfikować bazę danych:



  1. Mapowanie danych
    Mapowanie danych jest integralnym aspektem testowania bazy danych, który koncentruje się na walidacji danych, które przechodzą tam iz powrotem między aplikacją a bazą danych zaplecza.
  2. Walidacja właściwości ACID
    KWAS oznacza DO tomiczność, do nieustępliwość, ja solacja i re przydatność. To kolejny ważny aspekt, który należy potwierdzić przy każdej transakcji bazy danych.

    • Atomowość : Oznacza to, że wszystkie transakcje bazy danych są niepodzielne, tj. Transakcje mogą skutkować sukcesem lub niepowodzeniem. Znany również jako Wszystko albo nic .
    • Konsystencja : Oznacza to, że stan bazy danych pozostanie ważny po zakończeniu transakcji.
    • Izolacja : Oznacza to, że można wykonać wiele transakcji naraz bez wpływu na siebie nawzajem i zmiany stanu bazy danych.
    • Trwałość : Oznacza to, że raz zatwierdzona transakcja zachowa zmiany bezbłędnie, niezależnie od wpływu czynników zewnętrznych.
  3. 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 aktualizowania bazy danych, znanego również jako OKRUTNY operacje. Skupia 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.
  4. 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 udostępniają zapytania SQL, które są wystarczająco odpowiednie do walidacji złożonych obiektów.

Rodzaje testowania baz danych

Istnieją 3 rodzaje testów baz danych, które wymieniłem poniżej:

  1. Testowanie strukturalne
  2. Testy funkcjonalności
  3. Testowanie niefunkcjonalne

Przyjrzyjmy się teraz każdemu z tych typów i ich podtypom jeden po drugim.

jak testować bazę danych

Testowanie strukturalne

Testowanie strukturalnych baz danych to proces walidacji wszystkich elementów, które są obecne w repozytorium danych i są używane głównie do przechowywania danych. Tymi elementami nie mogą być bezpośrednio manipulowani użytkownicy końcowi. Walidacja serwerów baz danych jest jedną z najważniejszych kwestii, a testerzy, którym uda się ukończyć tę fazę, z powodzeniem zdobywają biegłość w zakresie zapytań SQL.

Różne rodzaje testów konstrukcyjnych to:

  • Testowanie schematu

Ten typ testowania jest również nazywany testowaniem mapowania i jest wykonywany w celu zapewnienia, że ​​mapowanie schematu interfejsu użytkownika 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ą skojarzone z bazami danych.
    • Weryfikacja jest wymagana dla niezamapowanych 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.
    • Udostępnia różne narzędzia do sprawdzania poprawności schematu bazy danych.
  • Testowanie tabel i kolumn w bazie danych

Niektóre z ważnych punktów kontrolnych tego testu to:

    • Zgodność mapowania pól bazy danych i kolumn 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 sprawdzanie poprawności wszystkich nieużywanych / niezamapowanych tabel / kolumn bazy danych.
    • Sprawdzanie 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 podać żądane dane wejściowe przy użyciu pól bazy danych określonych 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 Klucz podstawowy i Klucz obcy ograniczenia są już obecne w wymaganych tabelach.
    • Sprawdź poprawność odwołań do kluczy obcych.
    • Upewnij się, że w dwóch tabelach typ danych klucza podstawowego i odpowiadających mu kluczy obcych są takie same.
    • Sprawdź poprawność nazw wszystkich kluczy i indeksów w oparciu o konwencje nazewnictwa.
    • Sprawdź wymagane pola i indeksy rozmiar i długość.
    • Upewnij się, że w wymaganych tabelach zostały utworzone indeksy klastrowane i indeksy nieklastrowe, zgodnie z wymaganiami biznesowymi.
  • Testowanie procedur składowanych

Niektóre z ważnych punktów kontrolnych tego testu to:

    • Sprawdź, czy przyjęto wymagane konwencje standardu kodowania, obsługę 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 uwzględnił 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 zostały pobrane z określonych tabel bazy danych.
    • Upewnij się, że wymagane dane wyjściowe są generowane przez ręczne wykonanie procedur składowanych.
    • Upewnij się, że pola tabeli są zaktualizowane zgodnie z wymaganiami testowanej aplikacji, ręcznie wykonując procedury składowane.
    • Upewnij się, że wymagane wyzwalacze są niejawnie wywoływane przez wykonanie procedur składowanych.
    • Wykryj i zweryfikuj wszelkie nieużywane procedury składowane.
    • Walidacja warunku Null na poziomie bazy danych.
    • Upewnij się, że wszystkie procedury i funkcje składowane zostały wykonane i przetestowane w pustej bazie danych, która jest testowana.
    • Sprawdź poprawność ogólnej integracji modułów procedur składowanych zgodnie z wymaganiami testowanej aplikacji.
  • Testowanie wyzwalacza

Niektóre z ważnych punktów kontrolnych tego testu to:

    • Sprawdzanie, 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.
    • Sprawdź poprawność funkcjonalności, takich jak Aktualizacja, Wstaw, Usuń, uruchamia funkcjonalność testowanej aplikacji.
  • Walidacje serwera bazy danych

Niektóre z ważnych punktów kontrolnych tego testu to:

    • Sprawdź poprawność konfiguracji serwera bazy danychzgodnie 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żytkowników, które są dozwolone, zgodnie ze specyfikacjami wymagań biznesowych.

Testy funkcjonalności

Testowanie funkcjonalnej bazy danych to proces zapewniający, że transakcje i operacje wykonywane przez użytkowników końcowych są zgodne ze specyfikacjami biznesowymi.

Różne rodzaje testów funkcjonalnych to:

  • Testowanie czarnoskrzynkowe

Testowanie czarnoskrzynkowe odnosi się do procesu sprawdzającego 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 stosowane są różne techniki, takie jak technika graficzna przyczynowo-skutkowa, analiza wartości granicznych i partycjonowanie równoważności. Zwykle jest wykonywany na wczesnych etapach rozwoju i kosztuje mniej w porównaniu z innymi testami funkcjonalnymi. Ale ma pewne wady, takie jak niektóre błędy nie mogą być przez niego wykryte i nie ma specyfikacji, jaka część programu powinna być testowana.

  • Testowanie w białej skrzynce

White Box Testing dotyczy wewnętrznej struktury bazy danych, a użytkownicy nie są świadomi szczegółów specyfikacji. To testowanie wymaga testowania wyzwalaczy bazy danych i logicznych widoków, które obsługują refaktoryzację bazy danych. Ponadto funkcje bazy danych, wyzwalacze, widoki, Zapytania SQL itp. są również w tym testowane. Testowanie białoskrzynkowe służy do sprawdzania poprawności tabel bazy danych, modeli danych, schematów bazy danych itp. Jest zgodne z regułami integralności referencyjnej i wybiera domyślne wartości tabeli w celu zweryfikowania spójności bazy danych.Techniki takie jak pokrycie warunków, pokrycie decyzji, pokrycie instrukcji itp. Są często używane do przeprowadzania testów białej skrzynki. W przeciwieństwie do testów czarnoskrzynkowych, błędy w kodowaniu 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.

co to jest hashmap w java

Testowanie niefunkcjonalne

Testowanie niefunkcjonalne to proces przeprowadzania testów obciążeniowych, testów warunków skrajnych, sprawdzania minimalnych wymagań systemowych wymaganych do spełnienia specyfikacji biznesowej wraz z wykrywaniem ryzyk i optymalizacją wydajności bazy danych.

Główne typy testów niefunkcjonalnych to:

  • Testowanie obciążenia

Podstawową funkcją wykonywania testów obciążenia jest weryfikacja wpływu na wydajność większości transakcji uruchomionych w bazie danych. W tym teście tester musi sprawdzić następujące warunki & minus

    • Jaki jest czas odpowiedzi wymagany do wykonywania transakcji dla wielu użytkowników zlokalizowanych zdalnie?
    • Ile czasu zajmuje baza danych na pobranie określonych rekordów?
  • Test naprężeń

Testowanie warunków skrajnych to proces testowania wykonywany w celu zidentyfikowania punktu przerwania systemu. Tak więc w tym teście aplikacja jest ładowana do momentu awarii systemu.Ten punkt jest znany jako punkt przerwania systemu baz danych. Powszechnie używanymi narzędziami do testów obciążeniowych są LoadRunner i WinRunner .

Zobaczmy teraz, jakie są poszczególne 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 bazy danych to:

  1. Skonfiguruj wstępne wymagania testowe
  2. Wykonaj testy
  3. Sprawdź status testu
  4. Sprawdź wyniki
  5. Skonsoliduj i opublikuj raport

Teraz, kiedy już wiesz, czym jest testowanie baz danych i jak je wykonać, pozwól mi teraz rzucić trochę światła na różne narzędzia, które są głównie używane do testowania baz danych.

Narzędzia do testowania baz danych

Na rynku dostępnych jest wiele narzędzi służących do generowania danych testowych, zarządzania nimi i wreszcie wykonywania testów baz danych, takich jak testy obciążeniowe i testy regresyjne, itp. Poniżej wymieniłem kilka z najbardziej preferowanych narzędzi:

Kategoria Przybory
Narzędzia bezpieczeństwa danych
  • Ochrona danych w IBM Optim
Narzędzia do testowania obciążenia
  • Wydajność sieci
  • Rad View
  • Rtęć
Narzędzia do generowania danych testowych
  • Data Factory
  • Generator danych DTM
  • Dane Turbo
Narzędzie do zarządzania danymi testowymi
  • Zarządzanie danymi testowymi IBM Optim
Narzędzia do testowania jednostek
  • SQLUnit
  • TSQLUnit
  • DBFit
  • DBUnit

A więc chodziło o testowanie baz danych. Na tym chciałbym zakończyć ten artykuł. Mam nadzieję, że ten artykuł pomógł Ci w podniesieniu wartości Twojej wiedzy. Aby uzyskać więcej informacji na temat SQL lub baz danych, możesz zapoznać się z naszą obszerną listą do czytania tutaj: .

Jeśli chcesz uzyskać ustrukturyzowane szkolenie dotyczące MySQL, sprawdź nasze który obejmuje szkolenie na żywo prowadzone przez instruktora i rzeczywiste doświadczenie projektowe. To szkolenie pomoże Ci dogłębnie zrozumieć MySQL i osiągnąć mistrzostwo w tym temacie.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy „ Testowanie baz danych ”I skontaktuję się z Tobą.