Testdatengenerierung: Was ist, wie, Beispiel, Tools

Inhaltsverzeichnis:

Anonim

Als Tester denken Sie vielleicht, dass das Entwerfen von Testfällen schwierig genug ist. Warum sollten Sie sich dann um etwas so Triviales wie Testdaten kümmern? Der Zweck dieses Tutorials ist es, Sie mit Testdaten und ihrer Bedeutung vertraut zu machen und praktische Tipps und Tricks zu geben, um Testdaten schnell zu generieren. Also, fangen wir an!

Was sind Testdaten beim Testen von Software?

Testdaten beim Softwaretest sind die Eingaben, die während der Testausführung in ein Softwareprogramm eingegeben werden. Es stellt Daten dar, die die Softwareausführung während des Testens beeinflussen oder von dieser beeinflusst werden. Testdaten werden sowohl für positive Tests verwendet, um zu überprüfen, ob Funktionen erwartete Ergebnisse für bestimmte Eingaben liefern, als auch für negative Tests, um die Fähigkeit der Software zu testen, ungewöhnliche, außergewöhnliche oder unerwartete Eingaben zu verarbeiten.

Schlecht gestaltete Testdaten testen möglicherweise nicht alle möglichen Testszenarien, die die Qualität der Software beeinträchtigen.

Was ist Testdatengenerierung? Warum sollten Testdaten vor der Testausführung erstellt werden?

Jeder weiß, dass das Testen ein Prozess ist, der große Datenmengen erzeugt und verbraucht. Die beim Testen verwendeten Daten beschreiben die Anfangsbedingungen für einen Test und stellen das Medium dar, durch das der Tester die Software beeinflusst. Es ist ein entscheidender Bestandteil der meisten Funktionstests.

Abhängig von Ihrer Testumgebung müssen Sie möglicherweise (meistens) Testdaten ERSTELLEN oder zumindest geeignete Testdaten für Ihre Testfälle identifizieren (sofern die Testdaten bereits erstellt wurden).

In der Regel werden Testdaten synchron mit dem Testfall erstellt, für den sie verwendet werden sollen.

Testdaten können generiert werden -

  • Manuell
  • Massenkopie der Daten von der Produktion in die Testumgebung
  • Massenkopie von Testdaten von älteren Client-Systemen
  • Tools zur automatisierten Testdatengenerierung

In der Regel sollten Beispieldaten generiert werden, bevor Sie mit der Testausführung beginnen, da die Verwaltung der Testdaten ansonsten schwierig ist. Da das Erstellen von Testdaten in vielen Testumgebungen mehrere Vorschritte oder sehr zeitaufwändige Konfigurationen der Testumgebung erfordert. . Auch wenn die Testdatengenerierung während der Testausführungsphase durchgeführt wird, können Sie Ihre Testfrist überschreiten.

Im Folgenden werden verschiedene Testtypen zusammen mit einigen Vorschlägen bezüglich ihrer Testdatenanforderungen beschrieben.

Testdaten für White-Box-Tests

Beim White-Box-Test wird das Testdatenmanagement aus der direkten Prüfung des zu testenden Codes abgeleitet. Testdaten können unter Berücksichtigung der folgenden Punkte ausgewählt werden:

  • Es ist wünschenswert, so viele Zweige wie möglich abzudecken. Testdaten können so generiert werden, dass alle Zweige im Programmquellcode mindestens einmal getestet werden
  • Pfadtest: Alle Pfade im Programmquellcode werden mindestens einmal getestet. Die Vorbereitung der Testdaten kann so viele Fälle wie möglich abdecken
  • Negative API-Tests:
    • Testdaten können ungültige Parametertypen enthalten, mit denen verschiedene Methoden aufgerufen werden
    • Testdaten können aus ungültigen Kombinationen von Argumenten bestehen, mit denen die Methoden des Programms aufgerufen werden

Testdaten für Leistungstests

Leistungstests sind die Art von Tests, die durchgeführt werden, um festzustellen, wie schnell das System unter einer bestimmten Arbeitslast reagiert. Ziel dieser Art von Tests ist es nicht, Fehler zu finden, sondern Engpässe zu beseitigen. Ein wichtiger Aspekt des Leistungstests ist, dass der Satz der verwendeten Beispieldaten sehr nahe an den "realen" oder "Live" -Daten liegen muss, die in der Produktion verwendet werden. Die folgende Frage stellt sich: "Ok, es ist gut, mit realen Daten zu testen, aber wie erhalte ich diese Daten?" Die Antwort ist ziemlich einfach: von den Leuten, die das Beste wissen - den Kunden . Sie können möglicherweise einige Daten bereitstellen, über die sie bereits verfügen, oder sie können Ihnen helfen, indem sie Feedback dazu geben, wie die realen Daten aussehen könnten, wenn sie nicht über einen vorhandenen Datensatz verfügen. Für den Fall, dass Sie in einem sindWartungstestprojekt Sie können Daten aus der Produktionsumgebung in den Prüfstand kopieren. Es wird empfohlen, vertrauliche Kundendaten wie Sozialversicherungsnummer, Kreditkartennummern, Bankdaten usw. zu anonymisieren (zu verschlüsseln), während die Kopie erstellt wird.

Testdaten für Sicherheitstests

Sicherheitstests sind der Prozess, mit dem festgestellt wird, ob ein Informationssystem Daten vor böswilligen Absichten schützt. Der Datensatz, der zum vollständigen Testen einer Software-Sicherheit entworfen werden muss, muss die folgenden Themen abdecken:

  • Vertraulichkeit: Alle von Kunden bereitgestellten Informationen werden streng vertraulich behandelt und nicht an Dritte weitergegeben. Wenn eine Anwendung SSL verwendet, können Sie beispielsweise eine Reihe von Testdaten entwerfen, mit denen überprüft wird, ob die Verschlüsselung korrekt durchgeführt wurde.
  • Integrität: Stellen Sie sicher, dass die vom System bereitgestellten Informationen korrekt sind. Um geeignete Testdaten zu entwerfen, können Sie sich zunächst eingehend mit Design, Code, Datenbanken und Dateistrukturen befassen.
  • Authentifizierung: Stellt den Prozess zum Festlegen der Identität eines Benutzers dar. Testdaten können als eine andere Kombination von Benutzernamen und Kennwörtern gestaltet werden. Sie sollen überprüfen, ob nur autorisierte Personen auf das Softwaresystem zugreifen können.
  • Autorisierung: Gibt an, welche Rechte ein bestimmter Benutzer hat. Testdaten können eine andere Kombination von Benutzern, Rollen und Vorgängen enthalten, um zu überprüfen, ob nur Benutzer mit ausreichenden Berechtigungen einen bestimmten Vorgang ausführen können.

Testdaten für Black-Box-Tests

Beim Black-Box-Test ist der Code für den Tester nicht sichtbar. In Ihren Funktionstestfällen können Testdaten folgende Kriterien erfüllen:

  • Keine Daten : Überprüfen Sie die Systemantwort, wenn keine Daten übermittelt werden
  • Gültige Daten : Überprüfen Sie die Systemantwort, wenn gültige Testdaten übermittelt werden
  • Ungültige Daten : Überprüfen Sie die Systemantwort, wenn ungültige Testdaten gesendet werden
  • Unzulässiges Datenformat : Überprüfen Sie die Systemantwort, wenn die Testdaten in einem ungültigen Format vorliegen
  • Randbedingung Datensatz : Die Testdaten treffen Randwertbedingungen
  • Äquivalenzpartitionsdatensatz : Testen Sie Daten, die Ihre Äquivalenzpartitionen qualifizieren.
  • Entscheidungstabellendatensatz : Testdaten, die Ihre Teststrategie für Entscheidungstabellen qualifizieren
  • Statusübergangstestdatensatz : Testdaten, die Ihrer Statusübergangsteststrategie entsprechen
  • Anwendungsfall-Testdaten : Testdaten synchron mit Ihren Anwendungsfällen.

Hinweis : Abhängig von der zu testenden Softwareanwendung können Sie einige oder alle der oben genannten Testdaten erstellen

Tools zur automatisierten Testdatengenerierung

Um verschiedene Datensätze zu generieren, können Sie eine Reihe automatisierter Tools zur Testdatengenerierung verwenden. Nachfolgend einige Beispiele für solche Tools:

Der DTM-Testdatengenerator ist ein vollständig anpassbares Dienstprogramm, das Daten, Tabellen (Ansichten, Prozeduren usw.) für Datenbanktests (Leistungstests, QS-Tests, Lasttests oder Usability-Tests) generiert.
Datatect ist ein SQL-Datengenerator von Banner Software, der eine Vielzahl realistischer Testdaten in ASCII-Flatfiles generiert oder direkt Testdaten für RDBMS generiert, einschließlich Oracle, Sybase, SQL Server und Informix.

Fazit

Zusammenfassend lässt sich sagen, dass Sie mit gut gestalteten Testdaten schwerwiegende Funktionsmängel identifizieren und beheben können. Die Auswahl der ausgewählten Testdaten muss in jeder Phase eines mehrphasigen Produktentwicklungszyklus neu bewertet werden. Behalten Sie es also immer im Auge.