Kontrollpunkte in QTP/UFT mit Beispiel

โšก Intelligente Zusammenfassung

Kontrollpunkte in UFT/QTP รœberprรผfen Sie, ob eine Anwendung die exakte Eigenschaft, den Text, das Bild oder den Datenbankwert zurรผckgibt, den ein Tester in einem bestimmten Schritt erwartet, und wandeln Sie eine aufgezeichnete Wiedergabe in ein Ergebnis (bestanden/nicht bestanden) um, dem automatisierte Teams vertrauen kรถnnen.

  • ๐Ÿ”Ž Definition: Ein Prรผfpunkt vergleicht einen erfassten Sollwert mit dem aktuellen Wert einer Objekteigenschaft wรคhrend eines Laufs.
  • ๐ŸŽฏ Zweck: Checkpoints verwandeln ein aufgezeichnetes Wiedergabeskript in einen Funktionstest mit einem messbaren Ergebnis: BESTANDEN oder NICHT BESTANDEN.
  • ๐Ÿงฉ Arten: UFT/QTP bietet zehn Prรผfpunkttypen an, darunter Standard, Bitmap, Datenbank, Tabelle, XML, Seite, Bild, Text, Textbereich und Barrierefreiheit.
  • ๐Ÿ†š Unterscheidung: Ein Prรผfpunkt รผberprรผft einen Schritt und kann ihn als fehlschlagen lassen, wรคhrend ein Ausgabewert lediglich Daten zur spรคteren Wiederverwendung erfasst.
  • ๏ธ Einfรผgung: Die meisten Checkpoint-Typen werden erst wรคhrend der Aufzeichnung รผber das Untermenรผ โ€žCheckpointโ€œ hinzugefรผgt.
  • โš ๏ธ Hรคufige Fehlerquelle: Ein Checkpoint lรถst einen Laufzeitfehler aus, wenn der vorherige Schritt das Zielobjekt schlieรŸt.
  • ๐Ÿš€ Best Practice: Fรผr die Datenvalidierung sollten Datenbank- oder XML-Prรผfpunkte gegenรผber Bitmap-Prรผfpunkten bevorzugt werden.

Was ist ein Checkpoint in UFT/QTP?

A Kontrollpunkt in UFT/QTP ist ein Prรผfpunkt, der den aktuellen Wert einer bestimmten Objekteigenschaft, eines Seitenattributs oder einer Datenquelle mit einem zuvor im Test erfassten erwarteten Wert vergleicht. Stimmen die aktuellen und erwarteten Werte รผberein, UFT Es wird ein Status โ€žPASSโ€œ protokolliert; andernfalls ein Status โ€žFAILโ€œ.

Prรผfpunkte wandeln ein Skript, das lediglich Aktionen wiederholt, in ein Skript um, das die Ergebnisse รผberprรผft. Ein aufgezeichnetes Skript kann jeden Schritt erfolgreich abschlieรŸen, selbst wenn die zu testende Anwendung den falschen Text, das falsche Bild oder einen beschรคdigten Datenbankeintrag anzeigt โ€“ ein Prรผfpunkt erkennt und meldet diese Abweichung.

Warum Checkpoints in der Testautomatisierung verwenden?

Das Aufzeichnen eines Skripts gibt lediglich eine Abfolge von Klicks und Tastatureingaben wieder; es bestรคtigt jedoch nie, ob die Anwendung das korrekte Ergebnis erzielt hat. Checkpoints schlieรŸen diese Lรผcke, indem sie jede aufgezeichnete Aktion in eine รผberprรผfbare Aussage mit messbarem Ergebnis umwandeln.

  • Die Wiedergabe wird in eine Verifizierung umgewandelt, sodass jeder Durchlauf ein eindeutiges PASS oder FAIL liefert, anstatt nur ein abgeschlossenes Skript.
  • Regressionen frรผhzeitig erkennen, bevor ein Fehler in eine Version gelangt, die Tester als stabil ansehen.
  • Validieren Sie Daten, die bei manueller รœberprรผfung nicht sichtbar sind, wie z. B. XML-Nutzdaten, Datenbankzeilen oder versteckte Objekteigenschaften.
  • Dokumentieren Sie das erwartete Verhalten, damit jeder, der das Skript liest, versteht, was โ€žkorrektโ€œ fรผr diesen Schritt bedeutet.

Da Checkpoints bei jeder Ausfรผhrung automatisch ausgefรผhrt werden, entfรคllt die Notwendigkeit, dass ein Tester nach jedem Zyklus jeden Bildschirm manuell รผberprรผft, was den UFT/QTP praktisch fรผr wiederholte Regressionstests รผber verschiedene Builds hinweg.

Arten von Kontrollpunkten in UFT/QTP

UFT/QTP Es bietet verschiedene Prรผfpunkttypen, sodass ein Tester genau den Aspekt der Anwendung รผberprรผfen kann, der in einem bestimmten Schritt relevant ist โ€“ eine statische Eigenschaft, einen Textblock, ein Bitmap-Bild, einen Datenbankeintrag oder ein gesamtes XML-Dokument. Die Auswahl des passenden Typs fรผr das zu testende Objekt sorgt fรผr einen fokussierten und wartungsfreundlichen Testschritt.

  1. Standard-Kontrollpunkt: Vergleicht die wรคhrend der Aufzeichnung erfassten Sollwerte der Objekteigenschaften mit den aktuellen Werten des Objekts wรคhrend einer Laufzeit. Es wird von jeder Add-in-Umgebung unterstรผtzt.
  2. Seiten-Checkpoint: Ein Standard-Prรผfpunkt, der fรผr eine Webseite erstellt wurde. Er รผberprรผft die Gesamtzahl der Links und Bilder auf der Seite und kann die Seitenladezeit messen.
  3. Text-Checkpoint: รœberprรผft, ob ein bestimmter Text innerhalb eines definierten Bereichs einer Webseite oder einer Windows-basierte Anwendung.
  4. Prรผfpunkt Textbereich: รœberprรผft, ob eine Textzeichenfolge innerhalb eines definierten Bildschirmbereichs angezeigt wird. Windows-basierte Anwendung, gemรครŸ Kriterien wie GroรŸ-/Kleinschreibung oder Platzhalterรผbereinstimmung.
  5. Bitmap-Prรผfpunkt: Prรผft die Bitmap eines Bildes oder einer gesamten Webseite durch einen Pixel-fรผr-Pixel-Vergleich zwischen dem tatsรคchlichen und dem erwarteten Bild.
  6. Bild-Checkpoint: รœberprรผft Eigenschaften eines Webbildes, wie beispielsweise den Speicherort der Quelldatei. Im Gegensatz zu einem Bitmap-Checkpoint werden dabei keine Pixel verglichen.
  7. Barrierefreiheitsprรผfung: Prรผft die Einhaltung der Richtlinien des World Wide Web Consortium (W3C) fรผr webbasierte Technologien und erleichtert so Menschen mit Behinderungen die Nutzung der Anwendung.
  8. Datenbank-Prรผfpunkt: Fรผhrt zur Aufzeichnungszeit eine Abfrage aus und speichert die zurรผckgegebenen Datenbankwerte als erwartete Werte; dieselbe Abfrage wird zur Laufzeit erneut ausgefรผhrt, sodass die tatsรคchlichen und erwarteten Werte verglichen werden kรถnnen.
  9. Tabellen-Checkpoint: รœberprรผft dynamisch den Inhalt von Zellen in einer Tabelle oder einem Raster sowie Tabelleneigenschaften wie Zeilenhรถhe und Zellenbreite. Es รคhnelt einem Datenbank-Checkpoint.
  10. XML-Prรผfpunkt: รœberprรผft XML-Daten, XML-Schemas und XML-Ressourcen, die in eine Webseite oder in ein eigenstรคndiges .xml-Dokument eingebettet sind.

In der folgenden Tabelle werden die zehn Checkpoint-Typen einander gegenรผbergestellt, damit Sie vor Beginn der Aufzeichnung den richtigen auswรคhlen kรถnnen.

Prรผfpunkttyp Verifiziert am besten geeignet fรผr
Standard Werte der Objekteigenschaften Allgemeine Validierung fรผr beliebige Add-In-Objekte
Seite Links, Bilder, Ladezeit Bestรคtigung, dass eine Webseite vollstรคndig geladen wurde
Text Vorhandensein von spezifischem Text Eine Nachricht oder ein Etikett wird bestรคtigt
Textbereich Text innerhalb eines Bildschirmbereichs Windows Anwendungen mit nicht standardmรครŸigen Textsteuerelementen
Bitmap Bildรผbereinstimmung auf Pixelebene Visuelle Regression von Diagrammen, Logos, Layouts
Bild Eigenschaften der Bildquelle Bestรคtigung, dass die richtige Bilddatei ausgeliefert wird
Barierrefreiheit W3C-Konformitรคt รœberprรผfung von Webseiten auf Barrierefreiheitslรผcken
Datenbank Abfrageergebniswerte รœberprรผfung, ob die Backend-Daten mit der Benutzeroberflรคche รผbereinstimmen.
Tisch Inhalt und Layout der Rasterzellen Berichte, Suchergebnisse und Datentabellen
XML XML-Daten und -Schema Webdienste und XML-gesteuerte Seiten

Prรผfpunkt vs. Ausgabewert: Was ist der Unterschied?

Tester, die neu bei UFT/QTP Oft werden Checkpoints mit Ausgabewerten verwechselt, da beide รผber dasselbe Menรผ eingefรผgt werden und beide eine Live-Eigenschaft eines Objekts auslesen. Die beiden Funktionen dienen jedoch gegensรคtzlichen Zwecken.

Aspekt Kontrollpunkt Ausgabewert
Zweck Bestรคtigt, dass eine erfasste Eigenschaft einem erwarteten Wert entspricht. Erfasst eine Laufzeiteigenschaft, sodass sie in einem spรคteren Schritt wiederverwendet werden kann.
Auswirkung von Bestehen/Nichtbestehen Dieser Schritt schlรคgt fehl und es wird eine Diskrepanz in den Ergebnissen gemeldet. Besteht den Test von selbst immer.
Wohin der Wert geht Interner Vergleich, dargestellt als BESTANDEN/NICHT BESTANDEN in den Testergebnissen Gespeichert in der Laufzeitdatentabelle oder einer Variablen
Typische Verwendung Bestรคtigen Sie einen Seitentitel oder eine Datenbanksumme. รœbergeben Sie eine generierte Bestellnummer an die nรคchste Aktion.

Verwenden Sie einen Prรผfpunkt, wenn das Skript einen Nachweis รผber Erfolg oder Misserfolg benรถtigt, und einen Ausgabewert, wenn ein spรคterer Schritt die erfassten Daten als Eingabe benรถtigt.

Wie man einen Prรผfpunkt einfรผgt UFT/QTP

Die meisten Checkpoint-Typen kรถnnen nur eingefรผgt werden, wรคhrend UFT Die Aufzeichnung lรคuft; sobald die Aufzeichnung beendet ist, steht das Checkpoint-Menรผ fรผr neue Eintrรคge nicht mehr zur Verfรผgung. Die folgenden Schritte fรผgen einen Standard-Checkpoint ein, den am hรคufigsten verwendeten Typ.

Klicken Sie auf werden auf dieser Seite erlรคutert wenn das Video nicht zugรคnglich ist

  1. ร–ffnen Sie die zu testende Anwendung und starten Sie die Aufnahme in UFT.
  2. Navigieren Sie zu dem Bildschirm oder Objekt, das Sie รผberprรผfen mรถchten, und klicken Sie dann mit der rechten Maustaste auf den Schritt, zu dem der Prรผfpunkt unmittelbar gehรถrt.
  3. Wรคhlen Sie im Kontextmenรผ โ€žStandard-Prรผfpunkt einfรผgenโ€œ oder im Untermenรผ โ€žPrรผfpunktโ€œ einen bestimmten Typ aus โ€“ Bitmap, Datenbank, Tabelle usw.
  4. Im Dialogfeld โ€žPrรผfpunkteigenschaftenโ€œ kรถnnen Sie den Standard-Prรผfpunktnamen beibehalten oder durch einen aussagekrรคftigen Namen ersetzen.
  5. Wรคhlen Sie die zu รผberprรผfenden Objekteigenschaften aus. Jede ausgewรคhlte Eigenschaft ist mit einem Hรคkchen markiert; das ABC-Symbol kennzeichnet einen konstanten Wert, und das Symbol รคndert sich, wenn die Eigenschaft parametrisiert ist.
  6. Klicken Sie auf OK. UFT Fรผgt unmittelbar nach dem aktuellen Schritt eine Check-Anweisung ein.
  7. Stoppen Sie die Aufzeichnung und spielen Sie den Test erneut ab, um zu bestรคtigen, dass der Kontrollpunkt โ€žBESTANDENโ€œ meldet.

โš  Hรคufiger Fehler: Wenn der Schritt unmittelbar vor dem Prรผfpunkt das Zielfenster schlieรŸt oder ersetzt, UFT lรถst einen Laufzeitfehler aus, da das Objekt nicht mehr existiert, wenn der Prรผfpunkt versucht, es zu lesen. HP QTPUm das Problem zu beheben, genรผgt es in der Regel, die betroffenen Schritte so umzuordnen, dass das Zielobjekt beim Ausfรผhren des Checkpoints noch geรถffnet ist.

Der folgende VBScript-Ausschnitt veranschaulicht dieselbe Idee durch die UFT Automatisierungsobjektmodell: eine Check-Anweisung, die einen booleschen Wert zurรผckgibt, den das Skript dann รผber das Reporter-Objekt meldet.

Dim Result ' Holds the PASS/FAIL outcome of the checkpoint

Browser("Flight Reservation").Page("Flight Reservation").WinEdit("Agent Name:").Set "Diana"
Browser("Flight Reservation").Page("Flight Reservation").WinButton("OK").Click

' Run the Standard Checkpoint that was inserted after the OK click
Result = Browser("Flight Reservation").Page("Flight Reservation").Check(CheckPoint("Flight Reservation Window"))

If Result Then
    Reporter.ReportEvent micPass, "Checkpoint Passed", "Flight Reservation window matches expected values"
Else
    Reporter.ReportEvent micFail, "Checkpoint Failed", "Flight Reservation window does not match expected values"
End If

Dieses Video demonstriert die verschiedenen verfรผgbaren Checkpoint-Typen in UFT/QTPeinschlieรŸlich Standard-, Bitmap- und Datenbank-Checkpoints in Aktion.

Best Practices fรผr die effektive Nutzung von Checkpoints

Ein Prรผfpunkt ist nur so zuverlรคssig wie das Objekt und die Eigenschaft, auf die er sich bezieht. Die folgenden Vorgehensweisen gewรคhrleisten die Genauigkeit der Prรผfpunkte auch bei ร„nderungen der zu testenden Anwendung.

  • Um fehleranfรคllige Tests zu vermeiden, die bei nicht damit zusammenhรคngenden ร„nderungen der Benutzeroberflรคche fehlschlagen, sollte man das jeweilige Objekt und nicht die gesamte Seite prรผfen.
  • Das ausgewรคhlte Objekt sollte beim Ausfรผhren des Prรผfpunkts geรถffnet bleiben; die ร„nderung der Reihenfolge eines Schritts ist oft die Lรถsung fรผr den oben beschriebenen Laufzeitfehler โ€žObjekt nicht gefundenโ€œ.
  • Bevorzugen Datenbank oder XML-Prรผfpunkte gegenรผber Bitmap-Prรผfpunkten zur Datenvalidierung โ€“ Bitmap-Vergleiche schlagen bei ร„nderungen der Schriftart, Auflรถsung oder des Designs fehl, die nichts mit den Daten zu tun haben.
  • Parametrisieren Sie Prรผfpunktwerte aus einer Datentabelle, wenn die gleiche Prรผfung รผber mehrere Testiterationen hinweg ausgefรผhrt werden muss.
  • Benennen Sie jeden Prรผfpunkt aussagekrรคftig, damit ein Fehler im Fenster โ€žTestergebnisseโ€œ leicht zu finden ist.
  • Kombinieren Sie Prรผfpunkte mit SynchronisierungsmaรŸnahmen, wie z. B. einer Warteanweisung oder der Sync Methode, sodass eine รœberprรผfung niemals ausgefรผhrt wird, bevor die Seite vollstรคndig geladen ist.

Hรคufig gestellte Fragen

Dies geschieht, wenn ein vorheriger Schritt das Fenster schlieรŸt oder ersetzt, auf das der Prรผfpunkt abzielt. Ordnen Sie die Schritte so an, dass der Prรผfpunkt ausgefรผhrt wird, wรคhrend das Objekt noch geรถffnet ist, und fรผhren Sie den Test anschlieรŸend erneut aus.

Ja. Klicken Sie in der Schlรผsselwortansicht oder Expertenansicht mit der rechten Maustaste auf die Check-Anweisung und wรคhlen Sie โ€žCheckpoint-Eigenschaftenโ€œ, um die geprรผften Eigenschaften, die erwarteten Werte oder den Checkpoint-Namen jederzeit zu รคndern.

Ja, wenn der Test die UFT Mobile-Add-in. Standard-, Bitmap- und Text-Checkpoints funktionieren bei nativen und hybriden mobilen Objekten genauso wie bei Desktop- und Webobjekten.

Einige KI-gestรผtzte Testwerkzeuge kรถnnen Prรผfpunktkandidaten aus einer aufgezeichneten Sitzung oder einem Anforderungsdokument vorschlagen, aber ein Tester muss dennoch bestรคtigen, dass die ausgewรคhlten Eigenschaften ein tatsรคchliches Geschรคftsrisiko widerspiegeln, bevor er sie akzeptiert.

Es hilft beim Auffinden des Objekts, nicht des Prรผfpunkts selbst. Die Selbstheilungsfunktion erkennt ein verschobenes oder umbenanntes Objekt erneut, sodass der Prรผfpunkt weiterhin ausgefรผhrt wird. Sie mรผssen jedoch die verglichenen Werte รผberprรผfen, sobald sich die Anwendungslogik รคndert.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: