Data Warehousing - Testen

Das Testen ist für Data Warehouse-Systeme sehr wichtig, damit sie korrekt und effizient funktionieren. Es gibt drei grundlegende Testebenen, die in einem Data Warehouse durchgeführt werden:

  • Unit Testing
  • Integrationstests
  • Systemtests

Unit Testing

  • Beim Unit-Test wird jede Komponente separat getestet.

  • Jedes Modul, dh Prozedur, Programm, SQL-Skript, Unix-Shell, wird getestet.

  • Dieser Test wird vom Entwickler durchgeführt.

Integrationstests

  • Beim Integrationstest werden die verschiedenen Module der Anwendung zusammengeführt und dann anhand der Anzahl der Eingaben getestet.

  • Es wird durchgeführt, um zu testen, ob die verschiedenen Komponenten nach der Integration gut funktionieren.

Systemtests

  • Beim Systemtest wird die gesamte Data Warehouse-Anwendung zusammen getestet.

  • Der Zweck des Systemtests besteht darin, zu überprüfen, ob das gesamte System ordnungsgemäß zusammenarbeitet oder nicht.

  • Systemtests werden vom Testteam durchgeführt.

  • Da das gesamte Data Warehouse sehr groß ist, können in der Regel nur minimale Systemtests durchgeführt werden, bevor der Testplan erstellt werden kann.

Test Plan

Zunächst wird der Testplan bei der Entwicklung des Testplans erstellt. In diesem Zeitplan prognostizieren wir den geschätzten Zeitaufwand für das Testen des gesamten Data Warehouse-Systems.

Es stehen verschiedene Methoden zur Verfügung, um einen Testplan zu erstellen, aber keine davon ist perfekt, da das Data Warehouse sehr komplex und umfangreich ist. Auch das Data Warehouse-System entwickelt sich in der Natur weiter. Beim Erstellen eines Testplans können folgende Probleme auftreten:

  • Ein einfaches Problem kann eine große Abfrage haben, deren Abschluss einen Tag oder länger dauern kann, dh die Abfrage wird nicht in einer gewünschten Zeitskala abgeschlossen.

  • Es kann zu Hardwarefehlern wie dem Verlust einer Festplatte oder menschlichen Fehlern wie dem versehentlichen Löschen einer Tabelle oder dem Überschreiben einer großen Tabelle kommen.

Note - Aufgrund der oben genannten Schwierigkeiten wird empfohlen, die Zeit, die Sie normalerweise für Tests benötigen, immer zu verdoppeln.

Testen der Backup-Wiederherstellung

Das Testen der Backup-Wiederherstellungsstrategie ist äußerst wichtig. Hier ist die Liste der Szenarien, für die dieser Test benötigt wird -

  • Medienfehler
  • Verlust oder Beschädigung des Tabellenbereichs oder der Datendatei
  • Verlust oder Beschädigung der Redo-Log-Datei
  • Verlust oder Beschädigung der Kontrolldatei
  • Instanzfehler
  • Verlust oder Beschädigung der Archivdatei
  • Verlust oder Beschädigung des Tisches
  • Fehler während eines Datenfehlers

Testen der Betriebsumgebung

Es gibt eine Reihe von Aspekten, die getestet werden müssen. Diese Aspekte sind unten aufgeführt.

  • Security- Für Sicherheitstests ist ein separates Sicherheitsdokument erforderlich. Dieses Dokument enthält eine Liste der nicht zulässigen Vorgänge und der Erstellung von Tests für jeden Vorgang.

  • Scheduler- Planungssoftware ist erforderlich, um den täglichen Betrieb eines Data Warehouse zu steuern. Es muss während des Systemtests getestet werden. Die Planungssoftware benötigt eine Schnittstelle zum Data Warehouse, über die der Planer die Verarbeitung über Nacht und die Verwaltung von Aggregationen steuern muss.

  • Disk Configuration.- Die Festplattenkonfiguration muss ebenfalls getestet werden, um E / A-Engpässe zu identifizieren. Der Test sollte mehrmals mit unterschiedlichen Einstellungen durchgeführt werden.

  • Management Tools.- Während des Systemtests müssen alle Management-Tools getestet werden. Hier ist die Liste der Tools, die getestet werden müssen.

    • Event Manager
    • Systemmanager
    • Datenbankmanager
    • Konfigurationsmanager
    • Backup Recovery Manager

Testen der Datenbank

Die Datenbank wird auf drei Arten getestet:

  • Testing the database manager and monitoring tools - Um den Datenbankmanager und die Überwachungstools zu testen, sollten sie beim Erstellen, Ausführen und Verwalten der Testdatenbank verwendet werden.

  • Testing database features - Hier ist die Liste der Funktionen, die wir testen müssen -

    • Parallel abfragen

    • Erstellen Sie parallel einen Index

    • Daten werden parallel geladen

  • Testing database performance- Die Ausführung von Abfragen spielt eine sehr wichtige Rolle bei der Messung der Leistung von Data Warehouse. Es gibt Sätze fester Abfragen, die regelmäßig ausgeführt werden müssen und getestet werden sollten. Um Ad-hoc-Abfragen zu testen, sollte man das Benutzeranforderungsdokument durchgehen und das Geschäft vollständig verstehen. Nehmen Sie sich Zeit, um die umständlichsten Fragen zu testen, die das Unternehmen wahrscheinlich anhand verschiedener Index- und Aggregationsstrategien stellt.

Testen der Anwendung

  • Alle Manager sollten korrekt integriert sein und arbeiten, um sicherzustellen, dass das Ende-zu-Ende-Laden, der Index, das Aggregat und die Abfragen den Erwartungen entsprechen.

  • Jede Funktion jedes Managers sollte korrekt funktionieren

  • Es ist auch erforderlich, die Anwendung über einen bestimmten Zeitraum zu testen.

  • Wochenend- und Monatsendaufgaben sollten ebenfalls getestet werden.

Logistik des Tests

Ziel des Systemtests ist es, alle folgenden Bereiche zu testen:

  • Planungssoftware
  • Tägliche Betriebsabläufe
  • Backup-Wiederherstellungsstrategie
  • Management- und Planungstools
  • Verarbeitung über Nacht
  • Abfrageleistung

Note- Der wichtigste Punkt ist das Testen der Skalierbarkeit. Wenn Sie dies nicht tun, erhalten wir ein Systemdesign, das nicht funktioniert, wenn das System wächst.