database crud testing through ui with sample test cases
Co to są operacje CRUD i jak przeprowadzać testy CRUD za pośrednictwem interfejsu użytkownika:
Ludzie zaczęli gromadzić informacje jeszcze przed kilkoma dziesięcioleciami! W tamtych czasach bazy danych z płaskim plikiem były używane w historii komputerów, gdzie wszystkie dane były przechowywane w pliku.
Później, na początku lat 70. IBM opracował pierwszy model relacyjnej bazy danych, w którym wprowadzono „indeksy” ułatwiające pobieranie danych.
Czego się nauczysz:
- Przegląd operacji CRUD
- Dlaczego testowanie bazy danych jest ważne?
- 4 podstawowe funkcje bazy danych
- Definicja CRUD
- Testowanie CRUD
- Jak przetestować funkcjonalność CRUD oprogramowania?
- Wniosek
- rekomendowane lektury
Przegląd operacji CRUD
Obecnie najpopularniejszym systemem przechowywania danych jest Baza danych gdzie oprogramowanie tworzy, odczytuje, aktualizuje i usuwa dane za pośrednictwem zapytań. Oprogramowanie komputerowe może szybciej i efektywniej reagować na wymagania użytkowników dzięki odpowiednio zaprojektowanej bazie danych i zapytaniom.
Oznacza to, że testowanie i weryfikacja bazy danych jest bardzo ważnym czynnikiem.
Odpowiedzi w postaci graficznego interfejsu użytkownika (GUI), takie jak komunikaty o błędach, komunikaty o sukcesie itp., Są uważane za bardzo ważne przez prawie wszystkich kierowników testów. Dzieje się tak, ponieważ GUI jest widoczną częścią aplikacji, którą użytkownicy mogą zobaczyć. Jednak testowanie bazy danych jest równie ważne.
Z mojego doświadczenia wynika, że widziałem wielu testerów manualnych, którzy uważają to za żmudną pracę, ale tak naprawdę nie jest.
W tym samouczku omówimy w prosty sposób testowanie funkcjonalności baz danych czarnych skrzynek za pomocą interfejsu użytkownika i zapytań MySQL z prostymi przykładami.
Dlaczego testowanie bazy danych jest ważne?
Poniższe punkty wyjaśniają znaczenie testowania baz danych w bardzo krótki sposób.
- Dane są ważnym zasobem i należy je zapisywać i chronić.
- Bazy danych stają się coraz bardziej złożone dzięki nowym technologiom i platformom. Dlatego szanse na błędy rosną.
- Z wartościami przechowywanymi w bazie danych mogą być powiązane krytyczne funkcjonalności.
- Problemy z bazą danych lub zapytaniami mogą prowadzić do poważnych problemów z funkcjonalnością.
- Aby upewnić się, że dane są poprawnie mapowane, czy nie.
Testowanie bazy danych można wykonać jako test jednostkowy, test czarnej skrzynki , test białoskrzynkowy i tekst w szarym polu.
4 podstawowe funkcje bazy danych
Oprogramowanie bazujące na bazach danych ma na ogół cztery główne funkcje, które jasno wynikają z poniższych przykładów.
Przykład 1:
Facebook, najbardziej znany portal społecznościowy.
- Możesz utworzyć nowe konto
- Wyświetl szczegóły swojego konta
- Edytuj szczegóły konta
- Usuń konto
- Możesz tworzyć komentarze
- Zobacz je
- Edytuj je
- Usuń ich
Przykład 2:
LinkedIn, słynna witryna wyszukiwania ofert pracy:
- Możesz stworzyć swój profil
- Zobacz
- Edytuj to
- Usuń to
- Możesz dodawać posty
- Zobacz je
- Edytuj je
- Usuń ich
Czy zauważyłeś tutaj zestaw typowych czynności?
Potrzebuję nowego dostawcy poczty e-mail
Tak! Masz rację.
Większość oprogramowania obsługuje te funkcje tworzenia, przeglądania, edycji i usuwania skąd termin OKRUTNY pochodzi.
Definicja CRUD
W programowaniu komputerowym OKRUTNY oznacza tworzenie, odczytywanie, aktualizowanie i usuwanie. Oto cztery główne i podstawowe funkcje pamięci trwałej. Są one często wykonywane w aplikacjach za pośrednictwem formularzy.
- Stwórz - WSTAW wpis do bazy danych.
- Czytać lub Pobierz - WYBIERZ wpis z bazy danych i wyświetl go.
- Aktualizacja - ZAKTUALIZUJ wpis całkowicie lub częściowo.
- Kasować lub Destroy - DROP / DELETE the entry.
W zależności od wymagań oprogramowania cykle CRUD mogą się różnić.
Na przykład: czasami sprzedawca tworzy konto, a użytkownik je przegląda. Użytkownik może nie mieć uprawnień do jego edycji lub usuwania. Z drugiej strony wymaganiem mogłoby być: użytkownik tworzy konto, a sprzedawca je weryfikuje i zatwierdza. Te cykle są bardzo ważne z punktu widzenia testera.
Dla omówionych powyżej funkcjonalności w bazie danych uruchomione jest odpowiednie zapytanie.
Poniżej podano przykłady zapytań MYSQL dla każdej akcji
Akcja | Przykładowe zapytanie |
---|---|
STWÓRZ | INSERT INTO nazwa_tabeli (kolumna1, kolumna2, kolumna3, ...) VALUES (wartość1; wartość2; wartość3; ...); |
CZYTAĆ | WYBIERZ * z tabeli; |
AKTUALIZACJA | UPDATE nazwa_tabeli SET kolumna1 = wartość11, kolumna2 = wartość22 GDZIE warunek; |
KASOWAĆ | DELETE FROM TABLE nazwa_tabeli gdzie kolumna1 = „wartość11”; |
Istnieją trzy odmiany CRUD CHLEB (Przeglądaj, Czytaj, Edytuj, Dodaj, Usuń), DAVE (Usuń, Dodaj, Wyświetl, Edytuj) i BZDURY (Tworzenie, replikacja, dołączanie, przetwarzanie).
Testowanie CRUD
Testowanie CRUD to testowanie funkcjonalności bazy danych metodą czarnej skrzynki.
Jak wiemy, testowanie czarnoskrzynkowe traktuje system oprogramowania testowego jako „czarną skrzynkę”, a testy są przeprowadzane poprzez interfejs użytkownika.
Zrozumieliśmy, że każda czynność frontendowa, taka jak rejestracja konta, edycja danych osobowych, przeglądanie szczegółów, usuwanie konta itp., Ma w bazie danych odpowiednią akcję CRUD. Testowanie CRUD jest wykonywane w celu sprawdzenia, czy te akcje odzwierciedlają się w bazie danych prawidłowo, czy nie.
Testowanie CRUD różni się od zwykłego testowania front-end z czarną skrzynką, w którym sprawdzamy komunikaty o sukcesie, takie jak „Pomyślnie utworzono konto” po rejestracji użytkownika itp. Tutaj musimy sprawdzić, czy dane konta są faktycznie wprowadzane do bazy danych, czy nie.
Tester ręczny może to zrobić na dwa sposoby:
# 1) Wykonuj zapytania samodzielnie- Testerzy dobrze rozumiejący język SQL i wymagania dotyczące oprogramowania mogą tworzyć własne zapytania w celu przetestowania bazy danych. W ten sposób wszystkie możliwe przypadki można zweryfikować za pomocą dobrych zapytań.
# 2) Wykonywanie zapytań z pomocą programisty- Testerzy mogą rozpocząć od weryfikacji interfejsu użytkownika aplikacji i uzyskać zapytania od programisty.
Podczas pisania przypadków testowych dla operacji CRUD należy wziąć pod uwagę następujące pytania:
- Jaki rodzaj akcji CRUD jest prawidłowy, a co nieprawidłowy dla aplikacji testowej?
- Jaki rodzaj relacji mają / powinny mieć ze sobą akcje CRUD?
- Kiedy wykonywane są akcje CRUD?
- Kto ma dostęp do funkcji CRUD? Czy system ustawia różne uprawnienia dla różnych użytkowników?
Ogólny proces testowania dla Testowanie DB nie różni się zbytnio od zwykłego ręcznego testowania GUI z czarną skrzynką.
Lubić,
Krok 1: Przygotuj środowisko testowe.
Krok 2: Wykonaj kroki testowe.
Krok 3: Sprawdź wynik testu.
Krok 4: Sprawdź poprawność rzeczywistych wyników zgodnie z oczekiwanymi wynikami.
Głębokie pierwsze wyszukiwanie c ++
Krok 5: Zgłaszaj błędy i inne ustalenia.
W celu sprawdzenia wyniku testu wykorzystuje się odpowiedź GUI i wynik zapytania. Do testowania czarnoskrzynkowych CRUD potrzebujemy tylko zapytania SELECT.
Jak wszyscy wiemy, bazy danych przechowują dane. Gdy potrzebujemy pobrać dane, używane jest zapytanie SELECT. W testach czarnoskrzynkowych musimy po prostu użyć tego zapytania, aby sprawdzić, czy działania za pośrednictwem interfejsu użytkownika pokazują właściwe odbicia w bazie danych, czy nie.
Funkcji „SELECT” można używać na następujące sposoby:
# 1) Jeśli tester chce sprawdzić i zweryfikować wszystkie dane, może użyć symbolu startu (*) w zapytaniu SELECT. To jest najprostsza forma zapytania SELECT.
SELECT * FROM table_name;
Powyższa instrukcja wybiera wszystkie pola ze wszystkich wierszy z tabeli nazwa_tabeli.
# 2) W niektórych przypadkach pierwszy wynik zapytania może być nieporządny. Jeśli tester jest zainteresowany tylko niektórymi polami, można użyć następującego skryptu.
SELECT ‘field_1’, ‘field_2’, ‘field_3’ FROM table_name;
Powyższa instrukcja wybiera pola „pole_1”, „pole_2” i „pole_3” ze wszystkich wierszy z tabeli nazwa_tabeli.
# 3) Jeśli tester chce zobaczyć wyniki w oparciu o dowolne kryteria, można użyć klauzuli WHERE.
SELECT ‘field_1’ FROM table_name WHERE field_2 = ‘success’;
Powyższa instrukcja wybiera pole „pole_1” ze wszystkich wierszy z tabeli nazwa_tabeli, gdzie „pole2” oznacza „sukces”.
Jak przetestować funkcjonalność CRUD oprogramowania?
Rozważ następujące Przykład interfejsu użytkownika, który umożliwia określone uprawnienia użytkownika do korzystania z bazy danych MySQL do przechowywania danych.
PRZYKŁAD | SZCZEGÓŁY BAZY DANYCH |
---|---|
1. Potrafi TWORZYĆ produkt ze wszystkimi szczegółami, w tym nazwą produktu, opisem produktu, ceną produktu za pomocą formularza „Dodaj produkt” | Baza danych: Shopping_DB Tabela: produkt Pola: nazwa_produktu, szczegóły_produktu, cena_produktu Tworzy wiersz w tabeli „produkt” ze szczegółami dodanymi w odpowiednich polach |
2. Potrafi CZYTAĆ szczegóły dotyczące nazwy produktu, opisu produktu, ceny produktu na „stronie szczegółów produktu”. | Baza danych: Shopping_DB Tabela: produkt Pola: nazwa_produktu, szczegóły_produktu, cena_produktu Wybiera wszystkie dane lub wybiera określone dane z tabeli „produkty” |
3. Potrafi zaktualizować nazwę produktu, opis produktu, cenę produktu za pomocą formularza „Edycja produktu”. | Baza danych: Shopping_DB Tabela: produkt Pola: nazwa_produktu, szczegóły_produktu, cena_produktu Zaktualizuj wszystkie szczegóły lub szczegółowe informacje w określonym wierszu tabeli „Produkty” |
4. Może USUNĄĆ produkt | Baza danych: Shopping_DB Tabela: produkt Pola: nazwa_produktu, szczegóły_produktu, cena_produktu Usuń wszystkie szczegóły w tabeli „produkty”, upuszczając tabelę lub usuwając z niej określony wiersz. |
Sprawdźmy, jak można sprawdzić funkcjonalność CRUD w tym przypadku.
Uwaga :Zawsze przeprowadzaj testy CRUD w zrzutach bazy danych, ponieważ te testy mogą powodować zmiany w bazie danych. Poniższe polecenie może służyć do wykonania zrzutu całej bazy danych.
$ mysqldump -u [uname] -p [pass] Shopping_DB> Shopping_DB_backup.sql
1) STWÓRZ funkcjonalność
Dodając nową pozycję produktu, można wykonać następujące kroki:
- Załaduj formularz „Product Add”.
- Wpisz nazwę produktu, powiedz „nazwa testu”.
- Wpisz opis produktu, powiedz „to są szczegóły produktu testowego”.
- Wpisz cenę produktu, powiedz „100”.
- Prześlij formularz.
Sprawdzanie wyniku:
- Tester ręcznie sprawdza, czy produkt jest wyświetlany ze wszystkimi szczegółami w interfejsie aplikacji.
- Tester wykonuje zapytanie na serwerze bazy danych MYSQL, aby sprawdzić, czy dany wiersz jest obecny
Pytanie:
SELECT * FROM products WHERE product_name = ‘test name’;
Wynik zapytania z MySQL:
jak stworzyć firewall od podstaw
Wiersz z odpowiednimi szczegółami powinien wyglądać jak:
mysql> SELECT * FROM products WHERE product_name = „nazwa testu”; + ------------- + ----------------------------- + ----- ------------ + | nazwa_produktu | product_details | cena_produktu | + ------------- + ----------------------------- + ----- ------------ + | nazwa testu | to są szczegóły produktu testowego | 100 | |
Inne sprawy do rozważenia:
- W przypadku niektórych systemów różni użytkownicy będą mieli różne uprawnienia. W takim przypadku testerzy mogą być zmuszeni do sprawdzenia odpowiedzi dla każdej roli użytkownika.
- Jeśli zduplikowane produkty są niedozwolone, tester może to sprawdzić, ponownie dodając produkt z tymi samymi szczegółami. Tym razem baza danych nie powinna mieć drugiego wpisu odpowiadającego temu samemu produktowi.
- Jeśli oprogramowanie pozwala na tworzenie wielu produktów jednocześnie, tester może sprawdzić, czy wszystkie szczegóły wszystkich zgłoszonych produktów zostały poprawnie wprowadzone do bazy danych, czy nie.
- Wypróbuj różne kombinacje danych wejściowych.
- Sprawdź, co się dzieje podczas przestoju serwera.
# 2) ODCZYTAJ Funkcjonalność
Aby sprawdzić, czy utworzony wpis jest czytelny, można wykonać następujące kroki:
- Twórz produkty z różnymi kombinacjami danych wejściowych za pomocą funkcji UTWÓRZ, powiedz nazwę testu 1, nazwę testu 2, nazwę testu 3.
- Spróbuj wyszukać produkty.
Sprawdzanie wyniku:
- Tester ręcznie sprawdza, czy dane produktu są poprawne.
- Tester porównuje dane z danymi zapisanymi w bazie danych.
Pytanie:
SELECT * FROM products WHERE product_name = „test name 1” OR product_name = „test name 12” OR product_name = „test name 3”; |
Wynik zapytania z MySQL:
Muszą zostać wyświetlone szczegóły wybranych produktów. Tester może to zweryfikować i porównać z wynikami w interfejsie użytkownika.
mysql> SELECT * FROM products WHERE product_name = „test name 1” OR product_name = „test name 12” OR product_name = „test name 3”; + ------------- + ----------------------------- + ----- ------------ + | nazwa_produktu | product_details | cena_produktu | + ------------- + ----------------------------- + ----- ------------ + | nazwa testu 1 | to jest szczegół produktu testowego1 | 100 | | nazwa testu 2 | to jest szczegół produktu testowego2 | 100 | | nazwa testu 3 | to jest szczegóły produktu testowego3 | 100 | |
Inne sprawy do rozważenia:
- Wyświetlaj elementy pojedynczo.
- Wyświetlaj wiele elementów jednocześnie.
- Próbuję wyświetlić element, który nie istnieje.
- Spróbuj wyszukać w innych warunkach.
- Spróbuj sprawdzić funkcjonalność dla różnych ról użytkowników.
- Sprawdź, co się dzieje podczas przestoju serwera.
# 3) UPDATE Funkcjonalność
Aby edytować lub aktualizować istniejące wpisy, można wykonać następujące kroki:
- Stwórz produkt korzystając z funkcji TWÓRZ.
- Edytuj różne pola produktu, powiedz „nazwa testu” do „V Neck Top”.
- Zatwierdź
Sprawdzanie wyniku:
- Tester ręcznie sprawdza, czy szczegóły produktu uległy zmianie
- Tester wykonuje zapytanie MYSQL i widzi szczegóły
Pytanie:
SELECT * FROM products WHERE product_name = ‘V Neck Top’;
Wynik zapytania z MySQL:
Powinien zostać wyświetlony wiersz z odpowiednimi szczegółami.
mysql> SELECT * FROM products WHERE product_name = „V Neck Top”; + ------------- + ----------------------------- + ----- ------------ + | nazwa_produktu | product_details | cena_produktu | + ------------- + ----------------------------- + ----- ------------ + | V Neck Top | to są szczegóły produktu testowego | 100 | + ------------- + ----------------------------- + ----- ------------ + |
Jeśli wyszukujesz ze starą nazwą produktu, baza danych nie powinna zwracać szczegółów.
Inne sprawy do rozważenia:
- Aktualizuj wiele elementów naraz.
- Zaktualizuj do wartości klucza, która już istnieje.
- Zaktualizuj wszystkie szczegóły lub częściowe szczegóły.
- Zaktualizuj pola różnymi kombinacjami danych wejściowych.
- Sprawdź zaktualizowaną funkcję dla różnych uprawnień.
- Sprawdź, co się dzieje podczas przestojów serwerów.
# 4) USUŃ Funkcjonalność
Aby sprawdzić funkcję usuwania, można wykonać następujące kroki:
- Stwórz produkt z funkcją TWÓRZ.
- Usuń produkt.
Sprawdzanie wyniku:
- Tester ręcznie sprawdza, czy produkt został usunięty z interfejsu użytkownika
- Tester ręcznie sprawdza bazę danych MySQL i potwierdza, że odpowiedni wiersz został usunięty.
Pytanie :
SELECT * FROM products WHERE product_name = ‘test name’;
Wynik zapytania z MySQL:
Powinno to wyświetlić wynik zapytania, jak pokazano poniżej.
mysql>SELECT * FROM products WHERE product_name = ‘test name’; Empty set (0.00 sec)
Inne sprawy do rozważenia:
- Usuń wiele elementów w jednym żądaniu.
- Usuń zaktualizowaną pozycję.
- Weź dwie karty i spróbuj wysłać żądanie usunięcia produktu z obu kart łącznie.
Wniosek
Testowanie bazy danych jest bardzo ważne, ponieważ potwierdza bezpieczeństwo i niezawodność aplikacji. Większość aplikacji zajmuje się tworzeniem, odczytywaniem, aktualizowaniem i usuwaniem danych do / z bazy danych. W zależności od wymagań oprogramowania cykle CRUD mogą się różnić. Tester powinien zaplanować przypadki testowe w oparciu o cykl CRUD.
Funkcjonalności CRUD można testować ręcznie i weryfikować z poziomu interfejsu użytkownika i bazy danych. Zapytanie SELECT może służyć do weryfikacji zmian w bazie danych odpowiadających każdej operacji CRUD.
Czy jesteś ekspertem w testowaniu CRUD? Czy masz jakieś interesujące fakty, którymi chcesz się podzielić z naszymi czytelnikami, którzy są nowicjuszami w CRUD? Zapraszam do wyrażania swoich przemyśleń / sugestii w sekcji komentarzy poniżej !!
rekomendowane lektury
- Testowanie bazy danych za pomocą narzędzia JMeter
- ISTQB Testing Certification Przykładowe pytania z odpowiedziami
- Najlepsze narzędzia do testowania oprogramowania 2021 [Narzędzia do automatyzacji testów QA]
- Kluczowe różnice między testami czarnoskrzynkowymi a białoskrzynkowymi
- Testing Primer Pobierz eBook
- Proste podejście do testów XML w bazach danych
- Ponad 40 najlepszych narzędzi do testowania baz danych - popularne rozwiązania do testowania danych
- Samouczek testowania GUI: kompletny przewodnik testowania interfejsu użytkownika (UI)