Kontrolpunkter i QTP/UFT med Eksempel

⚡ Smart opsummering

Kontrolpunkter i UFT/QTP Valider om en applikation returnerer den nøjagtige egenskab, tekst, billede eller databaseværdi, som en tester forventer i et trin, og omdanner dermed en optaget afspilning til en bestået eller ikke-bestået dom, som automatiserede teams kan stole på.

  • 🔎 Definition: Et kontrolpunkt sammenligner en registreret forventet værdi med den aktuelle værdi af en objektegenskab under en kørsel.
  • 🎯 Formål: Checkpoints forvandler et optaget afspilningsscript til en funktionel test med et målbart BESTÅET eller IKKE BESTÅET resultat.
  • 🧩 typer: UFT/QTP tilbyder ti kontrolpunktstyper, herunder Standard, Bitmap, Database, Tabel, XML, Side, Billede, Tekst, Tekstområde og Tilgængelighed.
  • 🆚 Forskel: Et checkpoint verificerer og kan fejle et trin, mens en outputværdi kun indsamler data til senere genbrug.
  • 🛠️ Indskud: De fleste kontrolpunktstyper tilføjes kun under optagelse via undermenuen Kontrolpunkt.
  • ⚠️ Almindelig faldgrube: Et kontrolpunkt udløser en kørselsfejl, hvis det foregående trin lukker det objekt, det er målrettet mod.
  • 🚀 Bedste praksis: Foretræk database- eller XML-kontrolpunkter frem for bitmap-kontrolpunkter til datavalidering.

Hvad er et checkpoint i UFT/QTP?

A kontrolpost in UFT/QTP er et verifikationspunkt, der sammenligner den aktuelle værdi af en bestemt objektegenskab, sideattribut eller datakilde med en forventet værdi, der blev registreret tidligere i testen. Hvis de aktuelle og forventede værdier stemmer overens, UFT registrerer en BESTÅET status; hvis de ikke gør det, registrerer den en IKKE BESTÅET status.

Checkpoints konverterer et script, der blot afspiller handlinger, til et script, der verificerer resultater. Et optaget script kan fuldføre hvert trin med succes, selv når den applikation, der testes, viser forkert tekst, forkert billede eller en beskadiget databasepost – et checkpoint er det, der fanger denne forskel og rapporterer den.

Hvorfor bruge checkpoints i testautomatisering?

Optagelse af et script afspiller kun en sekvens af klik og tastetryk; det bekræfter aldrig, om applikationen producerede det korrekte resultat. Kontrolpunkter lukker dette hul ved at omdanne hver optagede handling til en testbar påstand med et målbart resultat.

  • Konverter afspilning til verifikation, så hver kørsel producerer en tydelig PASS eller FAIL i stedet for blot et færdigt script.
  • Opfang regressioner tidligt, før en defekt når et build, som testere antager er stabilt.
  • Valider data, der er usynlige under manuel observation, såsom XML-nyttelast, databaserækker eller egenskaber for skjulte objekter.
  • Dokumentér forventet adfærd, så alle, der læser scriptet, forstår, hvad "korrekt" betyder i det pågældende trin.

Fordi kontrolpunkter kører automatisk ved hver udførelse, fjerner de behovet for, at en tester manuelt inspicerer hver skærm efter hver cyklus, hvilket er det, der gør det UFT/QTP praktisk til gentagne regressionstest på tværs af bygninger.

Typer af kontrolpunkter i UFT/QTP

UFT/QTP tilbyder adskillige kontrolpunktstyper, så en tester kan validere præcis det aspekt af applikationen, der er vigtigt i et givet trin – en statisk egenskab, en tekstblok, et bitmapbillede, en databasepost eller et helt XML-dokument. Ved at vælge den type, der matcher det objekt, der testes, holder du et trin fokuseret og nemt at vedligeholde.

  1. Standardkontrolpunkt: Sammenligner de forventede værdier af objektegenskaber, der er registreret under optagelse, med objektets aktuelle værdier under en kørselssession. Det understøttes af alle tilføjelsesmiljøer.
  2. Sidekontrolpunkt: Et standardtjekpunkt oprettet til en webside. Det kontrollerer det samlede antal links og billeder på siden og kan måle sidens indlæsningstid.
  3. Tekstkontrolpunkt: Bekræfter, at specifik tekst vises inden for et defineret område af en webside eller en Windows-baseret applikation.
  4. Kontrolpunkt for tekstområde: Bekræfter, at en tekststreng vises inden for et defineret skærmområde på en Windows-baseret applikation, i henhold til kriterier som matchning med store og små bogstaver eller jokertegn.
  5. Bitmap-kontrolpunkt: Kontrollerer bitmap'en af ​​et billede eller en hel webside med en pixel-for-pixel sammenligning mellem det faktiske og det forventede billede.
  6. Billedkontrolpunkt: Kontrollerer egenskaberne for et webbillede, såsom dets kildefilplacering. I modsætning til et Bitmap Checkpoint sammenligner det ikke pixels.
  7. Tilgængelighedskontrolpunkt: Verificerer overholdelse af World Wide Web Consortium (W3C) retningslinjer for webbaseret teknologi, hvilket gør det nemmere for personer med handicap at bruge applikationen.
  8. Database-tjekpunkt: Kører en forespørgsel på rekordtid og gemmer de returnerede databaseværdier som forventede værdier; den samme forespørgsel kører igen på kørselstidspunktet, så de faktiske og forventede værdier kan sammenlignes.
  9. Bordkontrolpunkt: Kontrollerer dynamisk indholdet af celler i en tabel eller et gitter, sammen med tabelegenskaber såsom rækkehøjde og cellebredde. Det minder om et databasekontrolpunkt.
  10. XML-tjekpunkt: Verificerer XML-data, XML-skema og XML-ressourcer, der er integreret i en webside eller i et separat .xml-dokument.

Tabellen nedenfor sammenligner de ti kontrolpunktstyper side om side, så du kan vælge den rigtige, før du starter optagelsen.

Kontrolpunkt Type Verificerer Bedste brugt til
Standard Objektegenskabsværdier Generel validering på ethvert tilføjelsesobjekt
Side Links, billeder, indlæsningstid Bekræftelse af, at en webside er helt indlæst
tekst Tilstedeværelsen af ​​specifik tekst Bekræftelse af visning af en besked eller etiket
Tekstområde Tekst inden for et skærmområde Windows applikationer med ikke-standard tekstkontroller
Bitmap Billedmatch på pixelniveau Visuel regression af diagrammer, logoer og layouts
Billede Egenskaber for billedkilde Bekræftelse af, at den korrekte billedfil leveres
Tilgængelighed W3C-overholdelse Revision af websider for mangler i tilgængelighed
Database Værdier for forespørgselsresultater Bekræftelse af, at backend-data matcher brugergrænsefladen
Bordlampe Indhold og layout af gitterceller Rapporter, søgeresultater og datagitter
XML XML-data og -skema Webtjenester og XML-drevne sider

Checkpoint vs. Outputværdi: Hvad er forskellen?

Testere, der er nye til UFT/QTP forveksler ofte kontrolpunkter med outputværdier, fordi begge indsættes fra den samme menu og begge læser en live-egenskab fra et objekt. De to funktioner tjener modsatte formål.

Aspect Checkpoint Output værdi
Formål Bekræfter, at en registreret egenskab matcher en forventet værdi Indfanger en runtime-egenskab, så et senere trin kan genbruge den
Bestået/ikke bestået effekt Mislykkes med trinnet og rapporterer en uoverensstemmelse i resultaterne Dumper aldrig testen af ​​sig selv
Hvor værdien går hen Sammenlignet internt, vist som BESTÅET/IKKE BESTÅET i testresultater Gemt i runtime-datatabellen eller en variabel
Typisk brug Bekræft en sidetitel eller en databasetotal Overfør et genereret ordrenummer til den næste handling

Brug et kontrolpunkt, når scriptet har brug for bevis for bestået/ikke bestået, og en outputværdi, når et senere trin har brug for de registrerede data som input.

Sådan indsætter du et checkpoint UFT/QTP

De fleste checkpoint-typer kan kun indsættes, mens UFT optager; når optagelsen stopper, bliver kontrolpunktsmenuen utilgængelig for nye indsættelser. Trinene nedenfor indsætter et standardkontrolpunkt, den type der bruges oftest.

Klik link. hvis videoen ikke er tilgængelig

  1. Åbn programmet under test, og starte optagelsen in UFT.
  2. Naviger til den skærm eller det objekt, der skal verificeres, og højreklik derefter på det trin, som kontrolpunktet hører til umiddelbart efter.
  3. Fra kontekstmenuen skal du vælge Indsæt standardkontrolpunkt, eller vælge en bestemt type – Bitmap, Database, Tabel osv. – fra undermenuen Kontrolpunkt.
  4. I dialogboksen Egenskaber for kontrolpunkt skal du beholde standardnavnet for kontrolpunkt eller erstatte det med et beskrivende navn.
  5. Vælg de objektegenskaber, der skal verificeres. Hver valgt egenskab er markeret med et flueben; ABC-ikonet markerer en konstant værdi, og ikonet ændres, hvis egenskaben er parametriseret.
  6. Klik på OK. UFT indsætter en Check-sætning umiddelbart efter det aktuelle trin.
  7. Stop optagelsen, og afspil testen igen for at bekræfte, at kontrolpunktet rapporterer BESTÅET.

⚠ Almindelig fejl: Hvis trinnet umiddelbart før kontrolpunktet lukker eller erstatter det vindue, det er målrettet mod, UFT kaster en kørselsfejl, fordi objektet ikke længere eksisterer, når kontrolpunktet forsøger at læse det. HP QTP, er det normalt nok at omarrangere de berørte trin, så målobjektet stadig er åbent, når kontrolpunktet udføres, til at løse problemet.

VBScript-uddraget nedenfor viser den samme idé udtrykt gennem UFT automatiseringsobjektmodel: en Check-sætning, der returnerer en boolsk værdi, som scriptet derefter rapporterer via Reporter-objektet.

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

Denne video demonstrerer de forskellige typer af checkpoints, der er tilgængelige i UFT/QTP, inklusive standard-, bitmap- og databasekontrolpunkter i aktion.

Bedste praksis for effektiv brug af kontrolpunkter

Et kontrolpunkt er kun så pålideligt som det objekt og den egenskab, det er rettet mod. Fremgangsmåderne nedenfor holder kontrolpunkterne nøjagtige, når den applikation, der testes, ændrer sig.

  • Tjek det specifikke objekt, ikke hele siden, for at undgå skrøbelige tests, der fejler ved irrelevante ændringer i brugergrænsefladen.
  • Hold det markerede objekt åbent, når kontrolpunktet udføres; ændring af rækkefølgen af ​​et trin er ofte løsningen på den ovenfor beskrevne kørselsfejl "objekt ikke fundet".
  • Foretrække Database eller XML-kontrolpunkter frem for bitmap-kontrolpunkter til datavalidering — bitmap-sammenligninger afbrydes ved ændringer i skrifttype, opløsning eller tema, der ikke har noget med dataene at gøre.
  • Parameteriser kontrolpunktsværdier fra en datatabel, når den samme kontrol skal køres på tværs af flere testiterationer.
  • Navngiv hvert kontrolpunkt beskrivende, så en fejl er let at finde i vinduet Testresultater.
  • Par kontrolpunkter med synkronisering, f.eks. en Wait-sætning eller Sync metode, så en kontrol aldrig kører, før siden er færdigindlæst.

Ofte Stillede Spørgsmål

Dette sker, når et tidligere trin lukker eller erstatter det vindue, som kontrolpunktet er rettet mod. Omarranger trinnene, så kontrolpunktet udføres, mens objektet stadig er åbent, og kør derefter testen igen.

Ja. Højreklik på kontrolsætningen i nøgleordsvisningen eller ekspertvisningen, og vælg Egenskaber for kontrolpunkt for at ændre de kontrollerede egenskaber, forventede værdier eller kontrolpunktnavnet når som helst.

Ja, når testen bruger UFT Mobiltilføjelsesprogram. Standard-, bitmap- og tekstkontrolpunkter fungerer på native og hybride mobilobjekter på samme måde, som de fungerer på desktop- og webobjekter.

Nogle AI-assisterede testværktøjer kan foreslå checkpoint-kandidater fra en optaget session eller et kravdokument, men en tester skal stadig bekræfte, at de valgte egenskaber afspejler reel forretningsrisiko, før de accepteres.

Det hjælper med at lokalisere objektet, ikke selve kontrolpunktet. Selvreparation genidentificerer et flyttet eller omdøbt objekt, så kontrolpunktet stadig kører, men du skal stadig gennemgå de sammenlignede værdier, når applikationslogikken ændres.

Opsummer dette indlæg med: