QTP/UFT Automatiseringsframework: datagestuurd, op zoekwoorden gebaseerd en hybride.

⚡ Slimme samenvatting

Automatiseringsframeworks in QTP/UFT Organiseer testscripts, data en herbruikbare functies zodanig dat één test meerdere gevallen kan afdekken. Datagestuurde, keywordgestuurde en hybride ontwerpen zijn elk geschikt voor een andere mix van inputs en herbruikbare logica.

  • 🔘 Datagestuurd ontwerp: Scripts lezen gegevens uit Excel of een database en schrijven de resultaten terug, waardoor één test vele iteraties doorloopt.
  • ☑️ Op trefwoorden gebaseerd ontwerp: Door de gebruiker gedefinieerde functies worden trefwoorden zoals 'Login' en 'OpenOrder', die worden aangeroepen vanuit een compact driverscript.
  • ✅ Hybride ontwerp: Functies met sleutelwoorden bevatten de logica, terwijl geparameteriseerde gegevens de stappen aansturen die meerdere invoerwaarden vereisen.
  • 🧪 Objectopslagplaats eerst: Alle besturingselementen die in de test worden gebruikt, moeten worden toegevoegd voordat een script ze betrouwbaar kan identificeren.
  • ️ Huidige gereedschappen: QTP nu OpenText Functionele testen (UFT Eén), en VBScript blijft de ondersteunde scripttaal.

Data-, trefwoord- en hybride automatiseringsframeworks in QTP/UFT

Datagestuurd raamwerk

Een datagestuurd framework is een framework dat wordt aangestuurd door verschillende combinaties van input- en outputgegevens.

Een manier om verschillende combinaties van gegevens door te geven is door parametreringBij deze methode maken we gebruik van verschillende kenmerken van QTP.

In DDF worden echter scripts geschreven om parametrering uit te voeren. Dit soort raamwerk is handig wanneer de functionaliteit van de AUT moet worden getest met verschillende inputs en de respectieve outputs moet vastleggen. Deze invoer kan worden gelezen uit een extern bestand zoals Database, Excel, OutlookTekstbestanden, enzovoort, en de bijbehorende uitvoer wordt teruggeschreven naar de corresponderende externe bron, zoals hieronder wordt geïllustreerd.

Datagestuurd frameworkproces: het lezen van invoergegevens en het schrijven van uitvoergegevens.

De algemene stappen die bij het datagestuurde raamwerk betrokken zijn, zijn:

  1. Bereid de Testgeval voor de applicatie die wordt getest
  2. Voeg de objecten toe van AUT tot OR
  3. Schrijf de scripts op basis van de testcase

In deze UFT zelfstudieWe zullen een datagestuurd framework ontwerpen voor een voorbeeldtestcase, waarbij we Excel als externe bron voor de testgegevens gebruiken.

Stap 1) Bereid de testcase voor de te testen applicatie voor.

Testgeval: Open het ordernummer en krijg de klantnaam voor die order. Herhaal hetzelfde proces voor verschillende ordernummers

Externe bron: Excel bestand

Het formulier voor vluchtreserveringen wordt gebruikt als voorbeeldtestcase voor het framework.

De externe bron voor dit voorbeeld is een Excel-bestand. Het VB-script in OpenText Functionele testen (UFT One, voorheen Micro Focus UFTEr moet een script worden geschreven om een ​​Excel-bestand te openen, zodat de testgegevens kunnen worden ingelezen. Dit kan op een hiërarchische manier worden bereikt.

1. Een Excel-bestand wordt eerst geopend als Applicatie

2. Vervolgens moet de werkmap vanaf de opgegeven locatie worden geopend

3. Het blad waarop de testgegevens staan.

4. Ten slotte moet de cel worden gelezen.

Stap 2) Voeg de objecten van AUT toe aan OR

Zodra de testcase klaar is, begint u met het toevoegen van alle vereiste objecten aan de repository. In onze testcase zijn de objecten die moeten worden toegevoegd als volgt

1. “Map openen”-pictogram in het Vluchtreserveringsaanvraag:

Het pictogram 'Map openen' is toegevoegd aan de werkbalk. QTP/UFT objectopslagplaats

2. Het selectievakje "Bestelnummer" verschijnt wanneer u op het pictogram "Map openen" klikt:

Het selectievakje 'Bestelling nr.' is vastgelegd vanuit het dialoogvenster 'Open bestelling'.

3. Het WinEdit-vak van het ordernummer (waar de nummers worden ingevoerd):

WinEdit-vak voor het ordernummer dat aan de repository is toegevoegd

4. De OK-knop:

OK-knopobject van het dialoogvenster 'Bestelling openen'

5. Het veld "Naam" is een WinEdit-vak. Dit veld wordt gevuld met een naam zodra er op de knop OK wordt geklikt voor een specifiek ordernummer.

Geef het WinEdit-veld dat de klantnaam ontvangt een naam.

Zodra alle benodigde objecten zijn toegevoegd, ziet de objectrepository er als volgt uit:

Voltooid QTP/UFT objectrepository met een lijst van alle vijf vluchtreserveringsobjecten

Stap 3) Schrijf de scripts op basis van de testcase.

Voordat u het script uitvoert, moet u ervoor zorgen dat het Excel-bestand met de testgegevens is opgeslagen en gesloten.

Het onderstaande script is om het ordernummer uit Excel te lezen en toe te wijzen aan de applicatie via de variabele “vOrder” en de klantnaam vanuit de applicatie te schrijven via de variabele “vName”.

Excel-naam: VluchtDDF.xlsx

Bladnaam: Blad1

VBScript dat het ordernummer uit Excel leest en de klantnaam terugschrijft.

uitgang

Zodra het bovenstaande script is uitgevoerd, kan de uitvoer als volgt uit Excel worden verkregen:

Excel-bestand met klantnamen die zijn teruggeschreven door het datagestuurde script.

Het datagestuurde raamwerk kan ook worden ontwikkeld door te schrijven beschrijvende programmering.

Database gebruiken als externe bron voor DDF

Dezelfde testcase kan worden uitgevoerd als de externe bron een database is, met behulp van de volgende stappen

  1. Schrijf VBScript om de databaseverbinding tot stand te brengen
  2. VBScript om een ​​recordset of tabel te openen.
  3. VBScript om het gewenste veld te openen
  4. De betreffende cel wordt uit het veld gelezen.

Microsoft De Access-databasetabel wordt gebruikt als externe bron voor DDF.

Script

To Establish a Microsoft Database connection

Bestuurder = {Microsoft Toegangsstuurprogramma (*.mdb)}; DBQ =

Naam recordset: OpenOrder

Veldnaam: Bestelnr, klantnaam

PS: Microsoft Access 2010 kan niet worden verbonden met het onderstaande script.

VBScript legt de verbinding met de Access-database tot stand en leest de recordset.

uitgang

Database-uitvoer met de klantnaam die is opgehaald voor elk ordernummer.

Voordelen van DDF

  • In één test kan een groot aantal testgegevens worden gelezen en naar het externe bestand worden geschreven
  • Loop-instructie wordt gebruikt om dezelfde stappen voor verschillende iteraties te herhalen. Daarom worden de codeerinspanningen verminderd
  • Omdat de gegevens rechtstreeks in het externe bestand worden gelezen en geschreven, is het niet nodig om gegevens te kopiëren, plakken of exporteren om ze te gebruiken
  • Testgegevens kunnen uit een extern bestand worden gelezen en de uitvoer kan naar elk ander extern bestand worden geschreven

Nadelen van DDF

  • Om dit raamwerk te ontwikkelen is kennis van scripting vereist
  • Soms kan een bepaald aantal of een combinatie van gegevens uit een externe bron, zoals een database, de prestaties vertragen of zelfs laten vastlopen. QTP

Trefwoordgestuurd raamwerk

Een keyword-driven framework is een framework waarbij zoekwoorden de test bepalen. Het sleutelwoord verwijst naar de door de gebruiker gedefinieerde functies. In dit raamwerk worden trefwoorden aangemaakt om een ​​bepaalde teststap of een testcase uit te voeren. Deze trefwoorden worden vervolgens in de chauffeurstest gebruikt om meerdere testgevallen in dezelfde test uit te voeren.

Een frameworkstructuur op basis van trefwoorden, waarbij trefwoorden door de gebruiker gedefinieerde functies aanroepen.

Over het algemeen kunnen de raamwerken op drie manieren worden ontwikkeld om op de proef te worden gesteld.

  1. Opnemen en uitvoeren de test
  2. Voeg objecten toe aan de lokale repository en schrijf de scripts voor alle teststappen
  3. Schrijf beschrijvende programmering voor alle teststappen

In deze zelfstudie wordt The KDF ontwikkeld door de test op te nemen en uit te voeren.

Ons doel is om één test uit te voeren voor vijf verschillende testgevallen, zoals inloggen op de applicatie, een bestelling plaatsen, een bestelling openen, een bestelling verwijderen en de applicatie sluiten. Daarom zullen we de teststappen voor deze testgevallen vastleggen en de functies creëren met respectievelijk de trefwoorden Login, InsertOrder, OpenOrder, DeleteOrder en CloseApp.

Testcase1: Log in op de applicatie

trefwoord: Log in ()

Opgenomen script:

VBScript opgenomen voor het Login-trefwoord van het inlogscherm voor vluchtreserveringen.

Testcase2: Voer de bestelling in

trefwoord:Volgorde invoegen()

Opgenomen script:

VBScript opgenomen voor het trefwoord InsertOrder

Testcase3: Open de bestelling

trefwoord:Open bestelling()

Opgenomen script:

VBScript opgenomen voor het trefwoord OpenOrder

Testcase4: Verwijder de bestelling

trefwoord:Order verwijderen()

Opgenomen script:

VBScript opgenomen voor het trefwoord DeleteOrder

Testcase5: Sluit de applicatie

trefwoord:SluitApp()

Opgenomen script:

VBScript opgenomen voor het trefwoord CloseApp

De functies die voor verschillende testgevallen worden aangemaakt, worden opgeslagen in een functiebibliotheek en gekoppeld aan de hoofdtest. Het volstaat om de trefwoorden voor de benodigde testgevallen in de hoofdtest aan te roepen, waardoor de omvang van het stuurprogrammascript in de hoofdtest wordt verkleind.

Het driverscript voor dit eenvoudige raamwerk ziet er als volgt uit:

Stuurprogrammascript dat alle vijf trefwoorden aanroept vanuit één enkele bron. QTP/UFT proef

Door het bovenstaande script uit te voeren, kan het daadwerkelijke resultaat voor alle vijf testgevallen uit één enkele test worden verkregen.

Voordelen

  • Een willekeurig aantal testgevallen kan op één test worden uitgevoerd door simpelweg de betreffende trefwoorden aan te roepen
  • Het schrijven van algemene beschrijvende programmering voor alle web-/Windows-objecten en het aanroepen ervan als sleutelwoorden zal helpen bij het uitvoeren van dezelfde test voor verschillende dynamische toepassingen.
  • Verkleint de grootte van het stuurprogrammascript

Nadelen

  • De tijd die nodig is om deze frameworks te ontwikkelen is erg lang als er maar een klein aantal testcases uitgevoerd hoeft te worden
  • Het vastleggen van de stappen wordt niet altijd gebruikt bij het ontwerpen van KDF voor veel toepassingen op dezelfde test.

Hybride raamwerk

Een hybride framework is een combinatie van een datagestuurd framework (Data-Driven Framework, DDF) en een zoekwoordgestuurd framework (Keyword-Driven Framework, KDF), waarbij meerdere testgevallen met verschillende invoerwaarden in dezelfde test kunnen worden uitgevoerd.

