QTP/UFT Automatiseringsramme: Datadrevet, søgeord og hybrid

⚡ Smart opsummering

Automatiseringsrammer i QTP/UFT Organiser testscripts, data og genanvendelige funktioner, så én test kan dække mange cases. Datadrevne, nøgleordsdrevne og hybride designs passer hver især til en forskellig blanding af input og genanvendelig logik.

  • 🔘 Datadrevet design: Scripts læser input fra Excel eller en database og skriver output tilbage, så én test kører mange iterationer.
  • ☑️ Søgeordsdrevet design: Brugerdefinerede funktioner bliver til nøgleord som Login og OpenOrder, der kaldes fra et kompakt driverscript.
  • Hybrid design: Nøgleordsfunktioner bærer logikken, mens parametriserede data føder de trin, der kræver flere input.
  • 🧪 Objektlager først: Alle kontrolelementer, der bruges af testen, skal tilføjes, før et script kan identificere dem pålideligt.
  • 🛠️ Nuværende værktøj: QTP er nu OpenText Funktionel testning (UFT En), og VBScript forbliver det understøttede scriptsprog.

Data-, søgeords- og hybridautomatiseringsframeworks i QTP/UFT

Datadrevet rammeværk

Et datadrevet framework er et framework, der er drevet af forskellige kombinationer af input- og outputdata.

En måde at overføre forskellige datakombinationer på er ved at ParametriseringI denne metode bruger vi forskellige funktioner af QTP.

Men i DDF er scripts skrevet for at udføre parameterisering. Denne form for framework er nyttig, når AUT'ens funktionalitet skal testes med flere input og fange de respektive output. Disse input kan læses fra en ekstern fil såsom Database, Excel, Outlook, Tekstfil osv., og de respektive output skrives tilbage til den tilsvarende eksterne kilde, som illustreret nedenfor.

Data-Driven Framework-flow, der læser inputdata og skriver outputdata

De generelle trin i det datadrevne rammeværk er:

  1. Forbered Test sag for applikationen under test
  2. Tilføj objekterne fra AUT til OR
  3. Skriv scripts baseret på testcasen

I denne UFT tutorial, vil vi udvikle et datadrevet framework-design til en eksempeltestcase ved at bruge Excel som en ekstern kilde til testdataene.

Trin 1) Forbered testcasen til den applikation, der testes

Test sag: Åbn ordrenummeret og få kundenavnet for den ordre. Gentag den samme proces for forskellige ordrenumre

Ekstern kilde: Excel-fil

Flyreservationsordreformular brugt som eksempel på testcase for rammerne

Den eksterne kilde til dette eksempel er en Excel-fil. VB-scriptet i OpenText Funktionel testning (UFT En, tidligere Micro Focus UFT) skal skrives for at åbne en Excel-fil for at kunne læse testdataene. Dette kan opnås på en hierarkisk måde.

1. En Excel-fil åbnes først og som Application

2. Så skal projektmappen åbnes fra det angivne sted

3. Arket, hvor testdataene er til stede.

4. Til sidst skal cellen læses.

Trin 2) Tilføj objekterne fra AUT til OR

Når testsagen er klar, skal du begynde at tilføje alle de nødvendige objekter til depotet. I vores testtilfælde er objekterne, der skal tilføjes, som følger

1. "Åbn mappe"-ikonet i Ansøgning om flyreservation:

Ikonet Åbn mappe på værktøjslinjen er tilføjet til QTP/UFT objektlager

2. Afkrydsningsfeltet "Ordre nr.", som kan åbnes, når der klikkes på ikonet "Åbn mappe":

Ordre nr. afkrydsningsfeltobjekt hentet fra dialogboksen Åbn ordre

3. WinEdit-feltet for ordrenummeret (hvor numrene indtastes):

WinEdit-boksen for ordrenummeret, der er tilføjet til arkivet

4. OK-knappen:

OK-knapobjektet i dialogboksen Åbn ordre

5. Feltet "Navn", som er en WinEdit-boks. Dette felt udfyldes med et navn, når der klikkes på OK-knappen for et bestemt ordrenummer:

Navn WinEdit-feltet, der modtager kundenavnet

Når alle de nødvendige objekter er blevet tilføjet, vil objektlageret fremstå som følger:

Afsluttet QTP/UFT objektarkiv med en liste over alle fem flyreservationsobjekter

Trin 3) Skriv scripts baseret på testcasen

Før du kører scriptet, skal du sikre dig, at Excel-filen, der indeholder testdataene, er blevet gemt og lukket.

Nedenstående script er at læse ordrenummeret fra Excel og tildele det til applikationen gennem variabel "vOrder" og skrive kundenavnet fra applikationen gennem variabel "vName".

Excel navn: FlightDDF.xlsx

Arknavn: Ark1

VBScript, der læser ordrenummeret fra Excel og skriver kundenavnet tilbage

Produktion

Når ovenstående script er kørt, kan outputtet hentes fra Excel som følger:

Excel-ark, der viser kundenavne skrevet tilbage af det datadrevne script

Det datadrevne rammeværk kan også udvikles ved at skrive beskrivende programmering.

Brug af database som en ekstern kilde til DDF

Den samme testcase kan udføres, hvis den eksterne kilde er en database ved at bruge følgende trin

  1. Skriv VBScript for at etablere databaseforbindelsen
  2. VBScript for at åbne et recordset eller en tabel.
  3. VBScript for at åbne det ønskede felt
  4. Den bestemte celle læses fra feltet.

Microsoft Access-databasetabel brugt som ekstern kilde til DDF

Script

To Establish a Microsoft Database connection

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

Record sæt navn: OpenOrder

Feltnavn: Ordrenummer, kundenavn

PS: Microsoft Access 2010 kan ikke tilsluttes ved hjælp af nedenstående script.

VBScript opretter Access-databaseforbindelsen og læser postsættet

Produktion

Databaseoutput, der viser det hentede kundenavn for hvert ordrenummer

Fordele ved DDF

  • Et stort antal testdata kan læses og skrives ind i den eksterne fil i en enkelt test
  • Loop statement bruges til at gentage de samme trin i flere iterationer. Derfor reduceres kodningsindsatsen
  • Da dataene læses og skrives direkte ind i den eksterne fil, er det ikke nødvendigt at kopiere, indsætte eller eksportere data for at bruge dem
  • Testdata kan læses fra en ekstern fil, og output kan skrives ind i enhver anden ekstern fil

Ulemper ved DDF

  • Scripting viden er nødvendig for at udvikle denne ramme
  • Nogle gange kan et antal eller kombinationer af data fra en ekstern kilde, som f.eks. en database, gøre systemet langsommere eller endda gå ned. QTP

Søgeordsdrevet rammeværk

Søgeordsdrevet rammeværk er et rammeværk, hvor søgeord er afgørende. Her nøgleordet refererer til brugerdefinerede funktioner. I denne ramme oprettes nøgleord for at udføre et bestemt testtrin eller en testcase. Disse nøgleord kaldes derefter ind i førertesten for at køre flere testcases i samme test.

Nøgleordsdrevet rammestruktur med nøgleord, der kalder brugerdefinerede funktioner

Overordnet set kan rammerne udvikles på tre måder for at køre på prøve.

  1. Optag og kør testen
  2. Tilføj objekter til det lokale lager og skriv scripts til alle testtrin
  3. Skriv beskrivende programmering for alle testtrin

I denne tutorial er KDF udviklet ved at optage og køre testen.

Vores mål er at køre en enkelt test for fem forskellige testcases såsom login på applikationen, indsætte en ordre, åbne en ordre, slette en ordre og lukke applikationen. Derfor vil vi registrere testtrinene for disse testcases og oprette funktionerne med henholdsvis nøgleord Login, InsertOrder, OpenOrder, DeleteOrder og CloseApp.

Test Case1: Log ind på applikationen

Søgeord: Log på ()

Optaget script:

Optaget VBScript for nøgleordet Login på loginskærmen til flyreservationen

Test Case2: Indsæt ordren

Søgeord:InsertOrder()

Optaget script:

Optaget VBScript for InsertOrder-nøgleordet

Test Case3: Åbn ordren

Søgeord:OpenOrder()

Optaget script:

Optaget VBScript for OpenOrder-nøgleordet

Test Case4: Slet ordren

Søgeord:DeleteOrder()

Optaget script:

Optaget VBScript for nøgleordet DeleteOrder

Test Case5: Luk applikationen

Søgeord:LukApp()

Optaget script:

Optaget VBScript for CloseApp-nøgleordet

De funktioner, der oprettes til forskellige testcases, gemmes i et funktionsbibliotek og er knyttet til hovedtesten. Det er nok at kalde nøgleordene for de nødvendige testcases i hovedtesten og derved reducere størrelsen af ​​driverscriptet i hovedtesten.

Driver-scriptet til denne enkle ramme ser ud som:

Driverscript, der kalder alle fem nøgleord fra en enkelt QTP/UFT prøve

Ved at køre ovenstående script kan det faktiske resultat for alle de fem testcases fås fra en enkelt test.

Fordele

  • Et hvilket som helst antal testcases kan køres på en enkelt test blot ved at kalde deres respektive søgeord
  • At skrive generel beskrivende programmering for alle web-/ windows-objekter og kalde dem som nøgleord vil hjælpe med at køre den samme test for forskellige dynamiske applikationer
  • Reducerer størrelsen af ​​driverscriptet

Ulemper

  • Tiden det tager at udvikle disse rammer er meget høj, hvis der er meget få antal testcases at køre
  • Registrering af trinene bruges ikke altid, når man designer KDF til mange applikationer på samme test.

Hybrid rammeværk

Et hybrid framework er en kombination af et Data-Driven Framework (DDF) og et Keyword-Driven Framework (KDF), hvor flere testcases med flere input kan udføres i den samme test.

I denne artikel vil de samme testcases, der bruges i KDF, blive udført i en enkelt test. Nøgleordene og scriptsene for alle testcases er de samme som i KDF. TC3: Åbn ordren er dog blevet parametriseret. Derfor er scriptet til denne testcase skrevet til at modtage ordrenummeret fra en Excel-fil og skrive kundens navn ind i Excel-filen.

Hybrid framework, der kombinerer nøgleordsfunktioner med parametriserede Excel-data

Test Case1: Log ind på applikationen

Søgeord: Log på ()

Test Case2: Indsæt ordren

Søgeord:InsertOrder()

Test Case3: Åbn ordren for flere ordrenumre

Søgeord:OpenOrder()

Description: Her bruges det samme script som bruges til at udvikle en DDF, hvorved man opnår testcasen for flere iterationer.

script:

Parameteriseret OpenOrder-nøgleordsskript, der læser adskillige ordrenumre fra Excel

Test Case4: Slet ordren

Søgeord:DeleteOrder()

Test Case5: Luk applikationen

Søgeord:LukApp()

Ved at følge denne simple metode opnås parametreringen af ​​TC3. Hvis det er relevant, kan alle de andre testcases også parametreres i samme test.

Eksemplet ovenfor er en meget simpel måde at designe et hybrid framework på. Det samme framework kan også opnås med beskrivende programmering.

Fordele

  • Den tid, det tager at køre testen designet med et hybrid-framework, er relativt kortere sammenlignet med andre frameworks
  • Dette kan bruges, når vi har brug for alle de testcases og input, der er knyttet til en bestemt testcase, i samme testsuite.

Ulempe

  • Klar viden om at kombinere forskellige rammer er påkrævet.

Ofte Stillede Spørgsmål

Nej. QuickTest Professional blev til Micro Focus UFT, derefter UFT En, og sælges nu som OpenText Funktionel testning. De her viste framework-design gælder stadig.

Ud over datadrevne, søgeordsdrevne og hybride designs bruger teams også lineære optagelses- og afspilningssystemer, modulære designs, biblioteksarkitektur og adfærdsdrevne designs. De fleste modne suiter ender med at være hybride.

AI ind OpenText Funktionel test identificerer kontroller efter udseende og betegnelse i stedet for tekniske egenskaber, så test overlever ændringer i brugergrænsefladen. AI-assistenter forklarer også hurtigt ældre VBScript.

Ja. CoPilot foreslår VBScript-løkker, Excel-automatisering og fejlhåndtering, hvilket passer til nøgleordsbiblioteker. Revse alle forslag, fordi objektarkivnavne og UFT-specifikke metoder skal matche dine aktiver.

VBScript er det eneste sprog, der understøttes fuldt ud indenfor UFT Én IDE. Excel, database og filadgang kører alle via VBScript-objekter, som denne gennemgang demonstrerer.

Excel er egnet til små datasæt, der vedligeholdes af testere. En database skalerer bedre og understøtter delt adgang, men store resultatsæt kan forsinke testen, som kildeskriptet advarer om.

Ja. Test bygget med et hvilket som helst af disse designs kan gemmes og udløses fra OpenText ALM eller et CI-job, så det samme nøgleordsbibliotek kører uden opsyn efter hver build.

Start datadrevet med én optaget test og et Excel-ark. Når trinnene er stabile, pakkes de ind i nøgleordsfunktioner, og derefter kombineres begge i et hybriddesign.

Opsummer dette indlæg med: