database crud testing through ui with sample test cases
Was sind CRUD-Operationen und wie werden CRUD-Tests über die Benutzeroberfläche durchgeführt:
Menschen haben schon vor einigen Jahrzehnten damit begonnen, Informationen zu speichern! In jenen Tagen wurden Flat-File-Datenbanken in der Computerhistorie verwendet, in denen alle Daten in einer Datei gespeichert wurden.
Später, Anfang der 1970er Jahre, entwickelte IBM das erste relationale Datenbankmodell, das „Indizes“ einführte, um die Daten einfach abzurufen.
Was du lernen wirst:
- CRUD Operations Übersicht
- Warum ist das Testen von Datenbanken wichtig?
- Die 4 grundlegenden Datenbankfunktionen
- Definition von CRUD
- CRUD-Tests
- Wie teste ich die CRUD-Funktionalität einer Software?
- Fazit
- Literatur-Empfehlungen
CRUD Operations Übersicht
Derzeit ist das am häufigsten verwendete Datenspeichersystem das Datenbank Hier erstellt, liest, aktualisiert und löscht die Software die Daten über Abfragen. Computersoftware kann durch ordnungsgemäß gestaltete Datenbanken und Abfragen schneller und effektiver auf die Benutzeranforderungen reagieren.
Dies impliziert, dass das Testen und Überprüfen der Datenbank ein sehr wichtiger Faktor ist.

Antworten auf grafische Benutzeroberflächen (GUI) wie Fehlermeldungen, Erfolgsmeldungen usw. werden von fast allen Testmanagern als sehr wichtig angesehen. Dies liegt daran, dass die grafische Benutzeroberfläche der sichtbare Teil einer Anwendung ist, den die Benutzer sehen können. Das Testen von Datenbanken ist jedoch ebenso wichtig wie das Testen von Datenbanken.
Aus meiner Erfahrung heraus habe ich viele manuelle Tester gesehen, die dies als mühsamen Job betrachten, aber das ist eigentlich nicht so.
In diesem Tutorial werden wir das Testen der Funktionalität von Black-Box-Datenbanken über Benutzeroberflächen- und MySQL-Abfragen auf einfache Weise anhand einfacher Beispiele erläutern.
Warum ist das Testen von Datenbanken wichtig?
Die folgenden Punkte erläutern kurz die Bedeutung von Datenbanktests.
- Daten sind ein wichtiges Gut und müssen gespeichert und geschützt werden.
- Datenbanken werden mit neuen Technologien und Plattformen immer komplexer. Daher steigt die Wahrscheinlichkeit von Fehlern.
- Mit den in der Datenbank gespeicherten Werten können kritische Funktionen verknüpft sein.
- Probleme in der Datenbank oder bei Abfragen können zu schwerwiegenden Funktionsproblemen führen.
- Um sicherzustellen, dass die Daten richtig zugeordnet sind oder nicht.
Datenbanktests können als Komponententest durchgeführt werden. Black-Box-Test , White-Box-Test und grauer Kastentext.
Die 4 grundlegenden Datenbankfunktionen
Datenbankbasierte Software verfügt im Allgemeinen über vier Hauptfunktionen, die aus den folgenden Beispielen ersichtlich werden.
Beispiel 1:
Facebook, die bekannteste Social-Networking-Website.

- Sie können ein neues Konto erstellen
- Zeigen Sie Ihre Kontodaten an
- Kontodetails bearbeiten
- Löschen Sie das Konto
- Sie können Kommentare erstellen
- Zeigen Sie sie an
- Bearbeiten Sie sie
- Lösche sie
Beispiel 2:
LinkedIn, die berühmte Website für die Jobsuche:

bester kostenloser Optimierer für Windows 10
- Sie können Ihr Profil erstellen
- Schau es dir an
- Bearbeite es
- Lösche es
- Sie können Beiträge hinzufügen
- Zeigen Sie sie an
- Bearbeiten Sie sie
- Lösche sie
Haben Sie hier eine Reihe gemeinsamer Aktivitäten bemerkt?
Ja! Du hast recht.
Die meisten Programme unterstützen diese Funktionen zum Erstellen, Anzeigen, Bearbeiten und Löschen des Begriffs GRAUSAM kommt.
Definition von CRUD
In der Computerprogrammierung GRAUSAM steht für Erstellen, Lesen, Aktualisieren und Löschen. Dies sind die vier Haupt- und Grundfunktionen des persistenten Speichers. Diese werden häufig in Softwareanwendungen über Formulare ausgeführt.
- Erstellen - Fügen Sie einen Eintrag in die Datenbank ein.
- Lesen oder Abrufen - Wählen Sie den Eintrag aus der Datenbank aus und zeigen Sie ihn an.
- Aktualisieren - AKTUALISIEREN Sie den Eintrag ganz oder teilweise.
- Löschen oder Zerstören - DROP / DELETE den Eintrag.
Abhängig von den Softwareanforderungen können die CRUD-Zyklen variieren.
Zum Beispiel: Manchmal erstellt der Verkäufer ein Konto und der Benutzer zeigt es an. Der Benutzer hat möglicherweise nicht die Berechtigung, es zu bearbeiten oder zu löschen. Andererseits könnte die Anforderung sein: Der Benutzer erstellt sein Konto und der Verkäufer überprüft und genehmigt es. Diese Zyklen sind aus Sicht eines Testers sehr wichtig.
Für die oben diskutierten Funktionen wird eine entsprechende Abfrage in der Datenbank ausgeführt.
Im Folgenden finden Sie Beispiele für MYSQL-Abfragen für jede Aktion
| Aktion | Beispielabfrage |
|---|---|
| ERSTELLEN | INSERT INTO Tabellenname (Spalte1, Spalte2, Spalte3, ...) WERTE (Wert1, Wert2, Wert3, ...); |
| LESEN | SELECT * aus Tabelle; |
| AKTUALISIEREN | UPDATE Tabellenname SET Spalte1 = Wert11, Spalte2 = Wert22 WO Bedingung; |
| LÖSCHEN | DELETE FROM TABLE tabellenname wobei column1 = 'value11'; |
Drei Variationen von CRUD sind BROT (Durchsuchen, Lesen, Bearbeiten, Hinzufügen, Löschen), DAVE (Löschen, Hinzufügen, Anzeigen, Bearbeiten) und CRAP (Erstellen, Replizieren, Anhängen, Verarbeiten).
CRUD-Tests
CRUD-Tests sind Black-Box-Tests der Datenbankfunktionalität.
Wie wir wissen, betrachtet das Black-Box-Testen das Testsoftwaresystem als „Black-Box“, und die Tests werden über die Benutzeroberfläche durchgeführt.
Wir haben verstanden, dass jede Front-End-Aktion wie die Registrierung eines Kontos, das Bearbeiten persönlicher Daten, das Anzeigen von Details, das Löschen eines Kontos usw. eine entsprechende CRUD-Aktion in der Datenbank enthält. CRUD-Tests werden durchgeführt, um zu überprüfen, ob diese Aktionen in der Datenbank korrekt wiedergegeben werden oder nicht.
CRUD-Tests unterscheiden sich von herkömmlichen Black-Box-Front-End-Tests, bei denen nach einer Benutzerregistrierung usw. nach Erfolgsmeldungen wie 'Konto erfolgreich erstellt' gesucht wird. Hier müssen wir prüfen, ob die Kontodaten tatsächlich in die Datenbank eingegeben werden oder nicht.
Es gibt zwei Möglichkeiten, wie ein manueller Tester dies tun kann:
# 1) Führen Sie Abfragen selbst aus- - Tester mit einem guten Verständnis der SQL-Sprache und der Softwareanforderungen können ihre eigenen Abfragen zum Testen der Datenbank stellen. Auf diese Weise können alle möglichen Fälle mit guten Abfragen überprüft werden.
# 2) Führen Sie Abfragen mit Hilfe eines Entwicklers aus- - Tester können mit der Überprüfung der Benutzeroberfläche der Anwendung beginnen und Anfragen vom Entwickler erhalten.
Die folgenden Fragen sollten beim Schreiben von Testfällen für CRUD-Operationen berücksichtigt werden:
- Welche Art von CRUD-Aktion ist gültig und was ist für eine Testanwendung ungültig?
- Welche Beziehung haben / sollten die CRUD-Aktionen zueinander haben?
- Wann werden die CRUD-Aktionen ausgeführt?
- Wer greift auf die CRUD-Funktionalität zu? Setzt das System unterschiedliche Berechtigungen für unterschiedliche Benutzer?
Der allgemeine Testprozess für DB-Test unterscheidet sich nicht sehr von den üblichen manuellen Black-Box-GUI-Tests.
Mögen,
Schritt 1: Bereiten Sie die Testumgebung vor.
Schritt 2: Führen Sie die Testschritte aus.
Schritt 3: Überprüfen Sie das Testergebnis.
Schritt 4: Validieren Sie die tatsächlichen Ergebnisse gemäß den erwarteten Ergebnissen.
Schritt 5: Melden Sie Fehler und andere Ergebnisse.
Um das Testergebnis zu überprüfen, werden die GUI-Antwort und das Abfrageergebnis verwendet. Für CRUD-Black-Box-Tests benötigen wir nur eine Abfrage, die SELECT lautet.
Wie wir alle wissen, speichern Datenbanken Daten. Wenn wir die Daten abrufen müssen, wird die SELECT-Abfrage verwendet. Beim Black-Box-Testen müssen wir nur diese Abfrage verwenden, um festzustellen, ob die Aktionen über die Benutzeroberfläche die richtigen Reflexionen in der Datenbank aufweisen oder nicht.
'SELECT' kann auf folgende Arten verwendet werden:
# 1) Wenn ein Tester alle Daten überprüfen und verifizieren möchte, kann er das Startsymbol (*) in der SELECT-Abfrage verwenden. Dies ist die einfachste Form der SELECT-Abfrage.
SELECT * FROM table_name;Die obige Anweisung wählt alle Felder aus allen Zeilen aus der Tabelle table_name aus.
# 2) In einigen Fällen kann das erste Abfrageergebnis unübersichtlich sein. Wenn ein Tester nur an einigen Feldern interessiert ist, kann das folgende Skript verwendet werden.
wie man einen Fehlerbericht einreicht
SELECT ‘field_1’, ‘field_2’, ‘field_3’ FROM table_name;Die obige Anweisung wählt die Felder 'Feld_1', 'Feld_2' und 'Feld_3' aus allen Zeilen aus der Tabelle 'Tabellenname' aus.
#3) Wenn ein Tester die Ergebnisse anhand von Kriterien anzeigen möchte, kann die WHERE-Klausel verwendet werden.
SELECT ‘field_1’ FROM table_name WHERE field_2 = ‘success’;Die obige Anweisung wählt das Feld 'Feld_1' aus allen Zeilen aus der Tabelle 'Tabellenname' aus, wobei 'Feld2' 'Erfolg' ist.
Wie teste ich die CRUD-Funktionalität einer Software?
Folgendes berücksichtigen Beispiel einer Benutzeroberfläche, die bestimmte Benutzerrechte für die Verwendung der MySQL-Datenbank zum Speichern der Daten ermöglicht.
| BEISPIEL | DATENBANKDETAILS |
|---|---|
| 1. Kann ein Produkt mit allen Details wie Produktname, Produktbeschreibung und Produktpreis mithilfe des Formulars 'Produkt hinzufügen' erstellen | Datenbank: Shopping_DB Tabelle: Produkt Felder: Produktname, Produktdetails, Produktpreis Erstellt eine Zeile in der Tabelle 'Produkt' mit Details, die in entsprechenden Feldern hinzugefügt werden |
| 2. Kann den Produktnamen, die Produktbeschreibung und den Produktpreis auf der Seite 'Produktdetails' lesen. | Datenbank: Shopping_DB Tabelle: Produkt Felder: Produktname, Produktdetails, Produktpreis Wählt alle Daten aus oder wählt bestimmte Daten aus der Tabelle 'Produkte' aus. |
| 3. Kann den Produktnamen, die Produktbeschreibung und den Produktpreis mithilfe des Formulars 'Produktbearbeitung' aktualisieren. | Datenbank: Shopping_DB Tabelle: Produkt Felder: Produktname, Produktdetails, Produktpreis Aktualisieren Sie alle Details oder bestimmte Details in einer bestimmten Zeile in der Tabelle 'Produkte'. |
| 4. Kann das Produkt löschen | Datenbank: Shopping_DB Tabelle: Produkt Felder: Produktname, Produktdetails, Produktpreis Löschen Sie alle Details in der Tabelle 'Produkte', indem Sie die Tabelle löschen oder eine bestimmte Zeile daraus löschen. |
Lassen Sie uns überprüfen, wie die CRUD-Funktionalität für diesen Fall überprüft werden kann.
Hinweis ::Führen Sie immer CRUD-Tests in den Datenbank-Dumps durch, da diese Tests Änderungen in der Datenbank verursachen können. Mit dem folgenden Befehl können Sie einen Speicherauszug der gesamten Datenbank erstellen.
$ mysqldump -u (uname) -p (pass) Shopping_DB> Shopping_DB_backup.sql
# 1) CREATE-Funktionalität
Beim Hinzufügen eines neuen Produktelements können die folgenden Schritte ausgeführt werden:
- Laden Sie das Formular 'Produkt hinzufügen'.
- Geben Sie den Produktnamen ein und sagen Sie 'Testname'.
- Geben Sie die Produktbeschreibung ein und sagen Sie 'Dies ist ein Testproduktdetail'.
- Geben Sie den Produktpreis ein und sagen Sie '100'.
- Senden Sie das Formular.
Ergebnis überprüfen:
- Der Tester überprüft manuell, ob das Produkt mit allen Details im Frontend der Softwareanwendung angezeigt wird.
- Der Tester führt die Abfrage im MYSQL-Datenbankserver aus, um zu überprüfen, ob die bestimmte Zeile vorhanden ist
Abfrage:
Unix Interview Fragen und Antworten für erfahrene
SELECT * FROM products WHERE product_name = ‘test name’;Abfrageergebnis von MySQL:
Eine Zeile mit den entsprechenden Details sollte wie folgt angezeigt werden:
| mysql> SELECT * FROM products WHERE Produktname = 'Testname'; + ------------- + ----------------------------- + ----- ------------ + | Produktname | Produktdetails | Produktpreis | + ------------- + ----------------------------- + ----- ------------ + | Testname | Dies sind Testproduktdetails 100 | |
Andere zu berücksichtigende Fälle:
- Bei einigen Systemen haben unterschiedliche Benutzer unterschiedliche Berechtigungen. In diesem Fall müssen Tester möglicherweise die Antwort für jede Benutzerrolle überprüfen.
- Wenn doppelte Produkte nicht zulässig sind, kann ein Tester dies überprüfen, indem er erneut ein Produkt mit denselben Details hinzufügt. Diesmal sollte die Datenbank keinen zweiten Eintrag haben, der demselben Produkt entspricht.
- Wenn die Software mehrere Produkterstellungen gleichzeitig zulässt, kann der Tester prüfen, ob alle Details aller Produkte in der Einreichung ordnungsgemäß in die Datenbank eingegeben wurden oder nicht.
- Probieren Sie verschiedene Eingabekombinationen aus.
- Überprüfen Sie, was während der Serverausfallzeit passiert.
# 2) READ-Funktionalität
Um zu überprüfen, ob der erstellte Eintrag lesbar ist, können Sie die folgenden Schritte ausführen:
- Erstellen Sie einige Produkte mit unterschiedlichen Eingabekombinationen mithilfe der CREATE-Funktionalität, z. B. Testname 1, Testname 2, Testname 3.
- Versuchen Sie, nach den Produkten zu suchen.
Ergebnis überprüfen:
- Der Tester überprüft manuell, ob die Produktdetails korrekt sind.
- Der Tester vergleicht die Details mit den in der Datenbank gespeicherten.
Abfrage:
| SELECT * FROM products WHERE Produktname = 'Testname 1' ODER Produktname = 'Testname 12' ODER Produktname = 'Testname 3'; |
Abfrageergebnis von MySQL:
Die Details der ausgewählten Produkte müssen angezeigt werden. Der Tester kann dies überprüfen und mit den Ergebnissen in der Benutzeroberfläche vergleichen.
| mysql> SELECT * FROM products WHERE Produktname = 'Testname 1' ODER Produktname = 'Testname 12' ODER Produktname = 'Testname 3'; + ------------- + ----------------------------- + ----- ------------ + | Produktname | Produktdetails | Produktpreis | + ------------- + ----------------------------- + ----- ------------ + | Testname 1 | Dies ist Testproduktdetail1 | 100 | | Testname 2 | Dies ist Testproduktdetail2 | 100 | | Testname 3 | Dies ist Testproduktdetail3 | 100 | |
Andere zu berücksichtigende Fälle:
- Zeigen Sie Elemente einzeln an.
- Mehrere Elemente gleichzeitig anzeigen.
- Es wird versucht, ein nicht vorhandenes Element anzuzeigen.
- Versuchen Sie, unter verschiedenen Bedingungen zu suchen.
- Versuchen Sie, die Funktionalität für verschiedene Benutzerrollen zu überprüfen.
- Überprüfen Sie, was während der Serverausfallzeit passiert.
# 3) UPDATE-Funktionalität
Um vorhandene Einträge zu bearbeiten oder zu aktualisieren, können folgende Schritte ausgeführt werden:
- Erstellen Sie ein Produkt mit der CREATE-Funktionalität.
- Bearbeiten Sie verschiedene Felder des Produkts und sagen Sie 'Testname' zu 'V-Ausschnitt'.
- einreichen
Ergebnis überprüfen:
- Der Tester überprüft manuell, ob sich die Produktdetails geändert haben
- Der Tester führt die MYSQL-Abfrage aus und sieht die Details
Abfrage:
SELECT * FROM products WHERE product_name = ‘V Neck Top’;Abfrageergebnis von MySQL:
Eine Zeile mit entsprechenden Details sollte angezeigt werden.
| mysql> SELECT * FROM products WHERE Produktname = 'V Neck Top'; + ------------- + ----------------------------- + ----- ------------ + | Produktname | Produktdetails | Produktpreis | + ------------- + ----------------------------- + ----- ------------ + | V Neck Top | Dies sind Testproduktdetails 100 | + ------------- + ----------------------------- + ----- ------------ + |
Wenn Sie mit einem alten Produktnamen suchen, sollte die Datenbank die Details nicht zurückgeben.
Andere zu berücksichtigende Fälle:
- Aktualisieren Sie mehrere Elemente gleichzeitig.
- Aktualisieren Sie auf einen bereits vorhandenen Schlüsselwert.
- Aktualisieren Sie alle Details oder Teildetails.
- Aktualisieren Sie die Felder mit verschiedenen Eingabekombinationen.
- Überprüfen Sie die aktualisierte Funktion auf verschiedene Berechtigungen.
- Überprüfen Sie, was während Serverausfallzeiten passiert.
# 4) DELETE-Funktionalität
Um die Löschfunktion zu überprüfen, können folgende Schritte ausgeführt werden:
- Erstellen Sie ein Produkt mit der Funktion CREATE.
- Löschen Sie das Produkt.
Ergebnis überprüfen:
- Der Tester prüft manuell, ob das Produkt von der Benutzeroberfläche entfernt wurde
- Der Tester überprüft die MySQL-Datenbank manuell und bestätigt, dass die entsprechende Zeile gelöscht wurde.
Abfrage ::
SELECT * FROM products WHERE product_name = ‘test name’;Abfrageergebnis von MySQL:
Dies sollte das Abfrageergebnis wie unten gezeigt anzeigen.
mysql>SELECT * FROM products WHERE product_name = ‘test name’; Empty set (0.00 sec)Andere zu berücksichtigende Fälle:
- Löschen Sie mehrere Elemente in einer einzigen Anforderung.
- Löschen Sie ein aktualisiertes Element.
- Nehmen Sie zwei Registerkarten und versuchen Sie, eine Löschanforderung für ein Produkt von beiden Registerkarten insgesamt zu geben.
Fazit
Datenbanktests sind sehr wichtig, da sie die Sicherheit und Zuverlässigkeit einer Softwareanwendung bestätigen. Die meisten Softwareanwendungen befassen sich mit dem Erstellen, Lesen, Aktualisieren und Löschen von Daten in / aus der Datenbank. Je nach Softwareanforderung können die CRUD-Zyklen variieren. Ein Tester sollte Testfälle basierend auf dem CRUD-Zyklus planen.
CRUD-Funktionen können manuell getestet und über die Benutzeroberfläche und die Datenbank überprüft werden. Die SELECT-Abfrage kann verwendet werden, um die Änderungen in der Datenbank zu überprüfen, die jeder CRUD-Operation entsprechen.
Sind Sie Experte für CRUD-Tests? Haben Sie interessante Fakten, die Sie unseren Lesern mitteilen können, die CRUD noch nicht kennen? Fühlen Sie sich frei, Ihre Gedanken / Vorschläge in den Kommentaren unten auszudrücken!
Literatur-Empfehlungen
- Datenbanktests mit JMeter
- Beispielfragebögen zur ISTQB-Testzertifizierung mit Antworten
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Hauptunterschiede zwischen Black-Box-Tests und White-Box-Tests
- Testen von Primer eBook Download
- Ein einfacher Ansatz für XML zum Testen von Datenbanken
- 40+ Best Database Testing Tools - Beliebte Datentestlösungen
- Tutorial zum Testen von GUI: Ein vollständiges Handbuch zum Testen der Benutzeroberfläche