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.

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.
- 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.
- 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.
- Text-Checkpoint: รberprรผft, ob ein bestimmter Text innerhalb eines definierten Bereichs einer Webseite oder einer Windows-basierte Anwendung.
- 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.
- 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.
- Bild-Checkpoint: รberprรผft Eigenschaften eines Webbildes, wie beispielsweise den Speicherort der Quelldatei. Im Gegensatz zu einem Bitmap-Checkpoint werden dabei keine Pixel verglichen.
- 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.
- 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.
- 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.
- 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
- รffnen Sie die zu testende Anwendung und starten Sie die Aufnahme in UFT.
- 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.
- Wรคhlen Sie im Kontextmenรผ โStandard-Prรผfpunkt einfรผgenโ oder im Untermenรผ โPrรผfpunktโ einen bestimmten Typ aus โ Bitmap, Datenbank, Tabelle usw.
- Im Dialogfeld โPrรผfpunkteigenschaftenโ kรถnnen Sie den Standard-Prรผfpunktnamen beibehalten oder durch einen aussagekrรคftigen Namen ersetzen.
- 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.
- Klicken Sie auf OK. UFT Fรผgt unmittelbar nach dem aktuellen Schritt eine Check-Anweisung ein.
- 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.
