what is test data test data preparation techniques with example
Erfahren Sie, was Testdaten sind und wie Sie Testdaten für das Testen vorbereiten:
Beim aktuellen Epos des revolutionären Wachstums von Information und Technologie erfahren die Tester häufig einen umfangreichen Verbrauch von Testdaten im Lebenszyklus von Softwaretests.
Die Tester sammeln / pflegen nicht nur Daten aus den vorhandenen Quellen, sondern generieren auch große Mengen an Testdaten, um sicherzustellen, dass ihre Qualität bei der Lieferung des Produkts für den realen Einsatz boomt.
Daher müssen wir als Tester kontinuierlich die effizientesten Ansätze für die Datenerfassung, -generierung, -wartung, -automatisierung und das umfassende Datenmanagement für alle Arten von funktionalen und nicht funktionalen Tests erforschen, lernen und anwenden.
In diesem Tutorial werde ich bereitstellen Tipps zur Vorbereitung von Testdaten, damit wichtige Testfälle nicht durch falsche Daten und unvollständige Einrichtung der Testumgebung übersehen werden.
Was du lernen wirst:
- Was sind Testdaten und warum sind sie wichtig?
- Herausforderungen bei der Datenbeschaffung testen
- Strategien zur Vorbereitung von Testdaten
- Beschädigte Testdaten
- Testdaten für den Leistungstestfall
- Wie bereite ich Daten vor, die eine maximale Testabdeckung gewährleisten?
- Daten für Black-Box-Tests
- Beispiel für Testdaten für Open EMR AUT
- Erstellung manueller Daten zum Testen der Open EMR-Anwendung
- Eigenschaften guter Testdaten
Was sind Testdaten und warum sind sie wichtig?
Unter Bezugnahme auf eine von IBM im Jahr 2016 durchgeführte Studie machen das Suchen, Verwalten, Verwalten und Generieren von Testdaten 30% bis 60% der Testzeit aus. Es ist unbestreitbar, dass die Datenaufbereitung eine zeitaufwändige Phase des Softwaretests ist.
Abbildung 1: Durchschnittliche Zeit, die Tester für TDM aufgewendet haben
In vielen verschiedenen Disziplinen verbringen die meisten Datenwissenschaftler jedoch 50% bis 80% der Entwicklungszeit ihres Modells mit der Organisation von Daten. Und jetzt, wenn man die Gesetzgebung und die personenbezogenen Daten (PII) berücksichtigt, ist das Engagement der Tester im Testprozess überwiegend anständig.
Die Glaubwürdigkeit und Zuverlässigkeit der Testdaten wird heute als kompromissloses Element für die Geschäftsinhaber angesehen. Die Produktbesitzer sehen die Geisterkopien der Testdaten als die größte Herausforderung an, die die Zuverlässigkeit jeder Anwendung in dieser einzigartigen Zeit der Kundenanforderungen / -anforderungen an die Qualitätssicherung verringert.
Angesichts der Bedeutung von Testdaten akzeptieren die meisten Softwarebesitzer die getesteten Anwendungen nicht mit gefälschten Daten oder weniger in Sicherheitsmaßnahmen.
Warum erinnern wir uns an dieser Stelle nicht daran, was Testdaten sind? Wenn wir mit dem Schreiben unserer Testfälle beginnen, um die angegebenen Funktionen und entwickelten Szenarien der zu testenden Anwendung zu überprüfen und zu validieren, benötigen wir Informationen, die als Eingabe für die Durchführung der Tests zur Identifizierung und Lokalisierung der Fehler verwendet werden.
Fragen zum Helpdesk-Einstiegsinterview
Und wir wissen, dass diese Informationen präzise und vollständig sein müssen, um die Fehler zu erkennen. Das nennen wir Testdaten. Um es genau zu machen, können Namen, Länder usw. nicht sensibel sein, wenn Daten zu Kontaktinformationen, SSN, Krankengeschichte und Kreditkarteninformationen sensibler Natur sind.
Die Daten können in beliebiger Form vorliegen:
- Systemtestdaten
- SQL-Testdaten
- Leistungstestdaten
- XML-Testdaten
Wenn Sie Testfälle schreiben, benötigen Sie Eingabedaten für jede Art von Test. Der Tester kann diese Eingabedaten zum Zeitpunkt der Ausführung der Testfälle bereitstellen, oder die Anwendung kann die erforderlichen Eingabedaten aus den vordefinierten Datenpositionen auswählen.
Die Daten können jede Art von Eingabe in die Anwendung, jede Art von Datei, die von der Anwendung geladen wird, oder Einträge sein, die aus den Datenbanktabellen gelesen werden.
Das Vorbereiten der richtigen Eingabedaten ist Teil eines Testaufbaus. Im Allgemeinen nennen es Tester a Vorbereitung des Prüfstands . Im Testbed werden alle Software- und Hardwareanforderungen anhand der vordefinierten Datenwerte festgelegt.
Wenn Sie nicht über den systematischen Ansatz zum Erstellen von Daten verfügen Schreiben und Ausführen von Testfällen Dann besteht die Möglichkeit, dass einige wichtige Testfälle fehlen. Die Tester können ihre eigenen Daten entsprechend den Testanforderungen erstellen.
Verlassen Sie sich nicht auf Daten, die von anderen Testern erstellt wurden, oder auf Standardproduktionsdaten. Erstellen Sie immer einen neuen Datensatz gemäß Ihren Anforderungen.
Manchmal ist es nicht möglich, für jeden Build einen völlig neuen Datensatz zu erstellen. In solchen Fällen können Sie Standardproduktionsdaten verwenden. Denken Sie jedoch daran, Ihre eigenen Datensätze in diese vorhandene Datenbank einzufügen / einzufügen. Eine beste Möglichkeit, Daten zu erstellen, besteht darin, die vorhandenen Beispieldaten oder das Testbed zu verwenden und Ihre neuen Testfalldaten jedes Mal anzuhängen, wenn Sie dasselbe Modul zum Testen erhalten. Auf diese Weise können Sie über den Zeitraum hinweg einen umfassenden Datensatz erstellen.
Herausforderungen bei der Datenbeschaffung testen
Einer der Bereiche bei der Generierung von Testdaten, den die Tester berücksichtigen, ist die Anforderung an die Datenbeschaffung für Teilmengen. Zum Beispiel haben Sie über eine Million Kunden, von denen Sie tausend zum Testen benötigen. Und diese Beispieldaten sollten konsistent sein und statistisch die angemessene Verteilung der Zielgruppe darstellen. Mit anderen Worten, wir sollen die richtige Person zum Testen finden, was eine der nützlichsten Methoden zum Testen der Anwendungsfälle ist.
Und diese Beispieldaten sollten konsistent sein und statistisch die angemessene Verteilung der Zielgruppe darstellen. Mit anderen Worten, wir sollen die richtige Person zum Testen finden, was eine der nützlichsten Methoden zum Testen der Anwendungsfälle ist.
Darüber hinaus gibt es einige Umgebungsbedingungen im Prozess. Eine davon ist die Zuordnung von PII-Richtlinien. Da die Privatsphäre ein erhebliches Hindernis darstellt, müssen die Tester PII-Daten klassifizieren.
Die Testdatenverwaltungstools wurden entwickelt, um das erwähnte Problem anzugehen. Diese Tools schlagen Richtlinien vor, die auf den Standards / dem Katalog basieren, über die sie verfügen. Es ist jedoch keine sehr sichere Übung. Es bietet immer noch die Möglichkeit, zu prüfen, was man tut.
Um mit den aktuellen und sogar zukünftigen Herausforderungen Schritt zu halten, sollten wir immer Fragen stellen wie Wann / Wo sollten wir mit der Durchführung von TDM beginnen? Was soll automatisiert werden? Wie viel Investition sollten die Unternehmen für Tests in Bereichen der laufenden Entwicklung von Fähigkeiten im Personalbereich und des Einsatzes neuerer TDM-Tools bereitstellen? Sollten wir mit funktionalen oder nicht funktionalen Tests beginnen? Und viel wahrscheinlicher Fragen als sie.
Einige der häufigsten Herausforderungen bei der Beschaffung von Testdaten sind nachstehend aufgeführt:
- Die Teams verfügen möglicherweise nicht über ausreichende Kenntnisse und Fähigkeiten der Testdatengenerator-Tools
- Die Abdeckung der Testdaten ist häufig unvollständig
- Weniger Klarheit bei den Datenanforderungen für Volumenspezifikationen während der Erfassungsphase
- Testteams haben keinen Zugriff auf die Datenquellen
- Verzögerung beim Zugriff von Testdaten auf die Tester durch Entwickler
- Produktionsumgebungsdaten können möglicherweise nicht vollständig für Tests verwendet werden, die auf den entwickelten Geschäftsszenarien basieren
- In kurzer Zeit können große Datenmengen benötigt werden
- Datenabhängigkeiten / -kombinationen zum Testen einiger Geschäftsszenarien
- Die Tester verbringen mehr Zeit als erforderlich mit der Kommunikation mit Architekten, Datenbankadministratoren und BAs, um Daten zu sammeln
- Meist werden die Daten während der Ausführung des Tests erstellt oder vorbereitet
- Mehrere Anwendungen und Datenversionen
- Kontinuierliche Release-Zyklen über mehrere Anwendungen hinweg
- Gesetzgebung zur Pflege personenbezogener Identifikationsdaten (PII)
Auf der White-Box-Seite des Datentests bereiten die Entwickler die Produktionsdaten vor. Hier muss die Qualitätssicherung mit den Entwicklern zusammenarbeiten, um die Testabdeckung von AUT zu verbessern. Eine der größten Herausforderungen besteht darin, alle möglichen Szenarien (100% Testfall) in jeden einzelnen möglichen negativen Fall einzubeziehen.
In diesem Abschnitt haben wir über Herausforderungen bei Testdaten gesprochen. Sie können weitere Herausforderungen hinzufügen, wenn Sie sie entsprechend gelöst haben. Lassen Sie uns anschließend verschiedene Ansätze für das Design und die Verwaltung von Testdaten untersuchen.
Strategien zur Vorbereitung von Testdaten
Wir wissen aus der täglichen Praxis, dass die Akteure in der Testbranche ständig unterschiedliche Mittel und Wege erleben, um die Testbemühungen und vor allem die Kosteneffizienz zu verbessern. Im kurzen Verlauf der Informations- und Technologieentwicklung haben wir gesehen, dass durch die Integration von Werkzeugen in die Produktions- / Testumgebungen die Leistung erheblich gestiegen ist.
Wenn wir über die Vollständigkeit und die vollständige Abdeckung der Tests sprechen, hängt dies hauptsächlich von der Qualität der Daten ab. Da das Testen das Rückgrat für das Erreichen der Qualität der Software ist, sind Testdaten das Kernelement im Testprozess.
Figur 2: Strategien für das Testdatenmanagement (TDM)
Erstellung von Flatfiles basierend auf den Mapping-Regeln. Es ist immer praktisch, eine Teilmenge der benötigten Daten aus der Produktionsumgebung zu erstellen, in der Entwickler die Anwendung entworfen und codiert haben. In der Tat reduziert dieser Ansatz den Aufwand der Tester für die Datenaufbereitung und maximiert die Nutzung der vorhandenen Ressourcen, um weitere Ausgaben zu vermeiden.
In der Regel müssen wir die Daten erstellen oder zumindest anhand der Art der Anforderungen identifizieren, die jedes Projekt am Anfang hat.
Wir können die folgenden Strategien anwenden, die den TDM-Prozess behandeln:
- Daten aus der Produktionsumgebung
- Abrufen von SQL-Abfragen, die Daten aus den vorhandenen Datenbanken des Clients extrahieren
- Tools zur automatisierten Datengenerierung
Die Tester müssen ihre Tests mit vollständigen Daten unter Berücksichtigung der in Abbildung 3 gezeigten Elemente untermauern. Die Rester in agilen Entwicklungsteams generieren die notwendigen Daten für die Ausführung ihrer Testfälle. Wenn wir über Testfälle sprechen, meinen wir Fälle für verschiedene Arten von Tests wie White Box, Black Box, Leistung und Sicherheit.
Zu diesem Zeitpunkt wissen wir, dass Daten für Leistungstests in der Lage sein sollten, zu bestimmen, wie schnell das System unter einer bestimmten Arbeitslast reagiert, um dem tatsächlichen oder lebenden großen Datenvolumen mit erheblicher Abdeckung sehr nahe zu kommen.
Für White-Box-Tests bereiten die Entwickler ihre erforderlichen Daten vor, um so viele Zweige wie möglich, alle Pfade im Programmquellcode und die negative Anwendungsprogrammschnittstelle (API) abzudecken.
Figur 3: Testdatengenerierungsaktivitäten
Letztendlich können wir sagen, dass jeder, der im Lebenszyklus der Softwareentwicklung arbeitet ( SDLC ) wie BAs sollten Entwickler und Produktbesitzer gut in den Prozess der Testdatenaufbereitung eingebunden sein. Es kann eine gemeinsame Anstrengung sein. Lassen Sie sich nun zum Problem der beschädigten Testdaten führen.
Beschädigte Testdaten
Vor der Ausführung von Testfällen für unsere vorhandenen Daten sollten wir sicherstellen, dass die Daten nicht beschädigt / veraltet sind und die zu testende Anwendung die Datenquelle lesen kann. Wenn mehr als ein Tester gleichzeitig an verschiedenen Modulen eines AUT in der Testumgebung arbeitet, ist die Wahrscheinlichkeit, dass Daten beschädigt werden, normalerweise so hoch.
In derselben Umgebung ändern die Tester die vorhandenen Daten gemäß ihren Anforderungen an die Testfälle. Wenn die Tester mit den Daten fertig sind, lassen sie die Daten meistens so, wie sie sind. Sobald der nächste Tester die geänderten Daten aufnimmt und eine weitere Ausführung des Tests durchführt, besteht die Möglichkeit eines bestimmten Testfehlers, bei dem es sich nicht um einen Codefehler oder -fehler handelt.
In den meisten Fällen werden Daten auf diese Weise beschädigt und / oder veraltet, was zu Fehlern führt. Um das Risiko von Datenabweichungen zu vermeiden und zu minimieren, können wir die folgenden Lösungen anwenden. Natürlich können Sie am Ende dieses Tutorials im Kommentarbereich weitere Lösungen hinzufügen.
- Sicherung Ihrer Daten
- Bringen Sie Ihre geänderten Daten in den ursprünglichen Zustand zurück
- Datenverteilung unter den Testern
- Halten Sie den Data Warehouse-Administrator über Datenänderungen / -änderungen auf dem Laufenden
Wie können Sie Ihre Daten in einer Testumgebung intakt halten?
In den meisten Fällen sind viele Tester dafür verantwortlich, denselben Build zu testen. In diesem Fall haben mehr als ein Tester Zugriff auf gemeinsame Daten und versuchen, den gemeinsamen Datensatz entsprechend ihren Anforderungen zu bearbeiten.
Wenn Sie Daten für bestimmte Module vorbereitet haben, können Sie Ihren Datensatz am besten intakt halten, indem Sie Sicherungskopien derselben aufbewahren.
Testdaten für den Leistungstestfall
Leistungstests erfordern einen sehr großen Datensatz. Manchmal werden beim manuellen Erstellen von Daten einige subtile Fehler nicht erkannt, die möglicherweise nur von tatsächlichen Daten erfasst werden, die von der zu testenden Anwendung erstellt wurden. Wenn Sie Echtzeitdaten wünschen, die nicht manuell erstellt werden können, bitten Sie Ihren Lead / Manager, diese in der Live-Umgebung verfügbar zu machen.
Diese Daten sind nützlich, um das reibungslose Funktionieren der Anwendung für alle gültigen Eingaben sicherzustellen.
Was sind die idealen Testdaten?
Daten können als ideal bezeichnet werden, wenn für die minimale Größe des Datensatzes alle Anwendungsfehler identifiziert werden sollen. Versuchen Sie, Daten vorzubereiten, die alle Anwendungsfunktionen enthalten, jedoch die Kosten- und Zeitbeschränkungen für die Vorbereitung von Daten und die Ausführung von Tests nicht überschreiten.
Wie bereite ich Daten vor, die eine maximale Testabdeckung gewährleisten?
Entwerfen Sie Ihre Daten unter Berücksichtigung der folgenden Kategorien:
1) Keine Daten: Führen Sie Ihre Testfälle mit leeren oder Standarddaten aus. Überprüfen Sie, ob die richtigen Fehlermeldungen generiert werden.
2) Gültiger Datensatz: Erstellen Sie es, um zu überprüfen, ob die Anwendung den Anforderungen entspricht und gültige Eingabedaten ordnungsgemäß in einer Datenbank oder in Dateien gespeichert sind.
3) Ungültiger Datensatz: Bereiten Sie einen ungültigen Datensatz vor, um das Anwendungsverhalten auf negative Werte und alphanumerische Zeichenfolgen zu überprüfen.
4) Unzulässiges Datenformat: Erstellen Sie einen Datensatz mit einem illegalen Datenformat. Das System sollte keine Daten in einem ungültigen oder unzulässigen Format akzeptieren. Überprüfen Sie auch, ob die richtigen Fehlermeldungen generiert wurden.
5) Datensatz für Randbedingungen: Datensatz mit Daten außerhalb des Bereichs. Identifizieren Sie Anwendungsgrenzfälle und bereiten Sie einen Datensatz vor, der sowohl untere als auch obere Randbedingungen abdeckt.
6) Der Datensatz für Leistungs-, Last- und Stresstests: Dieser Datensatz sollte ein großes Volumen haben.
Auf diese Weise wird durch das Erstellen separater Datensätze für jede Testbedingung eine vollständige Testabdeckung sichergestellt.
Daten für Black-Box-Tests
Die Qualitätssicherungstester führen Integrationstests, Systemtests und Abnahmetests durch, die als Black-Box-Tests bezeichnet werden. Bei dieser Testmethode haben die Tester keine Arbeit mit der internen Struktur, dem Design und dem Code der zu testenden Anwendung.
Der Hauptzweck der Tester besteht darin, Fehler zu identifizieren und zu lokalisieren. Auf diese Weise wenden wir entweder funktionale oder nicht funktionale Tests mit verschiedenen Black-Box-Testtechniken an.
Figur 4: Entwurfsmethoden für Black-Box-Daten
Zu diesem Zeitpunkt benötigen die Tester die Testdaten als Eingabe für die Ausführung und Implementierung der Techniken des Black-Box-Tests. Und die Tester sollten die Daten vorbereiten, die alle Anwendungsfunktionen prüfen, wobei die angegebenen Kosten und die angegebene Zeit nicht überschritten werden.
Wir können die Daten für unsere Testfälle unter Berücksichtigung von Datensatzkategorien wie keine Daten, gültige Daten, ungültige Daten, unzulässiges Datenformat, Randbedingungsdaten, Äquivalenzpartition, Entscheidungsdatentabelle, Zustandsübergangsdaten und Anwendungsfalldaten entwerfen. Bevor die Tester in die Datensatzkategorien wechseln, initiieren sie die Datenerfassung und -analyse der vorhandenen Ressourcen der Anwendung unter Tester (AUT).
Gemäß den zuvor genannten Punkten, in denen es darum geht, Ihr Data Warehouse immer auf dem neuesten Stand zu halten, sollten Sie die Datenanforderungen auf Testfall-Ebene dokumentieren und sie beim Erstellen Ihrer Testfälle als verwendbar oder nicht wiederverwendbar markieren. Es hilft Ihnen, die zum Testen erforderlichen Daten von Anfang an klar zu löschen und zu dokumentieren, auf die Sie später für Ihre weitere Verwendung zurückgreifen können.
Beispiel für Testdaten für Open EMR AUT
Für unser aktuelles Tutorial haben wir die Open EMR als Application Under Test (AUT).
=> Bitte finden Sie die Link zur Open EMR-Anwendung hier als Referenz / Praxis.
Die folgende Tabelle zeigt ein Beispiel für die Erfassung von Datenanforderungen, die Teil der Testfalldokumentation sein können und aktualisiert werden, wenn Sie die Testfälle für Ihre Testszenarien schreiben.
( HINWEIS :: Klicken auf einem Bild für eine vergrößerte Ansicht)
Erstellung manueller Daten zum Testen der Open EMR-Anwendung
Lassen Sie uns mit der Erstellung manueller Daten zum Testen der Open EMR-Anwendung für die angegebenen Datensatzkategorien fortfahren.
Unterschied zwischen Unix- und Linux-Befehlen
1) Keine Daten: Der Tester überprüft die URL der Open EMR-Anwendung und die Funktionen „Patient suchen oder hinzufügen“, ohne dass Daten angegeben werden.
zwei) Gültige Daten: Der Tester validiert die Open EMR-Anwendungs-URL und die Funktion „Patient suchen oder hinzufügen“ mit gültigen Daten.
3) Ungültige Daten: Der Tester überprüft die URL der Open EMR-Anwendung und die Funktion „Patient suchen oder hinzufügen“ mit ungültigen Daten.
4) Illegales Datenformat: Der Tester überprüft die URL der Open EMR-Anwendung und die Funktion „Patient suchen oder hinzufügen“ mit ungültigen Daten.
Testdaten für 1-4 Datensatzkategorien:
5) Randbedingungsdatensatz: Es dient dazu, Eingabewerte für Grenzen zu bestimmen, die entweder innerhalb oder außerhalb der angegebenen Werte als Daten liegen.
6) Äquivalenzpartitionsdatensatz: Es ist die Testtechnik, die Ihre Eingabedaten in die Eingabewerte von gültig und ungültig unterteilt.
Testdaten für 5thund 6thDatensatzkategorien für Open EMR-Benutzernamen und -Kennwort:
7) Entscheidungstabellendatensatz: Dies ist die Technik zum Qualifizieren Ihrer Daten mit einer Kombination von Eingaben, um verschiedene Ergebnisse zu erzielen. Diese Methode des Black-Box-Testens hilft Ihnen, Ihren Testaufwand bei der Überprüfung jeder einzelnen Kombination von Testdaten zu reduzieren. Darüber hinaus kann diese Technik Ihnen die vollständige Testabdeckung gewährleisten.
Nachfolgend finden Sie den Datensatz der Entscheidungstabelle für den Benutzernamen und das Kennwort der Open EMR-Anwendung.
Die Berechnung der in der obigen Tabelle vorgenommenen Kombinationen wird zu Ihrer detaillierten Information wie folgt beschrieben. Sie benötigen es möglicherweise, wenn Sie mehr als vier Kombinationen ausführen.
- Anzahl der Kombinationen = Anzahl der Bedingungen 1 Werte * Anzahl der Bedingungen 2 Werte
- Anzahl der Kombinationen = 2 ^ Anzahl der richtigen / falschen Bedingungen
- Beispiel: Anzahl der Kombinationen - 2 ^ 2 = 4
8) Statusübergangstest-Datensatz: Mit dieser Testtechnik können Sie den Statusübergang der zu testenden Anwendung (AUT) validieren, indem Sie dem System die Eingabebedingungen zur Verfügung stellen.
Zum BeispielWir melden uns bei der Open EMR-Anwendung an, indem wir beim ersten Versuch den richtigen Benutzernamen und das richtige Kennwort angeben. Das System gibt uns Zugriff, aber wenn wir die falschen Anmeldedaten eingeben, verweigert das System den Zugriff. Beim Testen des Statusübergangs wird überprüft, wie viele Anmeldeversuche Sie ausführen können, bevor Open EMR geschlossen wird.
Die folgende Tabelle zeigt, wie entweder die richtigen oder die falschen Anmeldeversuche reagieren
9) Anwendungsfall Testdatum: Es ist die Testmethode, die unsere Testfälle identifiziert, die das End-to-End-Testen eines bestimmten Features erfassen.
Beispiel: Öffnen Sie die EMR-Anmeldung:
Lesen Sie auch => Daten Datenverwaltungstechniken
Eigenschaften guter Testdaten
Als Tester müssen Sie das Modul „Prüfungsergebnisse“ auf der Website einer Universität testen. Beachten Sie, dass die gesamte Anwendung integriert wurde und sich im Status 'Testbereit' befindet. Das Prüfungsmodul ist mit den Modulen 'Registrierung', 'Kurse' und 'Finanzen' verknüpft.
Angenommen, Sie verfügen über ausreichende Informationen zur Anwendung und haben eine umfassende Liste von Testszenarien erstellt. Jetzt müssen Sie diese Testfälle entwerfen, dokumentieren und ausführen. Im Abschnitt 'Aktionen / Schritte' oder 'Testeingaben' der Testfälle müssen Sie die akzeptablen Daten als Eingabe für den Test angeben.
Die in Testfällen genannten Daten müssen richtig ausgewählt werden. Die Genauigkeit der Spalte 'Tatsächliche Ergebnisse' des Testfalldokuments hängt hauptsächlich von den Testdaten ab. Daher ist der Schritt zur Vorbereitung der eingegebenen Testdaten von großer Bedeutung. Daher hier mein Überblick über „DB-Tests - Strategien zur Vorbereitung von Testdaten“.
Testdateneigenschaften
Die Testdaten sollten präzise ausgewählt werden und die folgenden vier Eigenschaften aufweisen:
1) Realistisch:
Realistisch bedeutet dies, dass die Daten im Kontext realer Szenarien genau sein sollten. Um beispielsweise das Feld 'Alter' zu testen, sollten alle Werte positiv sein und mindestens 18 betragen. Es liegt auf der Hand, dass die Kandidaten für die Zulassung an der Universität in der Regel 18 Jahre alt sind (dies kann in Bezug auf die geschäftlichen Anforderungen unterschiedlich definiert sein).
Wenn das Testen unter Verwendung der realistischen Testdaten durchgeführt wird, wird die App robuster, da die meisten möglichen Fehler mithilfe realistischer Daten erfasst werden können. Ein weiterer Vorteil realistischer Daten ist ihre Wiederverwendbarkeit, die uns Zeit und Mühe spart, immer wieder neue Daten zu erstellen.
Wenn es sich um realistische Daten handelt, möchte ich Ihnen das Konzept des goldenen Datensatzes vorstellen. Ein goldener Datensatz deckt fast alle möglichen Szenarien ab, die im realen Projekt auftreten. Durch die Verwendung des GDS können wir eine maximale Testabdeckung bieten. Ich verwende das GDS für Regressionstests in meiner Organisation. Auf diese Weise kann ich alle möglichen Szenarien testen, die auftreten können, wenn der Code in die Produktionsbox gelangt.
Auf dem Markt sind viele Tools zur Generierung von Testdaten verfügbar, die die Spalteneigenschaften und Benutzerdefinitionen in der Datenbank analysieren und auf dieser Grundlage realistische Testdaten für Sie generieren. Einige der guten Beispiele für Tools, die Daten für Datenbanktests generieren, sind DTM-Datengenerator , SQL-Datengenerator und Mockaroo .
2. Praktisch gültig:
Dies ist ähnlich wie realistisch, aber nicht dasselbe. Diese Eigenschaft hängt mehr mit der Geschäftslogik von AUT zusammen, z. Der Wert 60 ist im Altersbereich realistisch, für einen Absolventen oder sogar einen Masterstudiengang jedoch praktisch ungültig. In diesem Fall wäre ein gültiger Bereich 18-25 Jahre (dies könnte in den Anforderungen definiert sein).
3. Vielseitig für Szenarien:
bestes kostenloses Betriebssystem für Laptops
In einem einzelnen Szenario können mehrere nachfolgende Bedingungen vorliegen. Wählen Sie die Daten daher mit Bedacht aus, um maximale Aspekte eines einzelnen Szenarios mit dem minimalen Datensatz, z. Berücksichtigen Sie beim Erstellen von Testdaten für das Ergebnismodul nicht nur den Fall regulärer Schüler, die ihr Programm reibungslos abschließen. Achten Sie auf die Studierenden, die denselben Kurs wiederholen und verschiedenen Semestern oder sogar verschiedenen Programmen angehören. Der Datensatz kann folgendermaßen aussehen:
Herr# | Studenten ID | Program_ID | Kurs-ID | Klasse |
1 | BCS-Fall2011-Morning-01 | BCS-F11 | CS-401 | ZU |
zwei | BCS-Spring2011-Evening-14 | BCS-S11 | CS-401 | B + |
3 | MIT-Fall2010-Afternoon-09 | MIT-F10 | CS-401 | ZU- |
... | ... | ... | ... | ... |
Es kann einige andere interessante und knifflige Unterbedingungen geben. Z.B. die Begrenzung der Jahre für den Abschluss eines Studiengangs, Bestehen eines Vorkurses für die Anmeldung eines Studiengangs, maximal Nr. von Kursen, die ein Student in einem einzelnen Semester einschreiben kann usw. usw. Stellen Sie sicher, dass Sie alle diese Szenarien mit den endlichen Datenmengen mit Bedacht abdecken.
4. Außergewöhnliche Daten (falls zutreffend / erforderlich):
Es kann bestimmte Ausnahmeszenarien geben, die weniger häufig auftreten, bei deren Auftreten jedoch hohe Aufmerksamkeit erforderlich ist, z. Probleme im Zusammenhang mit behinderten Studenten.
Eine weitere gute Erklärung und ein Beispiel für den außergewöhnlichen Datensatz finden Sie in der folgenden Abbildung:
Wegbringen:
Testdaten werden als gute Testdaten bezeichnet, wenn sie realistisch, gültig und vielseitig sind. Es ist ein zusätzlicher Vorteil, wenn die Daten auch außergewöhnliche Szenarien abdecken.
Testdatenvorbereitungstechniken
Wir haben kurz die wichtigen Eigenschaften von Testdaten besprochen und herausgearbeitet, wie wichtig die Auswahl von Testdaten während des Datenbanktests ist. Lassen Sie uns nun das diskutieren ' Techniken zur Vorbereitung von Testdaten ' .
Es gibt nur zwei Möglichkeiten, Testdaten vorzubereiten:
Methode 1) Neue Daten einfügen
Holen Sie sich eine saubere Datenbank und fügen Sie alle Daten ein, wie in Ihren Testfällen angegeben. Sobald alle erforderlichen und gewünschten Daten eingegeben wurden, starten Sie die Ausführung Ihrer Testfälle und füllen Sie die Spalten 'Bestanden / Nicht bestanden' aus, indem Sie die 'Tatsächliche Ausgabe' mit der 'Erwarteten Ausgabe' vergleichen. Klingt einfach, oder? Aber warte, so einfach ist das nicht.
Einige wesentliche und kritische Bedenken sind wie folgt:
- Eine leere Instanz der Datenbank ist möglicherweise nicht verfügbar
- Eingefügte Testdaten reichen möglicherweise nicht aus, um einige Fälle wie Leistungs- und Lasttests zu testen.
- Das Einfügen der erforderlichen Testdaten in die leere Datenbank ist aufgrund der Abhängigkeiten der Datenbanktabellen keine leichte Aufgabe. Aufgrund dieser unvermeidlichen Einschränkung kann das Einfügen von Daten für den Tester zu einer schwierigen Aufgabe werden.
- Durch das Einfügen begrenzter Testdaten (nur entsprechend den Anforderungen des Testfalls) können einige Probleme ausgeblendet werden, die nur mit dem großen Datensatz auftreten können.
- Für das Einfügen von Daten können komplexe Abfragen und / oder Verfahren erforderlich sein, und hierfür wäre eine ausreichende Unterstützung oder Unterstützung durch die DB-Entwickler erforderlich.
Die oben genannten fünf Punkte sind die kritischsten und offensichtlichsten Nachteile dieser Technik für die Vorbereitung von Testdaten. Es gibt aber auch einige Vorteile:
- Die Ausführung von TCs wird effizienter, da die Datenbank nur über die erforderlichen Daten verfügt.
- Die Fehlerisolierung erfordert keine Zeit, da nur die in Testfällen angegebenen Daten in der Datenbank vorhanden sind.
- Weniger Zeit für Tests und Ergebnisvergleich erforderlich.
- Unübersichtlicher Testprozess
Methode 2) Wählen Sie eine Teilmenge der Beispieldaten aus den tatsächlichen DB-Daten
Dies ist eine praktikable und praktischere Technik zur Vorbereitung von Testdaten. Es erfordert jedoch fundierte technische Kenntnisse und detaillierte Kenntnisse in DB Schema und SQL. Bei dieser Methode müssen Sie Produktionsdaten kopieren und verwenden, indem Sie einige Feldwerte durch Dummy-Werte ersetzen. Dies ist die beste Datenuntermenge für Ihre Tests, da sie die Produktionsdaten darstellt. Dies ist jedoch aufgrund von Datenschutz- und Datenschutzproblemen möglicherweise nicht immer möglich.
Wegbringen:
Im obigen Abschnitt haben wir oben die Techniken zur Vorbereitung der Testdaten erörtert. Kurz gesagt, es gibt zwei Techniken: Entweder neue Daten erstellen oder eine Teilmenge aus bereits vorhandenen Daten auswählen. Beides muss so erfolgen, dass die ausgewählten Daten verschiedene Testszenarien abdecken, hauptsächlich gültige und ungültige Tests, Leistungstests und Nulltests.
Lassen Sie uns im letzten Abschnitt auch einen kurzen Überblick über die Ansätze zur Datengenerierung geben. Diese Ansätze sind hilfreich, wenn wir neue Daten generieren müssen.
Ansätze zur Testdatengenerierung:
- Manuelle Testdatengenerierung: Bei diesem Ansatz werden die Testdaten von Testern gemäß den Testfallanforderungen manuell eingegeben. Es ist eine Zeit, die den Prozess in Anspruch nimmt und auch fehleranfällig ist.
- Automatisierte Testdatengenerierung: Dies erfolgt mit Hilfe von Datengenerierungstools. Der Hauptvorteil dieses Ansatzes ist seine Geschwindigkeit und Genauigkeit. Es ist jedoch mit höheren Kosten verbunden als die manuelle Generierung von Testdaten.
- Back-End-Dateninjektion : Dies erfolgt über SQL-Abfragen. Dieser Ansatz kann auch die vorhandenen Daten in der Datenbank aktualisieren. Es ist schnell und effizient, sollte aber sehr sorgfältig implementiert werden, damit die vorhandene Datenbank nicht beschädigt wird.
- Verwenden von Tools von Drittanbietern : Auf dem Markt sind Tools verfügbar, die zuerst Ihre Testszenarien verstehen und dann Daten entsprechend generieren oder einfügen, um eine breite Testabdeckung zu gewährleisten. Diese Tools sind genau, da sie an die geschäftlichen Anforderungen angepasst werden. Aber sie sind ziemlich teuer.
Wegbringen:
Es gibt 4 Ansätze zum Testen der Datengenerierung:
- Handbuch,
- Automatisierung,
- Back-End-Dateninjektion,
- und Tools von Drittanbietern.
Jeder Ansatz hat seine eigenen Vor- und Nachteile. Sie sollten den Ansatz auswählen, der Ihren Geschäfts- und Testanforderungen entspricht.
Fazit
Die Erstellung vollständiger Softwaretestdaten in Übereinstimmung mit den Industriestandards, Gesetzen und den Basisdokumenten des durchgeführten Projekts gehört zu den Kernaufgaben der Tester. Je effizienter wir die Testdaten verwalten, desto mehr können wir einigermaßen fehlerfreie Produkte für reale Benutzer bereitstellen.
Test Data Management (TDM) ist der Prozess, der auf der Analyse von Herausforderungen und der Einführung sowie der Anwendung der besten Tools und Methoden basiert, um die identifizierten Probleme gut anzugehen, ohne die Zuverlässigkeit und die vollständige Abdeckung der Endausgabe (Produkt) zu beeinträchtigen.
Wir müssen uns immer Fragen stellen, um nach innovativen und kostengünstigeren Methoden zur Analyse und Auswahl der Testmethoden zu suchen, einschließlich der Verwendung von Tools zur Generierung der Daten. Es ist allgemein erwiesen, dass gut gestaltete Daten es uns ermöglichen, Fehler der zu testenden Anwendung in jeder Phase eines mehrphasigen SDLC zu identifizieren.
Wir müssen kreativ sein und mit allen Mitgliedern innerhalb und außerhalb unseres agilen Teams zusammenarbeiten. Bitte teilen Sie Ihr Feedback, Ihre Erfahrungen, Fragen und Kommentare mit, damit wir unsere technischen Diskussionen fortsetzen können, um unsere positiven Auswirkungen auf AUT durch die Verwaltung von Daten zu maximieren.
Die Vorbereitung der richtigen Testdaten ist ein zentraler Bestandteil des „Setups der Projekttestumgebung“. Wir können den Testfall nicht einfach übersehen, der besagt, dass keine vollständigen Daten zum Testen verfügbar waren. Der Tester sollte zusätzlich zu den vorhandenen Standardproduktionsdaten eigene Testdaten erstellen. Ihr Datensatz sollte hinsichtlich Kosten und Zeit ideal sein.
Seien Sie kreativ, verwenden Sie Ihre eigenen Fähigkeiten und Urteile, um verschiedene Datensätze zu erstellen, anstatt sich auf Standardproduktionsdaten zu verlassen.
Teil II - Der zweite Teil dieses Tutorials ist auf der '' Testen Sie die Datengenerierung mit dem GEDIS Studio Online Tool ”.
Haben Sie das Problem unvollständiger Testdaten zum Testen gesehen? Wie hast du es geschafft? Bitte teilen Sie Ihre Tipps, Erfahrungen, Kommentare und Fragen mit, um dieses Diskussionsthema weiter zu bereichern.
Literatur-Empfehlungen
- Tutorial zum Testen von ETL-Data Warehouse-Tests (Eine vollständige Anleitung)
- Was ist Mutationstest: Tutorial mit Beispielen
- So führen Sie datengesteuerte Tests mit dem TestComplete-Tool durch
- Datengesteuertes oder parametrisiertes Testen mit Spock Framework
- Die 4 Schritte zum Testen von Business Intelligence (BI): Testen von Geschäftsdaten
- Tutorial zum Volumentest: Beispiele und Tools zum Volumentest
- Eine hervorragende Möglichkeit zum Testen von Daten mithilfe von XML-Technologien (White Paper)
- Top 10 Tools zum Testen und Validieren strukturierter Daten für SEO