In dit artikel worden dezelfde testgevallen die in KDF worden gebruikt, in één test uitgevoerd. De trefwoorden en scripts voor alle testgevallen zijn hetzelfde als in KDF. Testgeval TC3: Open de bestelling is echter geparametriseerd. Het script voor dit testgeval is daarom zo geschreven dat het het ordernummer uit een Excel-bestand ontvangt en de klantnaam in het Excel-bestand schrijft.

Hybride framework dat trefwoordfuncties combineert met geparameteriseerde Excel-gegevens.

Testcase1: Log in op de applicatie

trefwoord: Log in ()

Testcase2: Voer de bestelling in

trefwoord:Volgorde invoegen()

Testgeval 3: Open de order voor meerdere ordernummers

trefwoord:Open bestelling()

Description: Hier wordt hetzelfde script gebruikt dat wordt gebruikt om een ​​DDF te ontwikkelen, waardoor de testcase voor verschillende iteraties wordt bereikt.

script:

Geparameteriseerd OpenOrder-keywordscript dat meerdere ordernummers uit Excel leest.

Testcase4: Verwijder de bestelling

trefwoord:Order verwijderen()

Testcase5: Sluit de applicatie

trefwoord:SluitApp()

Door deze eenvoudige methode te volgen, wordt de parametrisering van TC3 bereikt. Indien van toepassing, kunnen alle andere testcases ook in dezelfde test worden geparametriseerd.

Het bovenstaande voorbeeld is een zeer eenvoudige manier om een ​​hybride framework te ontwerpen. Hetzelfde framework kan ook worden gerealiseerd met beschrijvend programmeren.

Voordelen

  • De tijd die nodig is om de test uit te voeren die is ontworpen met een hybride raamwerk is relatief korter vergeleken met andere raamwerken
  • Dit kan worden gebruikt wanneer we alle testgevallen en invoer nodig hebben die aan een bepaalde testcase zijn gekoppeld, in dezelfde testsuite.

Nadeel

  • Er is duidelijke kennis nodig over het combineren van verschillende raamwerken.

Veelgestelde vragen

Nee. QuickTest Professional is Micro Focus geworden. UFTdan UFT Eén, en wordt nu verkocht als OpenText Functionele testen. De hier getoonde frameworkontwerpen blijven van toepassing.

Naast datagestuurde, keywordgestuurde en hybride ontwerpen, gebruiken teams ook lineaire opname- en afspeelmethoden, modulaire ontwerpen, bibliotheekarchitectuur en gedragsgestuurde ontwerpen. De meeste volwaardige softwarepakketten zijn uiteindelijk hybride.

AI binnen OpenText Functionele tests identificeren besturingselementen op basis van hun uiterlijk en label in plaats van technische eigenschappen, waardoor tests ook na wijzigingen in de gebruikersinterface blijven werken. AI-assistenten leggen bovendien verouderde VBScript-code snel uit.

Ja. Copilot Dit suggereert VBScript-lussen, Excel-automatisering en foutafhandeling, wat goed aansluit bij trefwoordbibliotheken. RevBekijk elke suggestie, want objectrepositorynamen en UFTDe specifieke methoden moeten aansluiten bij uw activa.

VBScript is de enige taal die volledig wordt ondersteund binnen de UFT Eén IDE. Excel, databases en bestandstoegang worden allemaal uitgevoerd via VBScript-objecten, zoals deze handleiding laat zien.

Excel is geschikt voor kleine datasets die door de tester zelf worden beheerd. Een database is beter schaalbaar en ondersteunt gedeelde toegang, maar grote resultaten kunnen de test vertragen, zoals het bronscript waarschuwt.

Ja. Tests die met een van deze ontwerpen zijn gemaakt, kunnen worden opgeslagen en geactiveerd vanuit OpenText ALM of een CI-taak, zodat dezelfde keywordbibliotheek na elke build automatisch wordt uitgevoerd.

Begin met een datagestuurde aanpak met één opgenomen test en een Excel-spreadsheet. Zodra de stappen stabiel zijn, verpak ze in trefwoordfuncties en combineer beide vervolgens in een hybride ontwerp.

Vat dit bericht samen met: