In deze tutorial leer je
- Wat is een raamwerk?
- Wat is een TEST Automation Framework?
- Typen automatiseringsraamwerken
- 1) Lineaire scripts - Opnemen en afspelen
- 2) Het Test Library Architecture Framework.
- 3) Het gegevensgestuurde testraamwerk.
- 4) Het sleutelwoordgestuurde of tabelgestuurde testraamwerk.
- 5) Het hybride testautomatiseringsraamwerk.
Wat is een raamwerk?
Laten we eens kijken naar een voorbeeld in plaats van een boekachtige definitie van een raamwerk te geven.
Ik weet zeker dat u een seminar / lezing / conferentie hebt bijgewoond waarbij de deelnemers werd gevraagd om de volgende richtlijnen in acht te nemen:
- Deelnemers dienen 5 minuten voor aanvang van een lezing hun stoel te bezetten
- Neem een notitieboekje en pen mee om aantekeningen te maken.
- Lees de samenvatting zodat je een idee hebt waar de presentatie over gaat.
- Mobiele telefoons moeten op stil staan
- Gebruik de uitgangspoorten aan de andere kant van de spreker als je halverwege de lezing moet vertrekken.
- Aan het einde van de sessie worden vragen beantwoord
Denkt u dat u een seminar kunt houden ZONDER deze richtlijnen in acht te nemen ????
Het antwoord is een groot JA! U kunt zeker een seminar / lezing / conferentie / demonstratie houden zonder de bovenstaande richtlijnen (in feite zullen sommigen van ons ze niet volgen, ook al zijn er ... :-)
Maar als de richtlijnen worden gevolgd, zal dit resulteren in een gunstig resultaat, zoals minder afleiding van het publiek tijdens de les en een grotere retentie van deelnemers en een beter begrip van de stof.
Op basis van het bovenstaande kan een Framework worden gedefinieerd als een reeks richtlijnen die, wanneer ze worden gevolgd, gunstige resultaten opleveren.
Wat is een TEST Automation Framework?
Een reeks richtlijnen zoals coderingsstandaarden, verwerking van testgegevens, behandeling van objectrepository enz ... die, wanneer gevolgd tijdens het automatiseren van scripts, gunstige resultaten opleveren, zoals meer hergebruik van code, hogere portabiliteit, lagere scriptonderhoudskosten enz. Let wel, dit zijn slechts richtlijnen en geen regels; ze zijn niet verplicht en u kunt nog steeds scripten zonder de richtlijnen te volgen. Maar u mist de voordelen van het hebben van een Framework.
Typen automatiseringsraamwerken
1) Lineaire scripting
2) Het framework voor de architectuur van de testbibliotheek.
3) Het gegevensgestuurde testraamwerk.
4) Het sleutelwoordgestuurde of tabelgestuurde testraamwerk.
5) Het hybride testautomatiseringsraamwerk.
Laten we ze in detail bekijken -
1) Lineaire scripts - Opnemen en afspelen
Het is de eenvoudigste van alle Frameworks en staat ook bekend als "Record & Playback". In dit Framework registreert de tester handmatig elke stap (navigatie en gebruikersinvoer), voegt checkpoints in (validatiestappen) in de eerste ronde. Vervolgens speelt hij het opgenomen script af in de volgende rondes.
Voorbeeld: overweeg om in te loggen op de vluchtreserveringsapplicatie en te controleren of de applicatie is geladen bij het succesvol inloggen. Hier zal de tester eenvoudig de stappen opnemen en validatiestappen toevoegen.
SystemUtil.Run "flight4a.exe", "", "", "open"Dialoogvenster ("Inloggen"). WinEdit ("Naam agent:"). Stel "Guru99" inDialoogvenster ("Inloggen"). WinEdit ("Wachtwoord:"). Stel "Mercury" inDialoogvenster ("Inloggen"). WinButton ("OK"). KlikHet venster Controleer vluchtreservering is geladen na succesvol inloggenVenster ("Vluchtreservering"). Controleer CheckPoint ("Vluchtreservering")
Voordelen
- De snelste manier om een script te genereren
- Automatiseringsexpertise niet vereist
- De gemakkelijkste manier om de functies van de testtool te leren kennen
Nadelen
- Weinig hergebruik van scripts
- Testgegevens worden hard gecodeerd in het script
- Onderhoudsnachtmerrie
2) Het Test Library Architecture Framework.
Het is ook bekend als "gestructureerde scripting" of "functionele ontleding".
In dit Framework worden testscripts aanvankelijk opgenomen met de "Record & Playback" -methode. Later worden algemene taken in de scripts geïdentificeerd en gegroepeerd in functies. Deze functies worden op verschillende manieren aangeroepen door het hoofdtestscript genaamd Driver om testcases te maken.
Bijv .: met hetzelfde voorbeeld als hierboven, ziet de functie voor het inloggen op Vluchtreservering eruit.
Functie Login ()SystemUtil.Run "flight4a.exe", "", "", "open"Dialoogvenster ("Inloggen"). WinEdit ("Naam agent:"). Stel "Guru99" inDialoogvenster ("Inloggen"). WinEdit ("Wachtwoord:"). Stel "Mercury" inDialoogvenster ("Inloggen"). WinButton ("OK"). KlikEinde functie
Nu noem je deze functie in het hoofdscript als volgt
Bel Login ()Andere functieaanroepen / teststappen.
Voordelen
- Een hoger niveau van hergebruik van code wordt bereikt in gestructureerde scripts in vergelijking met "Opnemen en afspelen"
- De automatiseringsscripts zijn minder duur om te ontwikkelen omdat ze meer code hergebruiken
- Gemakkelijker scriptonderhoud
Nadelen
- Technische expertise is nodig om scripts te schrijven met behulp van Test Library Framework.
- Er is meer tijd nodig om testscripts te plannen en voor te bereiden.
- Testgegevens zijn hard gecodeerd in de scripts
3) Het gegevensgestuurde testraamwerk.
In dit raamwerk, terwijl de logica van de testcase zich in testscripts bevindt, worden de testgegevens gescheiden en buiten de testscripts bewaard. Testgegevens worden gelezen uit de externe bestanden (Excel-bestanden, tekstbestanden, CSV-bestanden, ODBC-bronnen, DAO-objecten, ADO-objecten) en worden geladen in de variabelen in het testscript. Variabelen worden zowel voor invoerwaarden als voor verificatiewaarden gebruikt. Testscripts zelf worden voorbereid met behulp van Linear Scripting of Test Library Framework.
Voorbeeld: het ontwikkelen van het aanmeldingsscript voor vluchtreserveringen met behulp van deze methode omvat twee stappen.
Stap 1) Maak een test - gegevensbestand dat Excel, CSV of een andere databasebron kan zijn.
Agentnaam |
Wachtwoord |
---|---|
Jimmy |
Kwik |
Tina |
KWIK |
Bill |
Kwik |
Stap 2) Ontwikkel een testscript en verwijs naar uw testgegevensbron.
SystemUtil.Run "flight4a.exe", "", "", "open"Dialoogvenster ("Login"). WinEdit ("Agentnaam:"). Set DataTable ("AgentName", dtGlobalSheet)Dialoogvenster ("Login"). WinEdit ("Wachtwoord:"). Set DataTable ("Wachtwoord", dtGlobalSheet)Dialoogvenster ("Inloggen"). WinButton ("OK"). Klik'Controleer vluchtreserveringsvenster is geladenVenster ("Vluchtreservering"). Controleer CheckPoint ("Vluchtreservering")** Opmerking "dtGlobalSheet" is het standaard Excel-blad van QTP.
Voordelen
- Wijzigingen in de testscripts hebben geen invloed op de testgegevens
- Testcases kunnen worden uitgevoerd met meerdere sets gegevens
- Een verscheidenheid aan testscenario's kan worden uitgevoerd door alleen de testgegevens in het externe gegevensbestand te variëren
Nadelen
- Er is meer tijd nodig om zowel testscripts als testgegevens te plannen en voor te bereiden
4) Het sleutelwoordgestuurde of tabelgestuurde testraamwerk.
Het trefwoordgestuurde of tabelgestuurde raamwerk vereist de ontwikkeling van gegevenstabellen en trefwoorden, onafhankelijk van de testautomatiseringstool die wordt gebruikt om ze uit te voeren. Tests kunnen worden ontworpen met of zonder de applicatie. In een trefwoordgestuurde test wordt de functionaliteit van de te testen applicatie gedocumenteerd in een tabel en in stapsgewijze instructies voor elke test.
Er zijn 3 basiscomponenten van een Keyword Driven Framework, namelijk. Trefwoord, toepassingsoverzicht, componentfunctie.
Wat is een trefwoord?
Trefwoord is een actie die kan worden uitgevoerd op een GUI-component. Bijv. Voor GUI Component Textbox zijn enkele trefwoorden (actie) InputText, VerifyValue, VerifyProperty enzovoort.
Wat is de applicatiekaart?
Een toepassingsoverzicht biedt benoemde verwijzingen voor GUI-componenten. Applicatiekaarten zijn niets anders dan " Object Repositry "
Wat is de Component-functie?
Componentfuncties zijn die functies die de GUI-component actief manipuleren of ondervragen. Een voorbeeld van een functie is het klikken op de webknop met alle foutafhandeling, gegevens invoeren in een webbewerking met alle foutafhandeling. Componentfuncties kunnen toepassingsafhankelijk of onafhankelijk zijn.
Voorbeeld : om de trefwoordweergave te begrijpen, nemen we hetzelfde voorbeeld. Het omvat 2 stappen
Stap 1 : Datatabel maken (anders dan testgegevenstabel gemaakt in Data Driven Framework). Deze gegevenstabel bevat de actie die moet worden uitgevoerd op GUI-objecten en eventuele bijbehorende argumenten. Elke rij vertegenwoordigt één teststap.
Voorwerp (Applicatiekaart) |
Actie (ZOEKWOORDEN) |
Argument |
---|---|---|
WinEdit (naam agent) | Set | Guru99 |
WinEdit (wachtwoord) | Set | Kwik |
WinButton (OK) | Klik | |
Venster (vluchtreservering) | Verifiëren | Bestaat |
Stap 2 : Code schrijven in de vorm van componentfuncties.
Nadat u uw gegevenstabel (len) heeft gemaakt, schrijft u eenvoudig een programma of een set scripts die elke stap leest, de stap uitvoert op basis van het trefwoord in het veld Actie, een foutcontrole uitvoert en alle relevante informatie registreert. Dit programma of deze set scripts zou er ongeveer zo uitzien als de pseudocode hieronder:
Functie main ()Bel ConnectTable (naam van de tafel) {// Aanroepfunctie om verbinding te maken met de tafel.while (Call TableParser ()! = -1) // Aanroepfunctie voor het parseren en extraheren van waarden uit de tabel.Geef waarden door aan de juiste COMPONENT-functies. Zoals Set (Objectnaam, Argument) ex.Set (Agentnaam, Guru99).Bel CloseConnection () // Functie voor het verbreken van de verbinding nadat alle bewerkingen zijn uitgevoerd.} // Einde van main
Dat is alles voor Keyword Driven Framework.
Het voordeel van Keyword Driven Framework is dat de keywords herbruikbaar zijn. Om dit te begrijpen, moet u de inlogoperatie voor een website verifiëren, bijvoorbeeld YAHOO MAIL. De tafel ziet er als volgt uit -
Object (TOEPASSINGSKAART) | Actie (KEYWORD) | Argument |
---|---|---|
WebEdit (gebruikersnaam) | Set | Dit e-mailadres is beschermd tegen spambots. JavaScript moet ingeschakeld zijn om het te kunnen bekijken. |
WebEdit (wachtwoord) | Set | xxxxx |
WebButton (OK) | Klik | |
Venster (Yahoo Mail) | Verifiëren | Ladingen |
Als u in dit geval constateert dat de trefwoordenset, klik en controleer hetzelfde blijft waarvoor de bijbehorende componentfuncties al zijn ontwikkeld. Het enige dat u hoeft te doen, is de Application Mapping (Object Repository) wijzigen van eerdere vluchtreservering naar Yahoo Mail, met een wijziging in de argumentwaarden en hetzelfde script zal werken!
Voordelen
- Biedt hoge herbruikbaarheid van code
- Testtool onafhankelijk
- Onafhankelijk van de te testen applicatie, hetzelfde script werkt voor AUT (met enkele beperkingen)
- Tests kunnen met of zonder AUT worden ontworpen
Nadelen
- Omdat de initiële investering behoorlijk hoog is, kunnen de voordelen hiervan alleen worden gerealiseerd als de applicatie behoorlijk groot is en de testscripts een flink aantal jaren moeten worden onderhouden.
- Hoge automatiseringsexpertise is vereist om het Keyword Driven Framework te creëren.
OPMERKING: hoewel Micro Focus UFT zichzelf adverteert als KeyWord Driven Framework, kunt u geen volledige testtool en applicatie-afhankelijkheid bereiken met HP UFT.
5) Het hybride testautomatiseringsraamwerk.
Zoals de naam suggereert, is dit raamwerk de combinatie van een of meer raamwerken die hierboven zijn besproken, waarbij ze uit hun sterke punten trekken en proberen hun zwakke punten te verzachten. Dit hybride testautomatiseringsraamwerk is waar de meeste frameworks in de loop van de tijd en meerdere projecten naar evolueren. De maximale industrie gebruikt Keyword Framework in een combinatie van de functie-decompositiemethode.
PS: Andere frameworks die het vermelden waard zijn, zijn
Test het modulariteitskader
In dit raamwerk wordt een algemene taak in het testscript gegroepeerd als modules.
Vb : Door acties in QTP te gebruiken, kunnen Modualr-scripts worden gemaakt
Voorbeeldscript voor inloggen
SystemUtil.Run "flight4a.exe", "", "", "open"Dialoogvenster ("Inloggen"). WinEdit ("Naam agent:"). Stel "Guru99" inDialoogvenster ("Inloggen"). WinEdit ("Wachtwoord:"). Stel "Mercury" inDialoogvenster ("Inloggen"). WinButton ("OK"). Klik'Einde van script
Nu kunt u deze actie als volgt in het hoofdscript aanroepen -
RunAction ("Login [Argument]", oneIteration)
Bedrijfsproces testen (BPT)
Dit framework splitst grote bedrijfsprocessen op in componenten die meerdere keren kunnen worden hergebruikt in dezelfde of verschillende testscripts. Het bedrijfsproces van het boeken van een vlucht is bijvoorbeeld opgesplitst in componenten zoals inloggen, vluchten zoeken, boeken, betalen en uitloggen, die hergebruikt kunnen worden in hetzelfde bedrijfsproces of verschillende processen. BPT faciliteert ook nauwere coördinatie tussen KMO's en automatiseringsingenieurs.