Sådan bruger du transaktioner i QTP/UFT

⚡ Smart opsummering

Transaktioner i UFT Et mål for, hvor lang tid en valgt sektion af en test tager at køre, ved hjælp af wrapping de trin mellem en startsætning og en slutsætning, der rapporterer varigheden i kørselsresultaterne.

  • 🔘 Formål: En transaktion ganges med én forretningsstrøm, såsom at booke en flyrejse, i stedet for hele testen.
  • ☑️ Indskud: Menuen Indsæt tilføjer sætninger af typen Starttransaktion og Sluttransaktion omkring de valgte trin.
  • ✅ Udtalelser: Services.StartTransaction og Services.EndTransaction udfører det samme arbejde direkte i editoren.
  • 🧪 resultater: Slutopgørelsen rapporterer navn, status, samlet varighed og spildtid.
  • 🛠️ Indlejring: Transaktioner kan indlejres, men to åbne transaktioner må aldrig dele samme navn.
  • ⚠️ Integration: LoadRunner og Business Process Monitor skrivebeskyttede data registreret i en transaktion.

Sådan bruger du transaktioner i QTP UFT

In UFT Én/QTPDu kan måle, hvor lang tid det tager at køre en del af din test, ved at definere transaktioner. Du definerer transaktioner i din test ved at omslutte de relevante dele af testen med start- og sluttransaktionsudsagn.

Transaktioner kan indsættes hvor som helst i scriptet, og der er ingen grænse for antallet af transaktioner, der kan tilføjes til en test.

⚠️ Produktnavngivning: værktøjet blev leveret som HP QuickTest Professional (QTP), blev til HP og derefter Micro Focus Unified Functional Testing, og sælges i dag af OpenText, hvis nuværende hjælpesider kalder det OpenText Funktionel testning. Transaktioner fungerer på samme måde i alle disse udgivelser.

Sådan indsætter du transaktioner i QTP?

Du kan også indsætte en transaktion i en transaktion

Følgende video fører dig gennem trinene for at indsætte en transaktion UFT En.

Klik link. hvis videoen ikke er tilgængelig

For eksempel vil du måske notere den tid, det tager at Bestil en flybillet.

  1. In QTP, vælg den relevante stat, hvor du vil starte din transaktion.
  2. Vælg Indsæt starttransaktion. Start transaktionsdialog Box åbner
  3. Giv transaktionen et passende navn, sig "Booking Time"
  4. En starttransaktionserklæring tilføjes i testen
  5. Vælg den stat, hvor du vil afslutte transaktionen
  6. Klik på Indsæt > Afslut transaktion
  7. Dialogboksen Afslut transaktion Box Åbner med listen over alle tilgængelige transaktioner
  8. Klik på Okay. En sluttransaktionserklæring tilføjes
  9. Lad os køre testen
  10. I resultater angiver sluttransaktionserklæringen den tid, det tager at indsætte ordren

Bemærk: De samme dialogbokse nås fra Søgeordsvisning, og Trinet Generator indsætter identiske sætninger uden at åbne Indsæt-menuen.

Transaktionsopgørelser i editoren

Dialogboksene ovenfor skriver to vbscript linjer ind i testen. Takping at gøre dem selv i editoren er hurtigere, når mønsteret er kendt, og det er den eneste mulighed, når trinnene genereres af kode.

Services.StartTransaction "Booking Time"

' the steps that book the flight go here

Services.EndTransaction "Booking Time"

Begge metoder tilhører Services-objektet. Start-sætningen tager ét argument, og end-sætningen tager et valgfrit andet argument.

Statement argumenter Hvad gør den
Services.StartTransaction Navn Starter tidsmålingen på det tidspunkt i løbet
Services.EndTransaction Navn, [Status] Stopper målingen og registrerer resultatet

Den valgfrie status bestemmer, hvordan transaktionen bedømmes. At udelade den er det samme som at bestå. Auto.

  • Auto — bestås, medmindre der opstod en fejl mellem de to sætninger. Dette er standardværdien.
  • Pass — slutter altid med statussen Bestået.
  • Fail — slutter altid med statussen Fejl.
Services.StartTransaction "Booking Time"
Wait 1
Services.EndTransaction "Booking Time", Pass

Læsning af transaktionsresultater

Når testen er færdig, indeholder trinnet "Afslut transaktion" i kørselsresultaterne fire værdier, der forklarer målingen.

Resultatfelt Betydning
Transaktionsnavn Navnet angivet i startsætningen
Slutstatus Bestået eller ikke bestået, bestemt af statusargumentet eller af Auto
Samlet varighed Forløbet tid mellem start- og slutsætningerne
Spildt tid Tid inden for den varighed, der UFT En selv tilføjede

Spildtid er vigtig, fordi værktøjet kører baggrundsprocesser, mens transaktionen er åben.tracUd fra den samlede varighed kan du estimere, hvad applikationen alene ville have taget, hvilket er det tal, der er værd at sammenligne mellem builds.

En enkeltbrugervarighed er et funktionelt benchmark, ikke et belastningstal. Samtidighed måles ved en test af ydeevne værktøj, og en transaktion, der er fin for én bruger, kan stadig kollapse under hundrede.

Indlejrede og distribuerede transaktioner

Kildetrinlisten bemærker, at en transaktion kan ligge inden for en anden, hvilket er måden, hvorpå et langsomt undertrin isoleres uden at miste timingen af ​​hele flowet. Den ydre transaktion fortsætter med at køre, mens den indre åbner og lukker.

To regler holder redebygningen sikker.

  • Hvert navn skal have et matchende par, og startsætningen skal stå før dens slutsætning.
  • Kun én transaktion med et givet navn må være åben ad gangen. Åbning af en anden transaktion med samme navn afslutter den første med statussen Mislykket.

En distribueret transaktion går videre og spænder over to tests: Services.StartDistributedTransaction åbner den i den første test og Services.EndDistributedTransaction lukker den i det andet, matchet af et unikt ID i stedet for navn. Den findes til Business Process Monitor og LoadRunner scenarier, som kun læser de data, der er registreret i en transaktion, og ignorerer alt uden for en.

Når et trin i en transaktion legitimt kan mislykkes, skal transaktionen parres med en genopretningsscenarie så løbet når slutsætningen i stedet for stopping halvvejs.

Ofte Stillede Spørgsmål

En transaktion rapporterer et navngivet resultat med en status i kørselsresultaterne og i LoadRunner. MercuryTimeren måler kun forløbne millisekunder inde i scriptet, som du derefter selv rapporterer eller konverterer.

Tidsindstil den ikke-relaterede operation med en MercuryTimer, og send derefter værdien til Services.AddWastedTime. Den spildte tid trækkes fra hver åben transaktion, så den rapporterede varighed kun afspejler det flow, der testes.

En fejl før end-sætningen stopper som standard kørslen. I ruden Kør i Testindstillinger skal du angive fejlindstillingen for at fortsætte til næste trin, så end-sætningen stadig nås, og transaktionen registreres.

I LoadRunner Controller i stedet for vinduet Run Results. Kun trin, der er inkluderet i en transaktion, sendes, så alt uden for et start- og slutpar når aldrig frem til performancerapporten.

Ja. Services.SetTransaction tager et navn, en varighed i sekunder og en status, hvilket lader et script logge en måling, det selv har beregnet, i stedet for en måling, som værktøjet har tidsangivet.

Maskinlæringsmodeller baserer hver navngivet transaktion på tværs af builds og udløser en advarsel, når en varighed overstiger sit normale interval, hvilket registrerer en langsom regression, som en bestået eller ikke-bestået status alene ville skjule.

Ja. GitHub Copilot fuldfører Services.StartTransaction- og Services.EndTransaction-parret fra en kommentar, selvom transaktionsnavnet og statuskonstanten stadig skal kontrolleres i forhold til den anvendte navngivningskonvention.

Der er ingen teknisk grænse, men én transaktion pr. forretningsflow holder rapporten læsbar. Snesevis af små transaktioner skjuler det tal, der betyder noget, under målestøj.

Opsummer dette indlæg med: