what is test harness
Ich bin kein großer Fan von Labels. Das meine ich damit.
Wenn ich einige Aspekte überprüfen muss, bevor ich feststelle, ob die Qualitätssicherung gestartet werden kann, erstelle ich einfach eine Liste und führe die Aktion aus. Meiner Meinung nach spielt es keine Rolle, ob ich es offiziell als 'Test Readiness Review' -Operation bezeichne oder nicht - solange ich das tue, was ich tun soll, besteht meines Erachtens keine Notwendigkeit, es einen bestimmten Namen oder ein bestimmtes Etikett zu nennen .
Aber ich stehe korrigiert. Kürzlich unterrichtete ich in meiner Klasse das Agile-Scrum-Modell für die Softwareentwicklung. Da war ein Frage „ Wie werden Tests in einer agilen Methode durchgeführt? „Ich habe zwei Methoden erklärt - eine, bei der wir versuchen, sie in jeden Sprint einzubeziehen, und die andere ist eine bewährte Methode, die ich aus der Implementierung aus erster Hand gelernt habe -, nämlich einen QS-Sprint in Bezug auf die Entwicklung zu verzögern.
Einer meiner Schüler fragte mich, ob es einen Namen für den zweiten gibt, und ich tat es nicht, weil ich die Namen selbst nie betont habe.
In diesem Moment war mir jedoch klar, wie wichtig es ist, einen Prozess angemessen zu kennzeichnen, um sicherzustellen, dass wir einen Begriff haben, der sich auf den Prozess bezieht, über den wir sprechen.
Deshalb werden wir heute genau das tun: Lernen Sie den Prozess hinter dem Begriff „Test Harness“ kennen.
Wie ich bereits in einigen meiner vorherigen Artikel erwähnt habe: Aus der wörtlichen Bedeutung des Namens kann viel verstanden werden. Überprüfen Sie also Ihr Wörterbuch auf die Bedeutung von „Harness“ und die große Enthüllung, ob es in diesem Fall zutrifft oder nicht, werden wir am Ende sehen.
Es gibt zwei Kontexte, in denen das Testgeschirr verwendet wird:
- Automatisierungstests
- Integrationstests
Beginnen wir mit dem ersten:
Was du lernen wirst:
- Kontext 1: Testkabelbaum in der Testautomatisierung
- Kontext 2: Testkabelbaum beim Integrationstest
- Abschließend:
- Literatur-Empfehlungen
Kontext # 1: Testkabelbaum in der Testautomatisierung
Im das Automatisierungstests Welt, Testkabel bezieht sich auf das Framework und die Softwaresysteme, die die Testskripte enthalten, Parameter, die erforderlich sind (dh Daten), um diese Skripte auszuführen, Testergebnisse zu sammeln, sie zu vergleichen (falls erforderlich) und die Ergebnisse zu überwachen.
Ich werde versuchen, dies anhand eines Beispiels zu vereinfachen.
Beispiel::
Wenn ich über ein Projekt sprach, das verwendet HP Quick Test Professional (jetzt UFT) für Funktionstests, HP ALM ist verknüpft, um alle Skripte, Läufe und Ergebnisse zu organisieren und zu verwalten, und die Daten werden aus einer MS Access-Datenbank ausgewählt. Folgendes wäre das Testkabel für dieses Projekt:
Wo kann ich kostenlose Animes online sehen?
- Die QTP (UFT) -Software selbst
- Die Skripte und der physische Speicherort
- Der Test setzt
- MS Access DB, um Parameter, Daten oder die verschiedenen Bedingungen bereitzustellen, die an die Testskripte geliefert werden sollen
- HP ALM
- Die Testergebnisse und die vergleichenden Überwachungsattribute
Wie Sie sehen können, sind Softwaresysteme (Automatisierung, Testmanagement usw.), Daten, Bedingungen und Ergebnisse - alle werden integraler Bestandteil des Testkabels - der einzige Ausschluss ist das AUT selbst.
Kontext # 2: Testkabelbaum beim Integrationstest
Jetzt ist es Zeit zu erkunden, was Testgeschirr im Internet bedeutet Kontext von 'Integrationstests' .
Integrationstests bestehen darin, zwei oder mehrere Module (oder Einheiten) von Code zusammenzustellen, die miteinander interagieren, und zu überprüfen, ob das kombinierte Verhalten wie erwartet ist oder nicht.
Im Idealfall sollten und würden Integrationstests von zwei Modulen durchgeführt werden können, wenn beide zu 100% bereit, einheitlich getestet und betriebsbereit sind.
Wir leben jedoch nicht in einer perfekten Welt - was bedeutet, dass ein oder mehrere Module / Codeeinheiten, die die Bestandteile des Integrationstests sein sollen, möglicherweise nicht verfügbar sind. Um diese Situation zu lösen, haben wir Stubs und Treiber.
Stud ist normalerweise ein Teil des Codes, dessen Funktion eingeschränkt ist und der das eigentliche Codemodul ersetzt oder ersetzt, das seinen Platz einnehmen muss.
Beispiel: Um dies weiter zu erklären, möchte ich ein Szenario verwenden
Wenn es eine Einheit A und eine Einheit B gibt, die integriert werden sollen. Außerdem sendet diese Einheit A Daten an Einheit B oder mit anderen Worten, Einheit A ruft Einheit B an.
Einheit A, wenn 100% verfügbar ist und Einheit B nicht, kann der Entwickler einen Code schreiben, dessen Fähigkeit eingeschränkt ist (was dies bedeutet, ist Einheit B, wenn sie 10 Funktionen hat, nur 2 oder 3, die für die Integration wichtig sind mit A) wird entwickelt und zur Integration verwendet. Dies nennt man a STUB.
Die Integration wäre jetzt: Einheit A-> Stub (anstelle von B)
Wenn andererseits Einheit A zu 0% verfügbar ist und Einheit B zu 100% verfügbar ist, muss die Simulation oder der Proxy hier Einheit A sein. Wenn daher eine aufrufende Funktion durch einen Hilfscode ersetzt wird, wird sie als aufgerufen TREIBER .
Die Integration wäre in diesem Fall : TREIBER (anstelle von A) -> Einheit B.
Das gesamte Framework: Der Prozess der Planung, Erstellung und Verwendung von Stubs und / oder Treibern zur Durchführung der Integrationstests wird als Testkabelbaum bezeichnet.
Hinweis : Das obige Beispiel ist begrenzt und das Echtzeitszenario ist möglicherweise nicht so einfach oder unkompliziert. Echtzeitanwendungen haben komplexe und zusammengesetzte Integrationspunkte.
Abschließend:
Wie immer ist STH der Ansicht, dass selbst die technischsten Definitionen aus der einfachen, wörtlichen Bedeutung des Begriffs abgeleitet werden können.
Das Wörterbuch auf meinem Smartphone sagt mir, dass ein 'Geschirr' ist (siehe unter dem Verbkontext):
„Unter Bedingungen für eine effektive Nutzung zu bringen; Kontrolle über ein bestimmtes Ziel erlangen; „
Folgen Sie diesem und passen Sie dies an das Testen an:
„Ein Testkabel besteht einfach darin, das richtige Framework zu erstellen und es (und alle seine Bestandteile) zu verwenden, um die gesamte Aktivität zu steuern und die Situation optimal zu nutzen - ob Automatisierung oder Integration. „
Dort ruhen wir uns aus.
Noch ein paar Dinge, bevor wir fertig sind:
Frage: Was sind die Vorteile eines Testgeschirrs?
Würden Sie sich jetzt fragen, wie wichtig Atem für das menschliche Leben ist - es ist doch wesentlich, oder? Ebenso ist ein Rahmen zum effektiven Testen wie gegeben. Der Vorteil, wenn wir es in so vielen Worten buchstabieren müssen - ich würde sagen, jeder Testprozess hat ein Testgeschirr, ob wir bewusst sagen, dass es „das Testgeschirr“ ist oder nicht. Es ist wie Reisen, wenn man die Route, das Ziel und all die anderen Dynamiken der Reise kennt.
Frage: Was ist der Unterschied zwischen Testkabel und Testrahmen? ?
Ich persönlich denke, dass Vergleichen und Gegenüberstellen nicht oft der richtige Ansatz ist, um verwandte Konzepte zu verstehen, da die Linien oft verschwommen sind. Als Antwort auf diese Frage würde ich sagen, dass das Testgeschirr spezifisch und das Test-Framework generisch ist. Beispielsweise enthält ein Testkabel die genauen Informationen des Testverwaltungstools bis hin zu den zu verwendenden Anmelde-IDs. Ein Test-Framework hingegen sagt einfach, dass ein Testmanagement-Tool die entsprechenden Aktivitäten ausführt.
Q. Q. Gibt es Testkabelbaumwerkzeuge? ?
Das Testkabel umfasst Tools wie Automatisierungssoftware, Testverwaltungssoftware usw. Es gibt jedoch keine spezifischen Tools zum Implementieren eines Testkabels. Alle oder einige Werkzeuge können Teil des Test-Kabelbaums sein: QTP, JUnit, HP ALM - alle können Bestandteil jedes Test-Kabelbaums sein.
Über den Autor: Dieser Artikel wurde vom STH-Teammitglied Swati S. verfasst.
Und immer mit Definitionen gibt es immer Meinungsverschiedenheiten. Wir freuen uns über Ihre Meinung und hören gerne, was Sie denken. Bitte hinterlassen Sie unten einen Kommentar, Fragen oder Vorschläge.
Literatur-Empfehlungen
- Lasttests mit HP LoadRunner-Tutorials
- Tipps zum Testen von Software für Anfänger
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Die Unterschiede zwischen Unit Testing, Integration Testing und Functional Testing
- Verlieren Tester aufgrund von Automatisierung ihren Einfluss auf das Testen?
- Globales Geschäft mit Softwaretests erreicht bald 28,8 Milliarden US-Dollar
- Wie kann man die Motivation in Software-Testern am Leben erhalten?
- Testen von Primer eBook Download