qtp tutorial 18 data driven
We werken ons een weg door erachter te komen hoe we een Automatiseringsraamwerk dat werkt het beste voor een bepaald testproject en is ook het definiëren van bepaalde kaders die al bestaan.
Het voorbeeld dat we gebruikten in de vorig QTP-raamwerkartikel was een nieuw Gmail-account aan het maken.
Om te beginnen hebben we het maken van een nieuw accountscenario gecodeerd door gewoon lineair op te nemen en af te spelen. Toen we zagen hoe het miste aan modulariteit, leesbaarheid en herbruikbaarheid, hebben we het opgesplitst in functies waarnaar zou worden verwezen als sleutelwoorden die vooruitgaan.
Klik hier voor de serie QTP-trainingen
We hebben met deze methode modulariteit, leesbaarheid en herbruikbaarheid bereikt, maar we moesten het programma nog robuuster maken, zodat het verschillende sets waarden kan aannemen zonder het script zelf te hoeven wijzigen.
Dat is precies wat we gaan bereiken met data die de tests aandrijven.
Wat je leert:
Datagestuurde automatiseringsraamwerk met QTP
Het maken van meerdere Google-gebruikersaccounts is de taak die we zullen proberen uit te voeren met behulp van dit framework.
In het eerder genoemde voorbeeld hebben we de voornaam, achternaam, gebruikers-ID-gegevens, enz. Hard gecodeerd in onze code terwijl we probeerden een account aan te maken. We zullen de code van de data moeten scheiden als we het data-aanstuuraspect voor dit script moeten bereiken.
De gegevens moeten afkomstig zijn van een bron die niet het programma zelf is.
Meestal kan de gegevensinvoer van alles zijn:
- MS Excel-bestanden
- Database
- Tekstbestanden
- XML-bestanden… .etc.
Excel-bestanden zijn degene die het vaakst worden gebruikt. Alleen al het feit dat elke actie in QTP is geïntegreerd met een eigen datasheet, verklaart waarom dat zo is.
veel gestelde informatica interviewvragen en antwoorden
U kunt een of meer gegevensbronnen gebruiken voor één script. Het Excel-blad dat bij de actie wordt geleverd, kan worden gebruikt of u kunt ook een extern Excel-blad gebruiken. In principe kan een gegevensblad elk relevant extern bestand zijn.
Bijvoorbeeld,
Dit is de code die we nodig hebben om gegevens te rijden:
Alle gegevens zijn nu hard gecodeerd. Laten we nu kijken hoe we deze waarden uit de datasheet kunnen halen.
Ga naar de expertweergave voor de verklaring in QTP en klik op de waardekolom voor een stap. Het volgende venster wordt geopend:
Selecteer de parameteroptie, kies een naam voor de parameter (dit wordt de kolomnaam in het gegevensblad) en kies of je het globale blad of het lokale blad gaat gebruiken (globaal blad is beschikbaar voor alle acties in een test, maar het lokale blad is specifiek voor de huidige actie).
Voor het veld ‘Naam’ op het scherm biedt QTP een standaardwaarde. De gebruiker heeft een optie om het hetzelfde te houden of het te wijzigen.
Door op OK te klikken, wordt een nieuwe kolom gemaakt in de gegevenstabel.
Dit is hoe het gegevensblad met 3 sets van de voornaam, achternaam en account-ID eruit ziet:
Eenmaal geparametriseerd, ziet de code er als volgt uit:
Als we deze 3 gebruikers-ID's moeten maken met de gegevens in de bladen, hebben we 3 iteraties nodig. Iteratie is niets anders dan een testrun.
Zodra de gegevens zijn ingesteld, moeten we QTP instrueren over hoe vaak deze code moet worden uitgevoerd, of hoeveel iteraties.
Dit is hoe we het doen: ga naar Bestand-> Instellingen en Uitvoeren (klik op afbeelding om te vergroten)
wat betekent standaardgateway niet beschikbaar
Stel in het bovenstaande scherm de iteratie-eigenschappen in zoals vereist.
Als alternatief kunt u QTP programmatisch instrueren over de iteraties. Dit zorgt zoals altijd voor meer controle en ook voor meer programmeervaardigheden. Het is dus echt aan het comfortniveau van de tester om een van deze methoden te kiezen.
De componenten in een datagedreven raamwerk zijn:
- Testscript
- Gegevensbestanden
- Gedeelde functionele bibliotheek (indien aanwezig of kan een lineair programma zijn)
- Objectrepository (nogmaals, deze component zal niet bestaan als beschrijvende programmering werd gebruikt om objecten te maken)
De testresultaten zullen voor elke testrun de status 'Geslaagd' of 'Mislukt' weergeven.
Afgezien van de gegevenstabel die standaard wordt geleverd, kunnen we elk extern Excel-bestand als invoerblad gebruiken.
Hybride raamwerk
In het bovenstaande voorbeeld heb je trefwoorden gebruikt (namen van de functies die de gebruiker heeft aangemaakt) en heb je de test data gestuurd om er zeker van te zijn dat er verschillende gebruikers tegelijkertijd worden aangemaakt. Dit is niets anders dan een hybride raamwerk.
De combinatie van twee of meer raamwerken die we tot nu toe hebben besproken, is een hybride raamwerk.
In mijn ervaring werkt geen enkel raamwerk effectief voor een bepaald project. Het hybride raamwerk wordt het vaakst gebruikt.
Enkele belangrijke punten over frameworks:
- Het raamwerk is slechts een oplossing die in een bepaalde situatie het beste werkte, maar mag niet worden opgevat als een reeks regels die absoluut moeten worden gevolgd. Het moet meer als richtlijnen worden gezien.
- Er kunnen veel andere frameworks in gebruik zijn, we hebben alleen de meest voorkomende opgesomd en uitgelegd
- Nomenclatuur - Verschillende mensen spreken hun kaders aan met verschillende namen. Dus als de namen enigszins verschillen van de ene toepassing tot de andere, is dat normaal.
- De meeste frameworks kunnen in combinatie met elkaar worden gebruikt als een van de frameworks geen allround oplossing kan bieden voor uw testdoelen.
Gevolgtrekking
Voor het gemak hebben we de concepten van het raamwerk hier echt vereenvoudigd. Laat het ons weten als u problemen heeft met het framework waarmee u te maken heeft en die niet in deze artikelen worden behandeld. We zullen zeker proberen uw vragen te beantwoorden. Stel gerust uw vragen.
Bezoek hier voor de QTP Training Tutorials-serie
Aanbevolen literatuur
- QTP-frameworks - Testautomatiseringsframeworks - Sleutelwoordgestuurde en lineaire framework-voorbeelden - QTP-zelfstudie # 17
- Hoe datagestuurd testen werkt (voorbeelden van QTP en selenium)
- Data Driven Framework in Selenium WebDriver met Apache POI
- Datagestuurd of geparametriseerd testen met Spock Framework
- Gegevensgestuurde tests uitvoeren met de TestComplete Tool
- QTP-zelfstudies - 25+ Micro Focus Quick Test Professional (QTP) -traininghandleidingen
- Datamining: proces, technieken en grote problemen bij gegevensanalyse
- Parametrering in QTP uitgelegd met voorbeelden (deel 1) - QTP Tutorial # 19