Datenbanktests - Übersicht

Das Testen der Datenbank umfasst das Durchführen der Datengültigkeit, das Testen der Datenintegrität, die Leistungsprüfung in Bezug auf die Datenbank sowie das Testen von Prozeduren, Triggern und Funktionen in der Datenbank.

Beispiel

Stellen Sie sich eine Anwendung vor, die die täglichen Transaktionsdetails für Benutzer erfasst und die Details in der Datenbank speichert. Aus Sicht der Datenbanktests sollten die folgenden Überprüfungen durchgeführt werden:

  • Die Transaktionsinformationen aus der Anwendung sollten in der Datenbank gespeichert sein und dem Benutzer korrekte Informationen liefern.

  • Informationen sollten nicht verloren gehen, wenn sie in die Datenbank geladen werden.

  • Es sollten nur abgeschlossene Transaktionen gespeichert und alle unvollständigen Vorgänge von der Anwendung abgebrochen werden.

  • Die Zugriffsberechtigung für die Datenbank sollte beibehalten werden. Es sollte kein nicht genehmigter oder nicht autorisierter Zugriff auf Benutzerinformationen gewährt werden.

Warum müssen Sie Datenbanktests durchführen?

Es gibt mehrere Gründe, warum Datenbanktests durchgeführt werden. Es ist erforderlich, Datenintegrität, Validierung und Datenkonsistenzprüfung für die Datenbank durchzuführen, da das Backend-System für die Speicherung der Daten verantwortlich ist und für mehrere Zwecke zugegriffen wird.

Im Folgenden sind einige häufige Gründe für Datenbanktests aufgeführt:

  • Um die Komplexität der Aufrufe des Datenbank-Backends zu verringern, erhöhen Entwickler die Verwendung von View und Stored Verfahren.

  • Diese Stored Verfahren und ViewsEnthält wichtige Aufgaben wie das Einfügen von Kundendaten (Name, Kontaktinformationen usw.) und Verkaufsdaten. Diese Aufgaben müssen auf mehreren Ebenen getestet werden.

  • Black-box testingDie Ausführung am Frontend ist wichtig, macht es jedoch schwierig, das Problem einzugrenzen. Tests im Backend-System erhöhen die Robustheit der Daten. Aus diesem Grund werden Datenbanktests auf dem Back-End-System durchgeführt.

  • In einer Datenbank stammen Daten aus mehreren Anwendungen, und es besteht die Möglichkeit, dass schädliche oder falsche Daten in der Datenbank gespeichert werden. Daher müssen die Datenbankkomponenten regelmäßig überprüft werden. Darüber hinaus sollten Datenintegrität und -konsistenz regelmäßig überprüft werden.

Datenbanktests vs. Front-End-Tests

Das Testen von Datenbanken unterscheidet sich vom Testen der Front-End-Benutzeroberfläche. Die folgende Tabelle zeigt die wichtigsten Unterschiede -

Datenbanktests UI-Tests

Datenbanktests werden als Datenvalidierungs- und Integritätstests oder Back-End-Tests bezeichnet.

UI-Tests oder Front-End-Tests werden auch als Anwendungstests oder GUI-Tests bezeichnet.

Beim Testen von Datenbanken werden Back-End-Komponenten getestet, die für Benutzer nicht sichtbar sind.

Dies umfasst Datenbankkomponenten und DBMS-Systeme wie My SQL, Oracle.

Beim Testen der Benutzeroberfläche werden die Funktionen einer Anwendung und ihrer Komponenten wie Formulare, Diagramme, Menüs, Berichte usw. überprüft.

Diese Komponenten werden mit Front-End-Entwicklungstools wie VB.net, C #, Delphi usw. erstellt.

Beim Testen von Datenbanken werden gespeicherte Prozeduren, Ansichten, Schemas in der Datenbank, Tabellen, Indizes, Schlüssel, Trigger, Datenüberprüfungen und Datenkonsistenzprüfungen überprüft.

Beim Testen der Benutzeroberfläche werden die Funktionalität der Anwendung, Schaltflächen, Formulare und Felder, Kalender und Bilder, die Navigation von einer Seite zur anderen und die Gesamtfunktionalität der Anwendung überprüft.

Um DB-Tests durchführen zu können, benötigt ein Tester gründliche Kenntnisse des Datenbankkonzepts - wie Prozeduren und Funktionen, Ansichten, Indizes, Schlüssel und gutes praktisches SQL.

Um UI-Tests durchführen zu können, benötigt ein Tester ein gutes Verständnis der Geschäftsanforderungen, der Anwendungsfunktionskenntnisse, der Codierung usw.

Daten stammen aus mehreren heterogenen Datenquellen über Webanwendungen, Intranetanwendungen und verschiedene andere Anwendungen.

Daten werden manuell in Anwendungen eingegeben. Es beinhaltet Funktionstests von Front-End-Anwendungen.