Testowanie baz danych - techniki
W tym rozdziale opisano najpopularniejsze techniki używane do testowania bazy danych.
Testowanie schematu bazy danych
Jak wspomniano wcześniej, obejmuje testowanie każdego obiektu w schemacie.
Weryfikacja baz danych i urządzeń
- Weryfikacja nazwy bazy danych
- Weryfikacja urządzenia danych, urządzenia rejestrującego i urządzenia zrzutowego
- Sprawdzanie, czy dla każdej bazy danych przydzielono wystarczającą ilość miejsca
- Weryfikacja ustawienia opcji bazy danych
Sprawdzanie reguł tabel, kolumn, typów kolumn
Sprawdź poniższe pozycje, aby poznać różnice między rzeczywistym a zastosowanym ustawieniem.
Nazwy wszystkich tabel w bazie danych
Nazwy kolumn dla każdej tabeli
Typy kolumn dla każdej tabeli
NULL wartość sprawdzona czy nie
Określa, czy wartość domyślna jest powiązana z poprawnymi kolumnami tabeli
Definicje reguł poprawiające nazwy tabel i uprawnienia dostępu
Klucz i indeksy
Sprawdź klucz i indeksy w każdej tabeli -
Klucz podstawowy dla każdej tabeli
Klucze obce dla każdej tabeli
Typy danych między kolumną klucza obcego a kolumną w innej tabeli Indeksy, klastrowe lub nieklastrowe unikalne lub nieunikalne
Testy procedur składowanych
Obejmuje sprawdzenie, czy procedura składowana jest zdefiniowana, a wyniki są porównywane. W teście procedury składowanej sprawdzane są następujące punkty -
Nazwa procedury składowanej
Nazwy parametrów, typy parametrów itp.
Output- czy wynik zawiera wiele rekordów. Zero wierszy zostanie uwzględnionych lub wyodrębnionych zostanie tylko kilka rekordów.
Jaka jest funkcja procedury składowanej, a czego procedura składowana nie powinna robić?
Przekazywanie przykładowych zapytań wejściowych w celu sprawdzenia, czy procedura składowana wyodrębnia poprawne dane.
Stored Procedure Parameters- Wywołaj procedurę składowaną z danymi granicznymi i prawidłowymi danymi. Unieważ każdy parametr raz i uruchom procedurę.
Return values- Sprawdź wartości zwracane przez procedurę składowaną. W przypadku niepowodzenia należy zwrócić wartość niezerową.
Error messages check- Wprowadź zmiany w taki sposób, aby procedura składowana nie powiodła się i przynajmniej raz wygeneruj każdy komunikat o błędzie. Sprawdź scenariusze wyjątków, jeśli nie ma wstępnie zdefiniowanego komunikatu o błędzie.
Testy wyzwalania
W teście wyzwalacza tester musi wykonać następujące zadania -
- Upewnij się, że nazwa wyzwalacza jest poprawna.
- Sprawdź poprawność wyzwalacza, jeśli został wygenerowany dla określonej kolumny tabeli.
- Weryfikacja aktualizacji wyzwalacza.
- Zaktualizuj rekord, podając prawidłowe dane.
- Zaktualizuj rekord z nieprawidłowymi danymi i zakryj każdy błąd wyzwalacza.
- Zaktualizuj rekord, gdy nadal odwołuje się do niego wiersz w innej tabeli.
- Zapewnij wycofywanie transakcji w przypadku awarii.
- Dowiedz się o przypadkach, w których wyzwalacz nie powinien cofać transakcji.
Skrypty konfiguracji serwera
Należy przeprowadzić dwa rodzaje testów -
- Konfigurowanie bazy danych od podstaw i
- Aby skonfigurować istniejącą bazę danych.
Testy integracji SQL Server
Testy integracyjne należy przeprowadzić po zakończeniu testów modułowych.
Należy intensywnie wywoływać procedury składowane, aby wybierać, wstawiać, aktualizować i usuwać rekordy w różnych tabelach w celu znalezienia wszelkich konfliktów i niezgodności.
Wszelkie konflikty między schematem a wyzwalaczami.
Wszelkie konflikty między procedurami składowanymi a schematem.
Wszelkie konflikty między procedurami składowanymi i wyzwalaczami.
Metoda testowania funkcjonalnego
Testowanie funkcjonalne można przeprowadzić, dzieląc bazę danych na moduły zgodnie z funkcjonalnością. Funkcje są dwojakiego rodzaju -
Type 1- W testach typu 1 poznaj cechy projektu. Dla każdej głównej funkcji znajdź schemat, wyzwalacze i procedury składowane odpowiedzialne za implementację tej funkcji i umieść je w grupie funkcjonalnej. Następnie przetestujcie razem każdą grupę.
Type 2- W testach typu 2 granica grup funkcjonalnych w zapleczu nie jest oczywista. Możesz sprawdzić przepływ danych i zobaczyć, gdzie możesz je sprawdzić. Zacznij od front-endu.
Następujący proces ma miejsce -
Gdy usługa ma żądanie lub zapisuje dane, wywoływane są niektóre procedury składowane.
Procedury zaktualizują niektóre tabele.
Te procedury składowane będą miejscem do rozpoczęcia testowania, a te tabele będą miejscem do sprawdzenia wyników testów.
Test naprężeń
Testowanie warunków skrajnych polega na uzyskaniu listy głównych funkcji bazy danych i odpowiednich procedur składowanych. Postępuj zgodnie z instrukcjami podanymi poniżej, aby wykonać testy warunków skrajnych -
Napisz skrypty testowe, aby wypróbować te funkcje, a każda funkcja musi zostać sprawdzona przynajmniej raz w pełnym cyklu.
Wykonuj skrypty testowe wielokrotnie przez określony czas.
Weryfikacja plików dziennika w celu sprawdzenia wszelkich zakleszczeń, braku pamięci, uszkodzenia danych itp.
Testy porównawcze
Jeśli w Twojej bazie danych nie ma żadnych problemów z danymi ani błędów, można sprawdzić wydajność systemu. Słabe działanie systemu można znaleźć w testach porównawczych, sprawdzając parametry podane poniżej -
- Wydajność na poziomie systemu
- Zidentyfikuj najczęściej używane funkcje / cechy
- Czas - maksymalny czas, minimalny czas i średni czas wykonywania funkcji
- Dostęp do głośności
Testowanie bazy danych za pośrednictwem interfejsu użytkownika
Błędy zaplecza można również czasami znaleźć, wykonując testy front-end. Możesz wykonać proste kroki podane poniżej, aby wykryć błędy za pomocą testów front-end.
Pisz zapytania z front-endu i przeprowadzaj wyszukiwania.
Wybierz istniejący rekord, zmień wartości w niektórych polach i zapisz rekord. (Obejmuje instrukcję UPDATE lub aktualizację procedur składowanych i wyzwalaczy aktualizacji).
Wstaw nową pozycję menu w oknie frontonu. Wypełnij informacje i zapisz rekord. (Obejmuje instrukcje INSERT lub procedury składowane wstawiania i wyzwalacze usuwania).
Wybierz istniejący rekord, kliknij przycisk USUŃ lub USUŃ i potwierdź usunięcie. (Obejmuje instrukcję DELETE lub usuwanie procedur składowanych i wyzwalaczy usuwania).
Powtórz te przypadki testowe z nieprawidłowymi danymi i zobacz, jak odpowiada baza danych.