Kaders voor gegevens-, trefwoord- en hybride automatisering in QTP/UFT
Datagedreven raamwerk
Data Driven Framework is een raamwerk dat wordt aangestuurd door de verschillende combinaties van invoer- en uitvoergegevens.
Eén manier om verschillende combinaties van gegevens door te geven is door parameterisatie. Bij deze methode gebruiken we verschillende functies van QTP. Ga voor meer informatie over parameterisatie naar hier.
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, Outlook, Tekstbestand enz. en de respectievelijke uitgangen worden teruggeschreven naar de overeenkomstige externe bron.
De algemene stappen die betrokken zijn bij het datagestuurde raamwerk zijn:
- Bereid de Testgeval voor de applicatie die wordt getest
- Voeg de objecten toe van AUT tot OR
- Schrijf de scripts op basis van de testcase
In deze UFT-zelfstudie, zullen we een datagestuurd raamwerkontwerp ontwikkelen voor een voorbeeldtestcase door Excel te gebruiken als externe bron voor de testgegevens.
Stap 1) Bereid de testcase voor de te testen toepassing voor
Testgeval: Open het ordernummer en krijg de klantnaam voor die order. Herhaal hetzelfde proces voor verschillende ordernummers
Externe bron: Excel bestand
De externe bron voor dit voorbeeld is een Excel-bestand. Het VB-script in Micro Focus UFT moet worden geschreven om een Excel-bestand te openen om de testgegevens te kunnen lezen. 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 toe van AUT naar 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
- “Map openen”-pictogram in het Vluchtreserveringsaanvraag
- Selectievakje “Bestelnr.” dat kan worden verkregen wanneer op het pictogram “Open map” wordt geklikt
- Het WinEdit-vak van het ordernummer (waar de nummers worden ingevoerd)
- De OK-knop
- Het veld "Naam" is een WinEdit-vak. Dit veld wordt gevuld met een naam zodra op de OK-knop wordt geklikt voor een bepaald ordernummer.
Zodra alle benodigde objecten zijn toegevoegd, ziet de objectrepository er als volgt uit:
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
uitgang
Zodra het bovenstaande script is uitgevoerd, kan de uitvoer als volgt uit Excel worden verkregen:
Het Data-Driven Framework kan ook worden ontwikkeld door beschrijvend programmeren te schrijven.
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
- Schrijf VBScript om de databaseverbinding tot stand te brengen
- VBScript om een recordset of tabel te openen.
- VBScript om het gewenste veld te openen
- De betreffende cel wordt uit het veld gelezen.
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.
uitgang
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 het aantal of combinaties van gegevens uit een externe bron zoals Database de QTP vertragen of zelfs laten crashen
Zoekwoordgestuurd raamwerk
Keyword Driven Framework is een raamwerk waarbij trefwoorden de test bepalen. Hier trefwoord 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.
Ga voor meer informatie over door de gebruiker gedefinieerde functies in QTP naar hier
Over het algemeen kunnen de raamwerken op drie manieren worden ontwikkeld om op de proef te worden gesteld.
- Neem de test op en voer deze uit
- Voeg objecten toe aan de lokale repository en schrijf de scripts voor alle teststappen
- 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:
Testcase2: Voer de bestelling in
trefwoord:Volgorde invoegen()
Opgenomen script:
Testcase3: Open de bestelling
trefwoord:Open bestelling()
Opgenomen script:
Testcase4: Verwijder de bestelling
trefwoord:Order verwijderen()
Opgenomen script:
Testcase5: Sluit de applicatie
trefwoord:SluitApp()
Opgenomen script:
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:
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 raamwerk is een combinatie van Data Driven Framework (DDF) en Keyword Driven Framework (KDF) waarbij meerdere testgevallen met meerdere inputs in dezelfde test kunnen worden uitgevoerd.
In dit artikel worden dezelfde testgevallen die in KDF worden gebruikt in één test uitgevoerd. De trefwoorden en de scripts voor alle testgevallen zijn hetzelfde als in KDF. Echter, TC3: Open de order is geparametreerd. Daarom is het script voor deze testcase geschreven om het ordernummer uit een Excel-bestand te halen en de klantnaam in het Excel-bestand te schrijven
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:
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 is bijvoorbeeld een heel eenvoudige manier om een hybride raamwerk te ontwerpen. Hetzelfde raamwerk kan ook worden bereikt 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.