Testowanie baz danych - przegląd
Testowanie bazy danych obejmuje sprawdzanie poprawności danych, testowanie integralności danych, kontrolę wydajności związaną z bazą danych oraz testowanie procedur, wyzwalaczy i funkcji w bazie danych.
Przykład
Rozważ aplikację, która przechwytuje szczegóły codziennych transakcji dla użytkowników i przechowuje je w bazie danych. Z punktu widzenia testowania bazy danych należy przeprowadzić następujące kontrole -
Informacje transakcyjne z aplikacji powinny być przechowywane w bazie danych i powinny dostarczać użytkownikowi poprawnych informacji.
Informacje nie powinny zostać utracone podczas ładowania do bazy danych.
Należy przechowywać tylko zakończone transakcje, a wszystkie niekompletne operacje powinny zostać przerwane przez aplikację.
Należy zachować uprawnienia dostępu do bazy danych. Nie należy zapewniać niezatwierdzonego lub nieautoryzowanego dostępu do informacji o użytkowniku.
Dlaczego musisz przeprowadzać testy bazy danych?
Istnieje wiele powodów, dla których przeprowadza się testy bazy danych. Istnieje potrzeba przeprowadzania integralności danych, walidacji i sprawdzania spójności danych w bazie danych, ponieważ system zaplecza jest odpowiedzialny za przechowywanie danych i jest dostępny w wielu celach.
Poniżej podano kilka typowych powodów testowania bazy danych -
Aby uprościć złożoność wywołań do zaplecza bazy danych, programiści zwiększają użycie View i Stored Procedury.
Te Stored procedury i Viewszawierają krytyczne zadania, takie jak wprowadzanie danych klienta (imię i nazwisko, dane kontaktowe itp.) oraz danych sprzedaży. Zadania te należy przetestować na kilku poziomach.
Black-box testingwykonywane na froncie jest ważne, ale utrudnia wyodrębnienie problemu. Testowanie w systemie zaplecza zwiększa niezawodność danych. Dlatego testowanie bazy danych jest wykonywane w systemie zaplecza.
W bazie danych dane pochodzą z wielu aplikacji i istnieje możliwość, że w bazie danych są przechowywane szkodliwe lub nieprawidłowe dane. Dlatego istnieje potrzeba regularnego sprawdzania składników bazy danych. Ponadto należy regularnie sprawdzać integralność i spójność danych.
Testowanie bazy danych a testowanie front-end
Testowanie bazy danych różni się od testowania interfejsu użytkownika. Poniższa tabela przedstawia kluczowe różnice -
Testowanie baz danych | Testowanie interfejsu użytkownika |
---|---|
Testowanie baz danych jest znane jako sprawdzanie poprawności danych i testowanie integralności lub testy wewnętrzne. |
Testowanie interfejsu użytkownika lub testowanie front-end jest również nazywane testowaniem aplikacji lub testowaniem GUI. |
Testowanie baz danych polega na testowaniu komponentów zaplecza, które nie są widoczne dla użytkowników. Obejmuje to komponenty baz danych i systemy DBMS, takie jak My SQL, Oracle. |
Testowanie UI polega na sprawdzeniu funkcjonalności aplikacji i jej komponentów, takich jak formularze, wykresy, menu, raporty itp. Te komponenty są tworzone przy użyciu narzędzi programistycznych typu front-end, takich jak VB.net, C #, Delphi itp. |
Testowanie bazy danych obejmuje sprawdzanie procedur składowanych, widoków, schematów w bazie danych, tabel, indeksów, kluczy, wyzwalaczy, sprawdzanie poprawności danych i sprawdzanie spójności danych. |
Testowanie interfejsu użytkownika obejmuje sprawdzenie funkcjonalności aplikacji, przycisków, formularzy i pól, kalendarza i obrazów, nawigacji z jednej strony na drugą oraz ogólnej funkcjonalności aplikacji. |
Aby przeprowadzić testowanie bazy danych, tester potrzebuje dogłębnej znajomości koncepcji bazy danych - takiej jak procedury i funkcje, widoki, indeksy, klucze i dobra praktyczna znajomość języka SQL. |
Aby przeprowadzić testy interfejsu użytkownika, tester musi dobrze rozumieć wymagania biznesowe, wiedzę o funkcjonowaniu aplikacji, kodowanie itp. |
Dane pochodzą z wielu heterogenicznych źródeł danych w aplikacjach internetowych, intranetowych i różnych innych aplikacjach. |
Dane są wprowadzane ręcznie do aplikacji. Polega na funkcjonalnym testowaniu aplikacji front-end. |