QTP/UFT Automatiseringsrammeverk: Datadrevet, nøkkelord og hybrid

⚡ Smart oppsummering

Automatiseringsrammeverk i QTP/UFT organisere testskript, data og gjenbrukbare funksjoner slik at én test kan dekke mange tilfeller. Datadrevne, nøkkelorddrevne og hybride design passer hver for seg til en ulik blanding av input og gjenbrukbar logikk.

  • 🔘 Datadrevet design: Skript leser inndata fra Excel eller en database og skriver utdata tilbake, slik at én test kjører mange iterasjoner.
  • ☑️ Søkeorddrevet design: Brukerdefinerte funksjoner blir nøkkelord som Logg inn og ÅpneBestilling, kalt fra et kompakt driverskript.
  • ✅ Hybrid design: Nøkkelordfunksjoner bærer logikken, mens parameteriserte data mater trinnene som trenger flere inndata.
  • 🧪 Objektarkivet først: Hver kontroll som brukes av testen må legges til før et skript kan identifisere den pålitelig.
  • 🛠️ Nåværende verktøy: QTP er nå OpenText Funksjonell testing (UFT En), og VBScript er fortsatt det støttede skriptspråket.

Data-, nøkkelord- og hybridautomatiseringsrammeverk i QTP/UFT

Datadrevet rammeverk

Et datadrevet rammeverk er et rammeverk som er drevet av ulike kombinasjoner av input- og outputdata.

En måte å sende forskjellige datakombinasjoner på er ved å ParametriseringI denne metoden bruker vi forskjellige funksjoner ved QTP.

Men i DDF er skript skrevet for å gjøre parameterisering. Denne typen rammeverk er nyttig når AUTs funksjonalitet må testes med flere innganger og fange opp de respektive utgangene. Disse inndataene kan leses fra en ekstern fil som Database, Excel, Outlook, Tekstfil osv., og de respektive utgangene skrives tilbake til den tilsvarende eksterne kilden, som illustrert nedenfor.

Datadrevet rammeverksflyt som leser inndata og skriver utdata

De generelle trinnene som er involvert i det datadrevne rammeverket er:

  1. Forbered Testsak for applikasjonen under test
  2. Legg til objektene fra AUT til OR
  3. Skriv skriptene basert på Test Case

I dette UFT tutorial, vil vi utvikle et datadrevet rammeverksdesign for et eksempel på en testtilfelle ved å bruke Excel som en ekstern kilde for testdataene.

Trinn 1) Forbered testtilfellet for applikasjonen som testes

Testsak: Åpne ordrenummeret og få kundenavnet for den bestillingen. Gjenta samme prosess for forskjellige ordrenummer

Ekstern kilde: Excel-fil

Bestillingsskjema for flyreservasjon brukt som eksempel på testtilfelle for rammeverket

Den eksterne kilden for dette eksemplet er en Excel-fil. VB-skriptet i OpenText Funksjonell testing (UFT En, tidligere Micro Focus UFT) må skrives for å åpne en Excel-fil for å kunne lese testdataene. Dette kan oppnås på en hierarkisk måte.

1. En Excel-fil åpnes først og som applikasjon

2. Deretter må arbeidsboken åpnes fra det angitte stedet

3. Arket der testdataene finnes.

4. Til slutt må cellen leses.

Trinn 2) Legg til objektene fra AUT til OR

Når testsaken er klar, begynn å legge til alle nødvendige objekter til depotet. I vårt testtilfelle er objektene som må legges til som følger

1. "Åpne mappe"-ikonet i Søknad om flyreservasjon:

Ikonet for Åpne mappe-verktøylinjen er lagt til QTP/UFT objektlager

2. Avmerkingsboksen «Ordrenummer» som dukker opp når du klikker på ikonet «Åpne mappe»:

Ordrenummer avkrysningsboksobjekt hentet fra dialogboksen Åpne ordre

3. WinEdit-boksen for ordrenummeret (der numrene skrives inn):

WinEdit-boksen for ordrenummeret som er lagt til i depotet

4. OK-knappen:

OK-knappobjektet i dialogboksen Åpne ordre

5. «Navn»-feltet, som er en WinEdit-boks. Dette feltet fylles ut med et navn når du klikker på OK-knappen for et bestemt ordrenummer:

Navn WinEdit-feltet som mottar kundenavnet

Når alle nødvendige objekter er lagt til, vil objektlageret vises som følger:

Terminado QTP/UFT objektarkiv som viser alle fem flyreservasjonsobjektene

Trinn 3) Skriv skriptene basert på testtilfellet

Før du kjører skriptet, sørg for at Excel-filen som inneholder testdataene er lagret og lukket.

Nedenfor script er å lese ordrenummeret fra Excel og tilordne det til applikasjonen gjennom variabelen "vOrder" og skrive kundenavnet fra applikasjonen gjennom variabelen "vName".

Excel navn: FlightDDF.xlsx

Arknavn: Ark1

VBScript som leser ordrenummeret fra Excel og skriver kundenavnet tilbake

Produksjon

Når skriptet ovenfor er kjørt, kan utdata hentes fra Excel som følger:

Excel-ark som viser kundenavn skrevet tilbake av det datadrevne skriptet

Det datadrevne rammeverket kan også utvikles ved å skrive beskrivende programmering.

Bruke database som en ekstern kilde for DDF

Den samme testsaken kan utføres hvis den eksterne kilden er en database ved å bruke følgende trinn

  1. Skriv VBScript for å etablere databaseforbindelsen
  2. VBScript for å åpne et postsett eller en tabell.
  3. VBScript for å åpne ønsket felt
  4. Den bestemte cellen leses fra feltet.

Microsoft Access-databasetabell brukt som ekstern kilde for DDF

Script

To Establish a Microsoft Database connection

Driver = {Microsoft Access Driver (*.mdb)}; DBQ =

Navn på postsett: OpenOrder

Feltnavn: Ordrenummer, kundenavn

PS: Microsoft Access 2010 kan ikke kobles til ved hjelp av skriptet nedenfor.

VBScript oppretter Access-databasetilkoblingen og leser postsettet

Produksjon

Databaseutdata som viser kundenavnet hentet for hvert ordrenummer

Fordeler med DDF

  • Et stort antall testdata kan leses og skrives inn i den eksterne filen i en enkelt test
  • Loop statement brukes til å gjenta de samme trinnene for flere iterasjoner. Derfor reduseres kodeinnsatsen
  • Siden dataene leses og skrives direkte inn i den eksterne filen, er det ikke nødvendig å kopiere, lime inn eller eksportere data for å bruke dem
  • Testdata kan leses fra en ekstern fil og utdataene kan skrives inn i en hvilken som helst annen ekstern fil

Ulemper med DDF

  • Manuskunnskap er nødvendig for å utvikle dette rammeverket
  • Noen ganger kan et antall eller kombinasjoner av data fra en ekstern kilde, som en database, redusere hastigheten eller til og med krasje systemet. QTP

Nøkkelorddrevet rammeverk

Et søkeorddrevet rammeverk er et rammeverk der søkeord styrer testen. Her nøkkelordet refererer til brukerdefinerte funksjoner. I dette rammeverket opprettes nøkkelord for å utføre et bestemt testtrinn eller en testcase. Disse nøkkelordene blir deretter kalt inn i førertesten for å kjøre flere testtilfeller i samme test.

Nøkkelorddrevet rammeverksstruktur med nøkkelord som kaller brukerdefinerte funksjoner

Generelt kan rammeverkene utvikles på tre måter for å prøves ut.

  1. Opptak og kjøring testen
  2. Legg til objekter til det lokale depotet og skriv skriptene for alle testtrinn
  3. Skriv beskrivende programmering for alle testtrinn

I denne opplæringen er KDF utviklet ved å ta opp og kjøre testen.

Vårt mål er å kjøre en enkelt test for fem forskjellige testtilfeller, for eksempel innlogging i applikasjonen, legge inn en bestilling, åpne en bestilling, slette en bestilling og lukke applikasjonen. Derfor vil vi registrere testtrinnene for disse testtilfellene og lage funksjonene med nøkkelordene Login, InsertOrder, OpenOrder, DeleteOrder og CloseApp.

Test Case1: Logg på applikasjonen

søkeord: Logg inn ()

Innspilt skript:

Innspilt VBScript for nøkkelordet Login på innloggingsskjermen for flyreservasjon

Testtilfelle2: Sett inn bestillingen

søkeord:InsertOrder()

Innspilt skript:

Innspilt VBScript for InsertOrder-nøkkelordet

Testtilfelle3: Åpne bestillingen

søkeord:OpenOrder()

Innspilt skript:

Innspilt VBScript for OpenOrder-nøkkelordet

Testtilfelle 4: Slett bestillingen

søkeord:DeleteOrder()

Innspilt skript:

Innspilt VBScript for DeleteOrder-nøkkelordet

Testtilfelle 5: Lukk applikasjonen

søkeord:CloseApp()

Innspilt skript:

Innspilt VBScript for CloseApp-nøkkelordet

Funksjonene som lages for ulike testtilfeller lagres i et funksjonsbibliotek og er knyttet til hovedtesten. Det er nok å kalle nøkkelordene for de nødvendige testtilfellene i hovedtesten og dermed redusere størrelsen på driverskriptet i hovedtesten.

Driverskriptet for dette enkle rammeverket ser slik ut:

Driverskript som kaller alle fem nøkkelordene fra en enkelt QTP/UFT test

Ved å kjøre skriptet ovenfor kan det faktiske resultatet for alle de fem testtilfellene fås fra en enkelt test.

Fordeler

  • Et hvilket som helst antall testtilfeller kan kjøres på en enkelt test bare ved å kalle deres respektive nøkkelord
  • Å skrive generell beskrivende programmering for alle web-/Windows-objekter og kalle dem som nøkkelord vil hjelpe deg med å kjøre den samme testen for forskjellige dynamiske applikasjoner
  • Reduserer størrelsen på driverskriptet

Ulemper

  • Tiden det tar å utvikle disse rammeverkene er svært høy hvis det er svært få antall testcaser å kjøre
  • Registrering av trinnene brukes ikke alltid når du designer KDF for mange applikasjoner på samme test.

Hybrid rammeverk

Et hybrid rammeverk er en kombinasjon av datadrevet rammeverk (DDF) og nøkkelorddrevet rammeverk (KDF) der flere testtilfeller med flere input kan kjøres i samme test.

I denne artikkelen vil de samme testtilfellene som brukes i KDF bli utført i én enkelt test. Nøkkelordene og skriptene for alle testtilfellene er de samme som i KDF. TC3: Åpne ordren er imidlertid parametrisert. Derfor er skriptet for denne testtilfellet skrevet for å motta ordrenummeret fra en Excel-fil og skrive kundenavnet inn i Excel-filen.

Hybrid rammeverk som kombinerer nøkkelordfunksjoner med parameteriserte Excel-data

Test Case1: Logg på applikasjonen

søkeord: Logg inn ()

Testtilfelle2: Sett inn bestillingen

søkeord:InsertOrder()

Testtilfelle3: Åpne bestillingen for flere bestillingsnumre

søkeord:OpenOrder()

Description: Her brukes det samme skriptet som brukes til å utvikle en DDF, og oppnår dermed testcasen for flere iterasjoner.

Manus:

Parameterisert OpenOrder-nøkkelordskript som leser flere ordrenumre fra Excel

Testtilfelle 4: Slett bestillingen

søkeord:DeleteOrder()

Testtilfelle 5: Lukk applikasjonen

søkeord:CloseApp()

Ved å følge denne enkle metoden oppnås parameteriseringen av TC3. Hvis det er aktuelt, kan alle de andre testtilfellene også parameteriseres i samme test.

Eksemplet ovenfor er en veldig enkel måte å designe et hybridrammeverk på. Det samme rammeverket kan også oppnås med beskrivende programmering.

Fordeler

  • Tiden det tar å kjøre testen designet med et hybrid rammeverk er relativt kortere sammenlignet med andre rammeverk
  • Dette kan brukes når vi trenger alle testtilfellene og inngangene som er knyttet til en bestemt testsak, i samme testsuite.

Ulempe

  • Det kreves klar kunnskap om det å kombinere ulike rammeverk.

Spørsmål og svar

Nei. QuickTest Professional ble Micro Focus UFT, deretter UFT En, og selges nå som OpenText Funksjonstesting. Rammeverksdesignene som vises her gjelder fortsatt.

Utover datadrevne, nøkkelorddrevne og hybride design, bruker team også lineære opptaks- og avspillingssystemer, modulære bibliotekarkitekturer og atferdsdrevne design. De fleste modne pakker ender opp med å være hybride.

AI inn OpenText Funksjonstesting identifiserer kontroller etter utseende og etikett i stedet for tekniske egenskaper, slik at tester overlever endringer i brukergrensesnittet. AI-assistenter forklarer også eldre VBScript raskt.

Ja. copilot foreslår VBScript-løkker, Excel-automatisering og feilhåndtering, noe som passer til nøkkelordbiblioteker. Revse alle forslag, fordi navn på objektlager og UFT-spesifikke metoder må samsvare med ressursene dine.

VBScript er det eneste språket som støttes fullt ut i UFT Én IDE. Excel, database og filtilgang kjører alle gjennom VBScript-objekter, som denne gjennomgangen demonstrerer.

Excel passer til små datasett som vedlikeholdes av testere. En database skalerer bedre og støtter delt tilgang, men store resultatsett kan forsinke testen, slik kildeskriptet advarer.

Ja. Tester bygget med hvilken som helst av disse designene kan lagres og utløses fra OpenText ALM eller en CI-jobb, slik at det samme nøkkelordbiblioteket kjører uten tilsyn etter hver bygging.

Start datadrevet med én registrert test og et Excel-ark. Når trinnene er stabile, pakk dem inn i nøkkelordfunksjoner, og kombiner deretter begge til et hybriddesign.

Oppsummer dette innlegget med: