it-swarm.com.de

Was ist ein Testgeschirr?

Ich bin mit einigen Schwierigkeiten konfrontiert, das Test-Harness und verwandte Begriffe wie Testfälle und Testskripte beim Automatisierungstest zu verstehen.

Das ist, was ich bisher bekommen habe: Automatisierungstests sind die Verwendung einer speziellen Software (mit Ausnahme der getesteten Software), um die Ausführung von Tests zu steuern und die tatsächlichen Ergebnisse mit den erwarteten Ergebnissen zu vergleichen. Es beinhaltet auch die Einrichtung von Testvoraussetzungen. Diese Art der Prüfung eignet sich am besten für häufig durchgeführte Prüfungen.

Jetzt habe ich einige Probleme mit dem Testkabelbaum. Ich habe gelesen, dass es aus einer Test-Suite von Testfällen, Eingabedateien, Ausgabedateien und Testskripten besteht .. Nun ist meine Frage, was ist der Unterschied zwischen Testfall und Testskript? Wie verwenden Sie die Software, um die verschiedenen Funktionen des AUT zu testen? Ich bin auch auf einige Begriffe wie Suite-Master und Fallagenten gestoßen. 

51
coffeeak

Mehrere allgemeine Fragen werden versuchen, auf der Grundlage meiner Erfahrungen zu beantworten.

Stellen Sie sich ein Test Harness als einen 'Enabler' vor, der tatsächlich die gesamte Arbeit von (1) Ausführen von Tests mit einem (2) Testbibliothekausführt. _ und (3) Erstellen von Berichten. Es ist erforderlich, dass Ihre Testskripte für die Verarbeitung verschiedener (4) Testdaten und (5) Testszenarien konzipiert sind. Wenn der Test-Harness vorhanden ist und die erforderlichen Daten vorbereitet sind (auch bekannt als data prep), sollte jemand in der Lage sein, auf eine Schaltfläche zu klicken oder einen Befehl auszuführen, um alle Tests auszuführen und Berichte zu erstellen.

Ein Test-Harness ist höchstwahrscheinlich eine Ansammlung verschiedener Dinge, die all das Obige passieren lassen. Wenn Sie während der Entwicklung Ihrer Anwendung Komponententests geschrieben haben, wäre dies Teil eines Test-Kabelsatzes. Sie hätten auch andere Tests für die Funktionalität Ihrer App, wie z. B .: Benutzer meldet sich bei Site an, zeigt den Favoritenbereich, aktuelle Nachrichten und Benachrichtigungen. Dann fügen Sie eine Art "Läufer" hinzu, der alle Ihre "Testskripte" durchläuft und sie ausführt (anstatt dass Sie Tests einzeln ausführen müssen). Wenn es sich anfühlt, als wäre ein Test-Harness eher eine konzeptionelle Sammlung als eine einzelne Software, dann verstehen Sie das richtig :-)

Nun ist meine Frage, was ist der Unterschied zwischen Testfall und Testskript?

Einfache, aber nicht ganz korrekte Antwort: Ein Testfall definiert Testziele, Beschreibung, Vorbedingungen, Schritte (beschreibende oder spezifische), erwartete Ergebnisse. Ein Test Script wäre dann das eigentliche automatisierte Skript, das Sie ausführen, um diesen Test durchzuführen. Das ist in einem Automatisierungskontext. Und es ändert sich. Viel.

Was Zertifizierungen wie ISTQB als Testszenariendefinieren, wird in einigen Unternehmen und Ländern normalerweise als Testfälle bezeichnet. In anderen Fällen werden Testfälle mit Testskripten umgedreht, wenn auf manuelle Tests verwiesen wird (wenn die Schritte detailliert angegeben sind, jedoch nicht Teil eines Automatisierungs-Kabelsatzes sind). Andere sagen, dass Testskripte ausschließlich automatisierte Tests bedeuten. Andererseits kann man auch argumentieren, dass mehrere Testfälle in einem Testskript kombiniert werden können und umgekehrt. Das wirft also die Frage auf, wie ein Testverfahren passt?

Eine Testentwicklung -Stufe kann Folgendes aufweisen: "Testverfahren, Testszenarien, Testfälle, Testdatensätze, Testskripts zur Verwendung in Testsoftware."

Wenn Sie eine > (ist größer als/collection of) -Zusammensetzung annehmen, wie würden Sie diese beziehen? Rhetorische Frage - das unterscheidet sich je nachdem, wo Sie arbeiten, wer Ihr Kunde ist usw. Am besten definieren Sie es mit Ihren Kollegen/Kunden und vereinbaren Sie das Verständnis der Begriffe und nicht die Definition. Ich gehe derzeit mit Testskript = automatisiertes Skript, basierend auf einem bereits vorhandenen manuellen Testfall oder einem Testszenario.

Wie verwenden Sie die Software, um die verschiedenen Funktionen des AUT zu testen?

Sie schreiben verschiedene Tests, um verschiedene Dinge zu testen. Jeder Test führt bestimmte Aktionen aus und prüft, ob die Ausgabe des AUT Ihren Erwartungen entspricht - If displayed_value == expected_value. Ein Eingabedatei könnte verwendet werden, um beispielsweise Daten für die Testliste der Testbenutzernamen und -kennwörter bereitzustellen. Oder führen Sie den gleichen Test mit unterschiedlichen Daten aus - melden Sie sich als anderer Benutzer mit unterschiedlichen Meldungen usw. an.

Werfen Sie einen Blick auf RobotFramework und das Selenium . Ein Roboter-Framework-Test (geschrieben in Text- oder HTML-Dateien) in Kombination mit der Selenium-Bibliothek würde es Ihnen ermöglichen, einen automatisierten Test zu schreiben, der etwas Bestimmtes testet ... wie eine Validierung der Homepage. Sie würden einen separaten Test schreiben, um sicherzustellen, dass ein Benutzer alle seine Nachrichten sehen kann. Ein weiterer, um Clearing-Benachrichtigungen zu testen. Und so weiter.

57
aneroid

test harness : Eine Testumgebung, die aus Stubs und Treibern besteht, um einen Test auszuführen.

Test-Kabelbäume und Stichleitungen werden verwendet, um die fehlenden Elemente zu replizieren (Komponenten, die noch nicht in den Tests oder externen Systemen enthalten sind). Oft ist es erforderlich, bei der Durchführung kleiner Integrationsprüfungen mehrerer Module oder Komponenten oder Methoden und Tools improvisieren, um die Testdaten an die zu testenden Komponenten zu bringen. Dies wird oft als Testgeschirr bezeichnet. Aufgrund der Notwendigkeit, die technischen Voraussetzungen für den Aufbau eines Testgurtzeugs zu verstehen, werden diese Tests fast immer vom Entwicklungsteam durchgeführt.

Ein Test-Kabelsatz kann das Testen von Komponenten oder Teilen eines Systems erleichtern, indem die Umgebung simuliert wird, in der das Testobjekt ausgeführt wird. Dies kann entweder erfolgen, weil andere Komponenten dieser Umgebung noch nicht verfügbar sind und durch Stubs und/oder Treiber ersetzt werden, oder einfach um eine vorhersagbare und kontrollierbare Umgebung bereitzustellen, in der Fehler an dem zu testenden Objekt lokalisiert werden können. Dies sind normalerweise maßgeschneiderte Programme, die von Entwicklern erstellt wurden, um den Testprozess zu unterstützen. Wenn sie in einer ausgereiften Organisation verwendet werden, ist es durchaus möglich, dass diese Kabelbäume als Test Assets betrachtet werden und der Versionskontrolle und dem Konfigurationsmanagement unterliegen.

13
Angel Tsvetkov

Testkabelbäume enthält alle Informationen, die zum Kompilieren und Ausführen eines Tests erforderlich sind. Dazu gehören Testfälle, geprüfte Quelldateien, Stubs und TDP-Konfigurationseinstellungen.

1
Azad Ansari

Ein Test-Harness ist die Sammlung aller Elemente, die zum Testen von Software auf Einheiten-, Modul-, Anwendungs- oder Systemebene erforderlich sind, und stellt den Mechanismus zur Ausführung des Tests bereit. Jedes Element wie Eingabedaten, Testparameter, Testfall, Testskript, erwartete Ausgabedaten, Testwerkzeug und Testergebnisbericht ist Teil des Testkabels. 

0
arimen