comprehensive hadoop testing tutorial big data testing guide
In diesem Tutorial werden die Grundlagen, Testtypen, Pläne, erforderliche Umgebung, Testprozess, Validierung und Verifizierungen für Hadoop- und BigData-Tests erläutert:
In diesem Tutorial sehen wir die grundlegende Einführung in Hadoop- und BigData-Tests, z. B. wann und wo die Tests ins Bild kommen und was wir als Teil von Hadoop-Tests testen müssen.
Wir werden auch die folgenden Themen im Detail diskutieren:
- Rollen und Verantwortlichkeiten von Hadoop-Tests
- Testansatz für Hadoop / BigData-Tests
=> Hier finden Sie A-Z der BigData-Schulungsanleitungen.
Was du lernen wirst:
- Speichern und Verarbeiten von Daten in Hadoop
- BigData- und Hadoop-Tests
- Was ist die Strategie oder der Plan zum Testen von BigData?
- Testtypen für BigData-Tests
- Tools für BigData Hadoop-Tests
- Testen von Umgebungen und Einstellungen
- Rollen und Verantwortlichkeiten von Hadoop-Tests
- Testansatz für Hadoop-Tests / BigData-Tests
- Fazit
- Literatur-Empfehlungen
Speichern und Verarbeiten von Daten in Hadoop
Um diese Prozesse auf dem Hadoop-System auszuführen, verfügen wir über die Arbeitskräfte, die in vier Abschnitte unterteilt sind.
- Hadoop-Administratoren sind für die Einrichtung der Umgebung verantwortlich und verfügen über die Administratorrechte für den Zugriff auf die Hadoop-Systeme.
- Hadoop-Entwickler Entwicklung der Programme zum Abrufen, Speichern und Verarbeiten der Daten von verschiedenen Standorten zu zentralen Standorten.
- Hadoop-Tester Zum Validieren und Verifizieren der Daten vor dem Abrufen von verschiedenen Standorten und nach dem Abrufen an einem zentralen Ort sowie zum Überprüfen und Überprüfen werden die Daten beim Laden in die Clientumgebung durchgeführt.
- Hadoop-Analysten Betrieb, wenn das Laden der Daten abgeschlossen ist und wenn die Daten das Lager am Standort des Kunden erreichen. Sie verwenden diese Daten für die Erstellung von Berichten und Dashboards. Die Analysten führen die Datenanalyse für Wachstum und Geschäftsentwicklung durch.
Wir wissen, dass Hadoop kein einziges System ist. Es enthält mehrere Systeme und Maschinen. Die Daten werden aufgeteilt und auf mehreren Computern gespeichert. Wenn wir erneut darauf zugreifen möchten, müssen wir die Daten kombinieren und in Berichte usw. ziehen.
Der Entwickler ist dafür verantwortlich, Programme in JAVA und Python zu schreiben, um die Daten zu extrahieren und zu speichern.
Die andere Aufgabe eines Entwicklers besteht darin, die Daten zu verarbeiten. Es gibt zwei Schichten von Hadoop, eine zum Speichern, d. H. Hadoop HDFS, und eine andere zum Verarbeiten, d. H. Hadoop MapReduce.
Speichern bedeutet, dass alle Daten, die wir in der Quelle haben, nur im System gespeichert / eingefügt werden. Verarbeitung bedeutet, dass wir es in mehrere Maschinen aufteilen und erneut kombinieren und an den Client senden müssen.
Das Speichern und Verarbeiten erfolgt daher durch Programmieren von Skripten, und der Entwickler ist für das Schreiben der Skripte verantwortlich.
Abgesehen von der Programmierung verwendet die andere Methode zum Speichern und Verarbeiten der Daten in Hadoop Datenbankanwendungen wie Hive, Impala, HBase usw. Diese Tools benötigen keine Programmierkenntnisse.
BigData- und Hadoop-Tests
Sobald das Speichern und Verarbeiten durch den Entwickler erfolgt ist, werden die Daten für die Berichterstellung verwendet. Vorher müssen wir die verarbeiteten Daten auf Richtigkeit überprüfen und prüfen, ob die Daten korrekt geladen und korrekt verarbeitet wurden oder nicht.
Das von einem Entwickler erstellte Programm und / oder die von einem Entwickler erstellten Skripte müssen daher vom Hadoop- oder BigData-Tester überprüft werden. Der Tester muss über grundlegende Programmierkenntnisse wie Mapper, Hive, Pig Scripts usw. verfügen, um die Skripte zu überprüfen und die Befehle auszuführen.
Vor dem Testen müssen die Tester wissen, was alle Programme und Skripte funktionieren, wie der Code geschrieben wird, und dann überlegen, wie sie getestet werden sollen. Das Testen kann entweder manuell oder mithilfe von Automatisierungstools erfolgen.
Hadoop bietet verschiedene Arten von Tests an, z. B. Unit-Tests, Regressionstests, Systemtests und Leistungstests usw. Dies sind also die gängigen Testtypen, die wir bei unseren normalen Tests sowie bei Hadoop- und BigData-Tests verwenden.
Wir haben die gleichen Testterminologien wie Teststrategien, Testszenarien und Testfälle usw. in Hadoop und BigData Testing. Nur die Umgebung ist unterschiedlich und es gibt verschiedene Arten von Techniken, mit denen wir das BigData- und Hadoop-System testen, da hier die Daten und nicht die Anwendung getestet werden müssen.
Wie teste ich die BigData und was alles erfordert das Testen in BigData?
Für BigData-Tests benötigen wir einige Pläne und Strategien.
Daher müssen wir die folgenden Punkte berücksichtigen:
- Was ist die Strategie oder der Testplan für die BigData?
- Welche Testansätze werden auf BigData angewendet?
- Was ist die Umgebung erforderlich?
- Wie validiere und verifiziere ich die BigData?
- Welche Tools werden beim BigData-Testen verwendet?
Versuchen wir, die Antworten auf alle oben genannten Fragen zu erhalten.
Was ist die Strategie oder der Plan zum Testen von BigData?
BigData-Tests bedeuten die Überprüfung und Validierung von Daten beim Speichern und Verarbeiten im Data Warehouse.
Beim Testen von BigData müssen wir das Volumen und die Vielfalt der Daten testen, die aus verschiedenen Datenbanken extrahiert und in Data Warehouse oder Hadoop System geladen und verarbeitet wurden. Diese Tests werden funktionstestiert.
Wir müssen die Geschwindigkeit der Daten testen, die aus verschiedenen Datenbanken heruntergeladen und auf das Hadoop-System hochgeladen wurden, das Teil des Leistungstests ist.
Als Plan oder Strategie müssen wir uns also auf Funktions- und Leistungstests von BigData-Tests konzentrieren.
Beim BigData-Testen muss der Tester die Verarbeitung einer großen Datenmenge mithilfe von Commodity-Hardware und entsprechenden Komponenten überprüfen. Daher spielt die Datenqualität auch beim Testen von BigData eine wichtige Rolle. Es ist wichtig, die Qualität der Daten zu überprüfen und zu validieren.
Testtypen für BigData-Tests
Im vorherigen Abschnitt haben wir gesehen, dass Funktionstests und Leistungstests beim BigData-Testen eine wichtige Rolle spielen. Abgesehen davon, dass wir als BigData-Tester einige weitere Testarten wie Datenbanktests und Architekturtests durchführen müssen.
Diese Testtypen sind ebenso wichtig wie Funktions- und Leistungstests.
# 1) Architekturtests
Diese Tests werden durchgeführt, um sicherzustellen, dass die Datenverarbeitung ordnungsgemäß ist und den Anforderungen entspricht. Tatsächlich verarbeitet das Hadoop-System große Datenmengen und ist sehr ressourcenreich.
Wenn die Architektur nicht ordnungsgemäß ist, kann dies die Leistung beeinträchtigen, aufgrund derer die Datenverarbeitung unterbrochen werden kann und Daten verloren gehen können.
# 2) Datenbanktests
Hier kommt die Prozessvalidierung ins Spiel und wir müssen die Daten aus verschiedenen Datenbanken validieren, d. H. Wir müssen sicherstellen, dass die aus den Quelldatenbanken oder lokalen Datenbanken abgerufenen Daten korrekt und korrekt sind.
Außerdem müssen wir überprüfen, ob die in den Quellendatenbanken verfügbaren Daten mit den in Hadoop System eingegebenen Daten übereinstimmen.
Ebenso müssen wir überprüfen, ob die Daten in Hadoop System nach der Verarbeitung oder etwa nach der Transformation korrekt und korrekt sind, und mit ordnungsgemäßer Validierung und Verifizierung in die Client-Umgebung geladen werden.
Als Teil des Datenbanktests müssen wir die GRAUSAM Operationen, d.h. Erstellen die Daten in lokalen Datenbanken dann Abrufen Die Daten müssen durchsucht werden und sollten vor und nach dem Laden in Data Warehouse und vom Data Warehouse in die Client-Umgebung in der Datenbank verfügbar sein.
Überprüfung von irgendwelchen Aktualisiert Daten in jeder Phase des Speicherns oder Ladens und Verarbeitens der Daten. Löschen beschädigter Daten oder doppelter und null Daten.
# 3) Leistungstests
Als Teil des Leistungstests müssen wir die Lade- und Verarbeitungsgeschwindigkeit von Daten überprüfen, d. H. Wie das IOPS (Input Output Per Second).
Sie müssen die Geschwindigkeit der Eingabe der Daten oder Daten als Eingabe aus verschiedenen Datenbanken in Data Warehouse oder Hadoop System und von Hadoop System oder Data Warehouse in die Clientumgebung überprüfen.
Muss auch die Geschwindigkeit der Daten überprüfen, die aus verschiedenen Datenbanken und aus dem Data Warehouse als Ausgabe stammen. Dies nennen wir Input Output Per Second oder IOPS.
Abgesehen davon besteht ein weiterer Aspekt darin, die Leistung der Datenaufnahme und -verteilung zu überprüfen und zu überprüfen, wie schnell die Daten vom Data Warehouse aus verschiedenen Datenbanken und vom Client-System aus dem Hadoop-System verbraucht werden.
Auch als Tester müssen wir die Leistung der Datenverteilung überprüfen, z. B. wie schnell die Daten auf verschiedene Dateien verteilt werden, die im Hadoop-System oder im Data Warehouse verfügbar sind. In ähnlicher Weise geschieht der gleiche Vorgang beim Verteilen von Daten an Client-Systeme.
Das Hadoop-System oder das Data Warehouse besteht aus mehreren Komponenten. Daher muss ein Tester die Leistung aller dieser Komponenten wie MapReduce-Jobs, Dateneinfügung und -verbrauch, Antwortzeit von Abfragen und deren Leistung sowie die Leistung der Suche überprüfen Operationen. All dies ist in den Leistungstests enthalten.
# 4) Funktionsprüfung
Das Testen von Funktionen umfasst das Testen aller Unterkomponenten, Programme und Skripte, Tools, die zum Ausführen der Vorgänge zum Speichern oder Laden und Verarbeiten usw. verwendet werden.
Für einen Tester sind dies die vier wichtigen Typen und Phasen, durch die die Daten gefiltert werden müssen, damit der Client die perfekten und fehlerfreien Daten erhält.
Tools für BigData Hadoop-Tests
Es gibt verschiedene Tools, die zum Testen von BigData verwendet werden:
- HDFS Hadoop Distribution-Dateisystem zum Speichern der BigData.
- HDFS Map Reduce für die Verarbeitung der BigData.
- Für NoSQL oder HQL Cassandra DB, ZooKeeper und HBase usw.
- Cloud-basierte Server-Tools wie EC2.
Testen von Umgebungen und Einstellungen
Für jede Art von Test benötigt der Tester die richtigen Einstellungen und die Umgebung.
Nachstehend finden Sie eine Liste der Anforderungen:
- Art der Daten und Anwendung, die getestet werden sollen.
- Das Speichern und Verarbeiten erfordert viel Platz für eine große Datenmenge.
- Ordnungsgemäße Verteilung der Dateien auf allen DataNodes im gesamten Cluster.
- Während der Verarbeitung der Daten sollte die Hardware-Auslastung minimal sein.
- Ausführbare Programme und Skripte gemäß den Anforderungen der Anwendung.
Rollen und Verantwortlichkeiten von Hadoop-Tests
Als Hadoop-Tester sind wir dafür verantwortlich, die Anforderungen zu verstehen, die Testschätzungen vorzubereiten, die Testfälle zu planen, einige Testdaten zum Testen einiger Testfälle abzurufen, an der Erstellung des Prüfstands teilzunehmen, die Testpläne auszuführen, Fehler zu melden und erneut zu testen.
Außerdem müssen wir für die tägliche Statusberichterstattung und den Testabschluss verantwortlich sein.
Das erste, was wir diskutieren werden, ist das Teststrategie . Sobald wir eine vorgeschlagene Lösung für unser Problem haben, müssen wir unseren Testplan planen oder strategisch planen. Wir können die Automatisierungsstrategie, die wir dort verwenden können, und den Plan für den Testplan, der von unseren Lieferterminen abhängt, sowie wir besprechen kann Ressourcenplanung diskutieren.
Die Automatisierungsstrategie wird uns dabei helfen, den manuellen Aufwand für das Testen des Produkts zu reduzieren. Der Testplan ist wichtig, da er die rechtzeitige Lieferung des Produkts gewährleistet.
Die Ressourcenplanung ist von entscheidender Bedeutung, da wir planen müssen, wie viel Arbeitsstunden wir für unsere Tests benötigen und wie viel Hadoop-Ressourcen für die Ausführung unserer Testplanung erforderlich sind.
Sobald wir unsere Tests strategisch geplant haben, müssen wir die Testentwicklungspläne erstellen, die das Erstellen von Testplänen und Testskripten umfassen, mit denen wir unsere Tests automatisieren und einige Testdaten identifizieren können, die in den Testplänen verwendet werden sollen und hilft uns, diese Testpläne auszuführen.
Sobald wir mit der Testentwicklung fertig sind, die das Erstellen von Testplänen, Testskripten und Testdaten umfasst, beginnen wir mit der Ausführung dieser Testpläne.
Wenn wir die Testpläne ausführen, kann es bestimmte Szenarien geben, in denen die tatsächliche Ausgabe nicht wie erwartet ist, und diese Dinge werden als Fehler bezeichnet. Wann immer es einen Fehler gibt, müssen wir auch diese Fehler testen und die Matrizen für diese erstellen und pflegen.
All diese Dinge fallen unter die nächste Kategorie Fehlermanagement .
Was ist Fehlermanagement?
Das Fehlermanagement besteht aus Fehlerverfolgung, Fehlerbehebung und Fehlerüberprüfung. Immer wenn ein Testplan für eines der Produkte ausgeführt wird, die wir haben, und sobald ein bestimmter Fehler oder ein Fehler festgestellt wird, muss dieser Fehler dem Entwickler gemeldet oder dem Entwickler zugewiesen werden.
So kann der Entwickler es untersuchen und damit beginnen, daran zu arbeiten. Als Tester müssen wir den Fortschritt des Fehlers verfolgen und verfolgen, ob der Fehler behoben wurde. Wenn der Fehler wie gemeldet behoben wurde, müssen wir ihn erneut testen und überprüfen, ob er behoben ist.
Sobald alle Fehler behoben, geschlossen und überprüft wurden, müssen wir ein OKAY-getestetes Produkt liefern. Bevor wir das Produkt liefern, müssen wir jedoch sicherstellen, dass der UAT (User Acceptance Testing) erfolgreich abgeschlossen wurde.
Wir stellen sicher, dass die Installationstests und die Anforderungsüberprüfung ordnungsgemäß durchgeführt werden, d. H. Das Produkt, das an den Kunden oder einen Endbenutzer geliefert wird, entspricht den Anforderungen, die im Softwareanforderungsdokument aufgeführt sind.
Die Schritte, die wir besprochen haben, basieren auf der Vorstellungskraft, sind eines der Testszenarien oder einer der Testansätze, die wir für diese Schritte verwenden werden, oder sagen diese Sätze, um unser Produkt zu testen und das Endergebnis zu liefern OKAY Getestetes Produkt.
Lassen Sie uns dies im Detail diskutieren und mit dem Hadoop-Test korrelieren.
Wir wissen, dass Hadoop für die Stapelverarbeitung verwendet wird, und wir wissen auch, dass ETL eines der Felder ist, in denen Hadoop häufig verwendet wird. ETL steht für Extraction Transformation and Loading . Wir werden diese Prozesse im Detail diskutieren, wenn wir den Testplan und die Teststrategie als Hadoop-Test-Gesichtspunkt diskutieren.
Gemäß dem unten erwähnten Diagramm nehmen wir nur an, dass wir vier verschiedene Datenquellen haben. Betriebssystem, CRM ( Kundenbeziehungsmanagement ) und ERP ( Enterprise Resource Planning ) ist das RDBMS oder sagen wir das relationale Datenbankverwaltungssystem, das wir haben, und wir haben auch eine Reihe von Flat Files, die möglicherweise Protokolle, Dateien, Datensätze oder was auch immer in Bezug auf unsere Datenquellen enthalten.
Möglicherweise verwenden wir Sqoop oder Flume oder ein bestimmtes Produkt, um die Daten, Datensätze oder was auch immer als meine Datenquellen abzurufen. Wir können diese Tools verwenden, um die Daten aus den Datenquellen in mein Staging-Verzeichnis zu übertragen. Dies ist die erste Phase unseres Prozesses Extraktion.
Sobald die Daten darin Staging Directory sind, das tatsächlich HDFS (Hadoop Distribution File System) ist, werden wir insbesondere die Skriptsprache wie PIG to verwenden Verwandeln diese Daten. Das Transformation wird nach den Daten sein, die wir haben.
Sobald die Daten mit der von uns verwendeten Skripttechnologie entsprechend transformiert wurden, werden wir es sein Wird geladen diese Daten in das Data Warehouse. Im Data Warehouse werden diese Daten für OLAP-Analyse, Berichterstellung und Data Mining oder für Analytics verwendet.
Lassen Sie uns diskutieren, welche Phasen wir für Hadoop-Tests verwenden können.
Die erste Phase ist die Extraktionsphase. Hier werden wir die Daten aus unseren Quelldatenbanken oder aus Flatfiles abrufen. In diesem Fall können wir überprüfen, ob alle Daten erfolgreich und korrekt von der Quelle in das Staging-Verzeichnis kopiert wurden.
Dies kann die Überprüfung der Anzahl der Datensätze, des Typs der Datensätze und des Typs der Felder usw. umfassen.
Sobald diese Daten in das Staging-Verzeichnis kopiert wurden, werden wir die zweite Phase auslösen, nämlich die Transformation. Hier haben wir eine Geschäftslogik, die auf die von den Quellsystemen kopierten Daten einwirkt und die Daten tatsächlich erstellt oder in die erforderliche Geschäftslogik umwandelt.
Die Transformation kann das Sortieren der Daten, das Filtern der Daten, das Zusammenführen der Daten aus zwei verschiedenen Datenquellen und bestimmte andere Vorgänge umfassen.
Sobald die Daten transformiert sind, werden wir Testpläne bereithalten und prüfen, ob wir die Ausgabe wie erwartet erhalten und alle Ausgaben, die wir erhalten, dem erwarteten Ergebnis und den Datentypen, Feldwerten und entsprechen Die Bereiche usw. sind etwas, das an Ort und Stelle fällt.
Sobald dies korrekt ist, können wir die Daten in Data Warehouse laden.
In der Ladephase prüfen wir tatsächlich, ob die Anzahl der Datensätze aus der Phase und die Anzahl der Datensätze in Data Warehouse synchron sind. Sie sind möglicherweise nicht ähnlich, sollten aber synchron sein. Wir sehen auch, ob der transformierte Datentyp synchron ist.
Veröffentlichen Sie, dass wir diese Daten für die OLAP-Analyse, Berichterstellung und Data Mining verwenden werden. Dies ist die letzte Schicht unseres Produkts. In diesem Fall können wir nachfolgende oder wir können sagen, dass die Testpläne für alle diese Schichten verfügbar sind.
Immer wenn wir Daten von der Quelle in das Ziel erhalten, müssen wir sicherstellen, dass nur authentifizierte Personen autorisierten Zugriff auf die Daten haben.
Authentifizierung
Genehmigung
Was meinen wir mit diesen beiden Begriffen?
Um dies zu verstehen, lassen Sie uns die Dinge aus dem ETL-Diagramm relativieren.
Gemäß dem obigen Diagramm erhalten wir unsere Daten von Quell-RDBMS-Engines und von Flat Files in HDFS. Diese Phase wird als Extraktion bezeichnet.
Lassen Sie uns die Authentifizierung auf eine bestimmte Art und Weise diskutieren. Es gibt bestimmte Unternehmen, deren Daten aufgrund ihrer Art eingeschränkt sind. Diese Art von Daten wird gemäß den US-amerikanischen Standards als PII-Daten bezeichnet.
PII steht für Persönliche identifizierbare Informationen, Alle Informationen wie Geburtsdatum, SSN, Handynummer, E-Mail-Adresse und Adresse des Hauses usw. fallen unter PII. Dies ist eingeschränkt und kann nicht mit allen geteilt werden.
Die Daten sollten nur an die Personen weitergegeben werden, die sie am dringendsten benötigten, und an diejenigen, die die Daten für die tatsächliche Verarbeitung benötigen. Wenn diese Prüfung und die erste Verteidigungslinie vorhanden sind, wird dies als Authentifizierung bezeichnet.
Zum Beispiel, Wir verwenden einen Laptop und haben dort Windows installiert. Möglicherweise haben wir ein Benutzerkonto auf unserem Windows-Betriebssystem erstellt und dort haben wir ein Kennwort angewendet.
Auf diese Weise kann sich nur die Person anmelden, die über die Anmeldeinformationen für dieses bestimmte Benutzerkonto verfügt. Auf diese Weise schützen wir unsere Daten vor Diebstahl oder unnötigem Zugriff. Die andere Ebene ist die Autorisierung.
Beispiel, Wir haben zwei verschiedene Benutzerkonten in unserem Windows-Betriebssystem. Ein Benutzerkonto gehört uns und ein anderes ist möglicherweise das Gastbenutzerkonto. Der Administrator (WE) hat das Recht, alle Arten von Vorgängen auszuführen, wie z. B. Installation und Deinstallation der Software, Erstellung neuer Dateien und Löschen vorhandener Dateien usw.
Auf der anderen Seite haben die Gastbenutzer möglicherweise nicht alle diese Arten von Zugriff. Der Gast verfügt über eine Authentifizierung, um sich beim System anzumelden, ist jedoch nicht berechtigt, die Dateien und die Installation sowie die Deinstallation der Software im System bzw. vom System zu löschen oder zu erstellen.
Das Gastbenutzerkonto hat jedoch aufgrund der Authentifizierung das Recht, die erstellten Dateien zu lesen und die bereits installierte Software zu verwenden.
Auf diese Weise werden die Authentifizierung und Autorisierung getestet. In diesem Fall werden alle in HDFS oder einem der Dateisysteme verfügbaren Daten getestet, die für die Authentifizierung und Autorisierung von Daten erforderlich sind.
Testansatz für Hadoop-Tests / BigData-Tests
Der Testansatz ist für alle Arten von Tests gleich, nicht nur, weil es sich um BigData- oder Hadoop-Tests handelt, wenn wir zum normalen manuellen Test oder zum Automatisierungstest oder zum Sicherheitstest, auch zum Leistungstest, übergehen. Daher folgt jede Art von Test dem gleichen Ansatz.
Bedarf
Als Teil des Testansatzes müssen wir mit dem beginnen Bedarf Anforderung ist eine grundlegende Sache, heutzutage im agilen Prozess haben wir sie als Geschichten und Epen bezeichnet. Episch ist nichts anderes als eine größere Anforderung, während die Geschichten kleinere Anforderungen sind.
Die Anforderung enthält im Wesentlichen alle Datenmodelle, Ziele, Quellen sowie die Art der Transformationen, die wir anwenden müssen, welche Tools müssen wir verwenden? All diese Details finden Sie in den Anforderungen.
Dies ist im Grunde die Kundenanforderung oder Kundenanforderung. Basierend auf dieser Anforderung werden wir unseren Testprozess starten.
Einschätzung
Ein weiterer Teil eines Ansatzes ist Einschätzung , Wie viel Zeit wir brauchen, um die gesamte Aktivität als Teil des Testens durchzuführen. Wir führen die Testplanung durch, bereiten die Testszenarien vor, bereiten Testfälle vor und führen sie aus. Außerdem werden wir Fehler finden und melden und Testberichte erstellen.
Alle diese Aktivitäten werden einige Zeit in Anspruch nehmen. Wie viel Zeit wir für die Durchführung all dieser Aktivitäten benötigen, wird im Grunde genommen als Schätzung bezeichnet. Wir müssen dem Management eine grobe Schätzung geben.
Testplanung
Testplanung ist nichts anderes als die Beschreibung von Prozessen, was zu testen ist, was nicht zu testen ist, was der Umfang des Tests ist, was die Zeitpläne sind, wie viele Ressourcen benötigt werden, Hardware- und Softwareanforderungen und was sind die Zeitpläne sowie Testzyklen wird verwendet, welche Teststufen haben wir benötigt, etc.
Während der Testplanung führen sie eine bestimmte Ressourcenzuweisung für das Projekt durch und welche Modelle haben wir, wie viele Ressourcen sind erforderlich und welche Art von Fähigkeiten sind erforderlich usw. All diese Dinge und Aspekte werden in den Test einbezogen Planungsphase.
In den meisten Fällen führen die Mitarbeiter auf Lead- oder Managementebene die Testplanung durch.
Testszenarien und Testfälle
Sobald wir mit der Testplanung fertig sind, müssen wir uns vorbereiten Testszenarien und Testfälle Insbesondere für Big Data-Tests benötigen wir einige Dokumente zusammen mit dem Anforderungsdokument. Was brauchen wir zusammen mit diesem Anforderungsdokument?
Wir brauchen die Anforderungsdokument das enthält die Bedürfnisse des Kunden, zusammen mit diesen brauchen wir die Dokument eingeben d.h. Datenmodelle. Datenmodell in dem Sinne, was die Datenbankschemata sind, was die Tabellen sind und welche Beziehungen all diese Daten in den Datenmodellen verfügbar sind.
Wir haben auch die Dokumente zuordnen , Zuordnungsdokumente für Z.B. In relationalen Datenbanken haben wir einige Tabellen. Was müssen wir nach dem Laden der Daten über ETL in Data Warehouse in HDFS tun? Zuordnen des Datentyps.
wie man einen String zum String-Array hinzufügt
Zum Beispiel, Wenn wir eine Kundentabelle in HDFS haben, haben wir in HDFS eine CUSTOMER_TARGET-Tabelle oder dieselbe Tabelle befindet sich möglicherweise auch in HIVE.
In dieser Kundentabelle haben wir bestimmte Spalten und in der CUSTOMER TARGET-Tabelle haben wir bestimmte Spalten, wie in der Abbildung gezeigt. Wir haben die Daten aus der Kundentabelle in die KUNDENTARGET-Tabelle verschoben, d. H. Quelle zu Ziel.
Dann müssen wir die genaue Zuordnung wie die in der Quellentabelle vorhandenen Daten überprüfen, die die Spalte 1 und Zeile 1 der Kundentabelle sind, und sie als C1R1 betrachten. Dieselben Daten sollten in C1R1 der KUNDENTARGET-Tabelle zugeordnet werden. Dies wird im Grunde als Mapping bezeichnet.
Woher wissen wir, welche Zuordnungen wir überprüfen müssen? Diese Zuordnungen sind also im Zuordnungsdokument vorhanden. Im Zuordnungsdokument gibt der Kunde alle Arten von Zuordnungen an.
Auch haben wir eine benötigt Designdokument , Konstruktionsdokument, das sowohl für das Entwicklungsteam als auch für das QS-Team erforderlich ist, da der Kunde im Konstruktionsdokument angibt, welche Art von Map Reduce-Jobs er implementieren wird und welche Art von MapReduce-Jobs Eingaben akzeptiert und welche Art von MapReduce Jobs gibt Outputs.
Wenn wir HIVE oder PIG haben, was sind alle UDFs, die der Kunde erstellt hat, sowie welche Eingaben sie nehmen und welche Art von Ausgaben sie produzieren usw.
Um Testszenarien und Testfälle vorzubereiten, müssen wir alle diese Dokumente zur Hand haben:
- Anforderungsdokument
- Datenmodell
- Dokument zuordnen
- Designdokument
Diese können von Organisation zu Organisation unterschiedlich sein, und es gibt keine verbindliche Regel, dass wir alle diese Dokumente haben müssen. Manchmal haben wir alle Dokumente und manchmal haben wir nur zwei oder drei Dokumente, oder manchmal müssen wir uns auch auf ein Dokument verlassen, das der Komplexität des Projekts, den Zeitplänen des Unternehmens und allem entspricht.
Bewertungen zu Testszenarien und Testfällen
Wir müssen eine Überprüfung der Testszenarien und Testfälle durchführen, weil wir einige Testfälle irgendwie oder in einigen Fällen vergessen oder verpassen, weil nicht jeder an alle möglichen Dinge denken kann, die mit den Anforderungen unter solchen Bedingungen getan werden können Hilfe von Tools von Drittanbietern oder von jemand anderem.
Wenn wir also Dokumente vorbereiten oder etwas ausführen, brauchen wir jemanden, der die Inhalte desselben Teams überprüft, z. B. Entwickler, Tester. Sie geben geeignete Vorschläge, um etwas mehr aufzunehmen, oder schlagen auch vor, die Testszenarien und Testfälle zu aktualisieren oder zu ändern.
Sie enthalten alle Kommentare. Auf dieser Grundlage aktualisieren wir unsere Testszenarien und Testfälle sowie mehrere Versionen des Dokuments, die wir im gesamten Team veröffentlichen müssen, bis das Dokument gemäß den Anforderungen vollständig aktualisiert ist.
Test Ausführung
Sobald das Dokument fertig ist, erhalten wir vom oberen Team die Genehmigung, den Ausführungsprozess zu starten, der im Grunde als Testfallausführung bezeichnet wird.
Wenn wir unsere Testfälle während der Ausführung ausführen möchten, müssen wir überprüfen, ob der Entwickler die Informationen senden muss. Wenn es sich um normale Funktionstests oder andere Tests oder Automatisierungstests handelt, benötigen wir einen Build. Aus Sicht von Hadoop oder BigData Testing stellt der Entwickler hier jedoch MapReduce-Jobs bereit.
HDFS-Dateien - Unabhängig davon, welche Dateien in HDFS kopiert werden, sind diese Dateiinformationen erforderlich, um die Berechtigungen zu überprüfen, HIVE-Skripte, die von den Entwicklern erstellt wurden, um die Daten in der HIVE-Tabelle zu überprüfen, und wir benötigen auch die HIVE-UDFs, die von den Entwicklern PIG entwickelt wurden Skripte und PIG-UDFs.
Dies sind alles Dinge, die wir von Entwicklern benötigen. Bevor wir zur Hinrichtung gehen, sollten wir all diese Dinge haben.
Für MapReduce-Jobs stellen sie einige JAR-Dateien bereit. Als Teil des HDFS haben sie die Daten bereits in HDFS geladen. Die Dateien sollten bereit sein und HIVE-Skripte, um die Daten in HIVE-Tabellen zu validieren. Unabhängig davon, welche UDFs sie implementiert haben, werden sie in den HIVE-UDFs verfügbar sein. Dasselbe benötigen wir auch für PIG-Skripte und UDFs.
Fehlerberichterstattung und -verfolgung
Sobald wir unsere Testfälle ausgeführt haben, stellen wir fest, dass einige Fehler, einige erwartete und einige tatsächliche, nicht den erwarteten Ergebnissen entsprechen. Daher müssen wir diese auflisten und dem Entwicklungsteam zur Lösung zur Verfügung stellen. Dies wird im Wesentlichen als Fehlerberichterstattung bezeichnet.
Angenommen, wir finden einen Fehler im MapReduce-Job, dann melden wir ihn dem Entwickler und er erstellt den MapReduce-Job erneut. Er nimmt einige Änderungen auf Codeebene vor und stellt dann erneut den neuesten MapReduce-Job bereit, den wir testen müssen .
Dies ist ein fortlaufender Prozess. Sobald der Job getestet und bestanden wurde, müssen wir ihn erneut testen und dem Entwickler melden und dann den nächsten zum Testen erhalten. Auf diese Weise wird die Aktivität Fehlerberichterstattung und -verfolgung ausgeführt.
Testberichte
Sobald wir den gesamten Testprozess abgeschlossen haben und die Fehler geschlossen wurden, müssen wir unsere Testberichte erstellen. Testberichte ist alles, was wir bisher getan haben, um den Testprozess abzuschließen. Alle Planungen, das Schreiben und Ausführen von Testfällen, die Ausgabe usw. haben alles in Form von Testberichten dokumentiert.
Wir müssen diese Berichte täglich oder wöchentlich oder gemäß den Anforderungen des Kunden senden. Heutzutage verwenden Organisationen das AGILE-Modell, daher muss jeder Statusbericht während der täglichen Scrums aktualisiert werden.
Fazit
In diesem Tutorial gingen wir durch:
- Die Strategie oder der Plan zum Testen der BigData.
- Erforderliche Umgebung für BigData-Tests.
- BigData-Validierung und -Verifizierung.
- Tools zum Testen der BigData.
Wir haben auch gelernt über -
- Wie die Teststrategie, die Testentwicklung, die Testausführung, das Fehlermanagement und die Bereitstellung in den Rollen und Verantwortlichkeiten als Teil von Hadoop-Tests funktionieren.
- Testansatz für Hadoop / BigData-Tests, der Anforderungserfassung, Schätzung, Testplanung, Erstellung von Testszenarien und Testfällen zusammen mit den Überprüfungen umfasst.
- Wir haben auch Informationen zu Testausführung, Fehlerberichterstattung und -verfolgung sowie Testberichterstattung erhalten.
Wir hoffen, dass dieses BigData-Test-Tutorial für Sie hilfreich war!
=> Überprüfen Sie ALLE BigData-Tutorials hier.
Literatur-Empfehlungen
- Tutorial zum Volumentest: Beispiele und Tools zum Volumentest
- So führen Sie datengesteuerte Tests in SoapUI Pro durch - SoapUI Tutorial Nr. 14
- Tutorial zum Testen von Data Warehouse mit Beispielen | ETL-Testhandbuch
- Testen von Primer eBook Download
- Tutorial zum Testen von ETL-Data Warehouse-Tests (Eine vollständige Anleitung)
- Was ist Hadoop? Apache Hadoop Tutorial für Anfänger
- Tutorial für zerstörende Tests und zerstörungsfreie Tests
- Funktionstests gegen nichtfunktionale Tests