Testa automatiseringsramar - saker du måste veta!

Innehållsförteckning:

Anonim

I den här handledningen lär du dig

  • Vad är ett ramverk?
  • Vad är ett TEST Automation Framework?
  • Typer av automatiseringsramar
  • 1) Linjär skriptning - Spela in och spela upp
  • 2) Testbibliotekets arkitekturram.
  • 3) Datadriven testramverk.
  • 4) Det nyckelordsdrivna eller bordsdrivna testramverket.
  • 5) Hybrid Test Automation Framework.

Vad är ett ramverk?

Istället för att tillhandahålla en bokaktig definition av ett ramverk, låt oss överväga ett exempel.

Jag är säker på att du har deltagit i ett seminarium / föreläsning / konferens där deltagarna ombads att följa följande riktlinjer -

  • Deltagarna bör inta sitt säte 5 minuter innan en föreläsning börjar
  • Ta med en anteckningsbok och penna för anteckningar.
  • Läs abstraktet så att du får en uppfattning om vad presentationen kommer att handla om.
  • Mobiltelefoner ska vara inställda på tyst
  • Använd utgångsportarna i motsatta änden till högtalaren om du skulle behöva lämna mitt i föreläsningen.
  • Frågor kommer att tas i slutet av sessionen

Tror du att du kan genomföra ett seminarium UTAN att du följer dessa riktlinjer ????

Svaret är ett stort JA! Visst, du kan genomföra ett seminarium / föreläsning / konferens / demonstration utan ovanstående riktlinjer (i själva verket kommer vissa av oss inte att följa dem trots att det är lagt ... :-)

Men om riktlinjerna följs kommer det att resultera i ett fördelaktigt resultat som minskad publikdistraktion under föreläsningen och ökad deltagares retention och förståelse för ämnet.

Baserat på ovanstående kan ett ramverk definieras som en uppsättning riktlinjer som när de följs ger fördelaktiga resultat.

Vad är ett TEST Automation Framework?

En uppsättning riktlinjer som kodningsstandarder, hantering av testdata, behandling av objektförvar osv ... som när de följs under automatiseringsskript ger fördelaktiga resultat som ökar återanvändning av koden, högre bärbarhet, lägre skriptunderhållskostnader osv. Kom ihåg att det här är bara inte regler; de är inte obligatoriska och du kan fortfarande skriva utan att följa riktlinjerna. Men du kommer att missa fördelarna med att ha ett ramverk.

Typer av automatiseringsramar

1) Linjär skriptning
2) Testbibliotekets ramverk.
3) Datadriven testramverk.
4) Det nyckelordsdrivna eller bordsdrivna testramverket.
5) Hybrid Test Automation Framework.

Låt oss titta på dem i detalj -

1) Linjär skriptning - Spela in och spela upp

Det är det enklaste av alla ramar och även känt som "Record & Playback". I detta ramverk registrerar Tester manuellt varje steg (Navigation och användaringångar), infogar kontrollpunkter (valideringssteg) i första omgången. Han spelar sedan upp det inspelade manuset i de efterföljande omgångarna.

Ex: Överväg att logga in på Flight Reservation Application och kontrollera om applikationen har laddats vid framgångsrik inloggning. Här registrerar testaren helt enkelt stegen och lägger till valideringssteg.

SystemUtil.Run "flight4a.exe", "", "", "open"Dialog ("Login"). WinEdit ("Agent Name:"). Ställ in "Guru99"Dialog ("Login"). WinEdit ("Password:"). Ställ in "Mercury"Dialog ("Login"). WinButton ("OK") Klicka på'Kontrollera att flygreservationsfönstret har laddats efter lyckad inloggningFönster ("Flygreservation"). Kontrollera CheckPoint ("Flygreservation")

Fördelar

  • Snabbaste sättet att skapa ett skript
  • Automationsexpertis krävs inte
  • Det enklaste sättet att lära sig funktionerna i testverktyget

Nackdelar

  • Lite återanvändning av manus
  • Testdata är hårdkodade i skriptet
  • Underhåll mardröm

2) Testbibliotekets arkitekturram.

Det kallas också "Structured Scripting" eller "Functional Decomposition".

I detta ramverk registreras testskript initialt med "Record & Playback" -metoden. Senare identifieras vanliga uppgifter i skripten och grupperas i funktioner. Dessa funktioner kallas av huvudtestskript som heter Driver på olika sätt för att skapa testfall.

Ex: Med samma exempel som ovan ser funktionen för inloggning till Flight Reservation ut.

Funktionsinloggning ()SystemUtil.Run "flight4a.exe", "", "", "open"Dialog ("Login"). WinEdit ("Agent Name:"). Ställ in "Guru99"Dialog ("Login"). WinEdit ("Password:"). Ställ in "Mercury"Dialog ("Login"). WinButton ("OK") Klicka påSlutfunktion

Nu kommer du att kalla den här funktionen i huvudskriptet enligt följande

Ring inloggning ()---------------------------Andra funktionssamtal / teststeg.---------------------------

Fördelar

  • Högre nivå av kodåteranvändning uppnås i Structured Scripting jämfört med "Record & Playback"
  • Automationsskripten är billigare att utveckla på grund av högre kodåteranvändning
  • Enklare skriptunderhåll

Nackdelar

  • Teknisk expertis är nödvändig för att skriva skript med Test Library Framework.
  • Mer tid behövs för att planera och förbereda testskript.
  • Testdata är hårt kodade i skripten

3) Datadriven testramverk.

I detta ramverk, medan testfallslogik finns i testskript, separeras testdata och hålls utanför testskripten. Testdata läses från de externa filerna (Excel-filer, textfiler, CSV-filer, ODBC-källor, DAO-objekt, ADO-objekt) och laddas in i variablerna i testskriptet. Variabler används både för inmatningsvärden och för verifieringsvärden. Testskript själva bereds antingen med Linear Scripting eller Test Library Framework.

Ex: Att utveckla inloggningsskriptet för flygreservation med den här metoden innebär två steg.

Steg 1) Skapa ett test - datafil som kan vara Excel, CSV eller någon annan databaskälla.

Agent namn

Lösenord

Jimmy

Kvicksilver

Tina

MERCURY

Räkningen

MerCURY

Steg 2) Utveckla testskriptet och gör referenser till din testdatakälla.

SystemUtil.Run "flight4a.exe", "", "", "open"Dialog ("Login"). WinEdit ("Agent Name:"). Ställ in DataTable ("AgentName", dtGlobalSheet)Dialog ("Login"). WinEdit ("Password:"). Ställ in DataTable ("Password", dtGlobalSheet)Dialog ("Login"). WinButton ("OK") Klicka på'Kontrollera att flygreservationsfönstret har laddatsFönster ("Flygreservation"). Kontrollera CheckPoint ("Flygreservation")** Observera "dtGlobalSheet" är standard excel-ark som tillhandahålls av QTP.

Fördelar

  • Ändringar av testmanus påverkar inte testdata
  • Testfall kan utföras med flera datauppsättningar
  • En mängd olika testscenarier kan köras genom att bara ändra testdata i den externa datafilen

Nackdelar

  • Mer tid behövs för att planera och förbereda både testskript och testdata

4) Det nyckelordsdrivna eller bordsdrivna testramverket.

Det nyckelordsdrivna eller bordsdrivna ramverket kräver utveckling av datatabeller och nyckelord, oberoende av testautomationsverktyget som används för att utföra dem. Tester kan utformas med eller utan applikationen. I ett nyckelorddrivet test dokumenteras funktionaliteten för applikationen under testet i en tabell såväl som i steg-för-steg-instruktioner för varje test.

Det finns tre grundläggande komponenter i ett Keyword Driven Framework, nämligen. Nyckelord, applikationskarta, komponentfunktion.

Vad är ett nyckelord?

Nyckelord är en åtgärd som kan utföras på en GUI-komponent. Ex. För GUI Component Textbox skulle vissa nyckelord (Action) vara InputText, VerifyValue, VerifyProperty och så vidare.

Vad är applikationskartan?

En applikationskarta tillhandahåller namngivna referenser för GUI-komponenter. Applikationskartor är inget annat än " Objektförvar "

Vad är komponentfunktion?

Komponentfunktioner är de funktioner som aktivt manipulerar eller frågar GUI-komponenten. Ett exempel på en funktion skulle vara att klicka på webbknappen med all felhantering, ange data i en webbredigering med all felhantering. Komponentfunktioner kan vara applikationsberoende eller oberoende.

Ex : För att förstå sökordsvy kan vi ta samma exempel. Det innehåller två steg

Steg 1 : Skapa datatabell (skiljer sig från testdatatabellen skapad i datadriven ram). Denna datatabell innehåller åtgärder som ska utföras på GUI-objekt och motsvarande argument om sådana finns. Varje rad representerar ett teststeg.

Objekt

(Application MAP)

Handling

(NYCKELORD)

Argument

WinEdit (agentnamn)
Uppsättning
Guru99
WinEdit (lösenord)
Uppsättning
Kvicksilver
WinButton (OK)
Klick
Fönster (flygbokning)
Kontrollera
Existerar

Steg 2 : Skriv kod i form av komponentfunktioner.

När du har skapat dina datatabeller skriver du helt enkelt ett program eller en uppsättning skript som läser i varje steg, utför steget baserat på nyckelordet som innehåller åtgärdsfältet, utför felkontroll och loggar all relevant information. Detta program eller uppsättning skript skulle likna pseudokoden nedan:

Funktion huvud (){Call ConnectTable (Namn på tabellen) {// Calling-funktion för anslutning till tabellen.medan (Call TableParser ()! = -1) // Calling-funktion för att analysera och extrahera värden från tabellen.{Skicka värden till lämpliga KOMPONENTfunktioner. Som Set (Object Name, Argument) ex.Set (Agent Name, Guru99).}}Call CloseConnection () // Funktion för att stänga anslutningen efter att all operation har utförts.} // Slut på huvud

Det är allt för Keyword Driven Framework.

Fördelen med Keyword Driven Framework är att nyckelorden kan återanvändas. För att förstå detta anser du att du vill verifiera inloggningsfunktionen för en webbplats, säg YAHOO MAIL. Tabellen kommer att se ut så här -

Objekt (APPLICATION MAP) Action (NYCKELORD) Argument
WebEdit (användarnamn) Uppsättning Den här e-postadressen är skyddad från spamrobotar. Du måste ha Javascript aktiverat för att kunna se det.
WebEdit (lösenord) Uppsättning xxxxx
WebButton (OK) Klick
Fönster (Yahoo Mail) Kontrollera Massor

Om du i det här fallet observerar att nyckelordet Set, Click, Verify förblir detsamma för vilket motsvarande komponentfunktioner redan har utvecklats. Allt du behöver göra är att ändra Application Mapping (Object Repository) från tidigare Flight Reservation till Yahoo Mail, med en ändring av argumentvärden och samma skript fungerar!

Fördelar

  • Ger hög kodåteranvändbarhet
  • Testverktyg Oberoende
  • Oberoende av applikation under test fungerar samma skript för AUT (med vissa begränsningar)
  • Tester kan utformas med eller utan AUT

Nackdelar

  • De initiala investeringarna är ganska höga, fördelarna med detta kan bara realiseras om ansökan är avsevärt stor och testmanusen ska bibehållas i ett par år.
  • Hög automatiseringsexpertis krävs för att skapa Keyword Driven Framework.

OBS! Även om Micro Focus UFT annonserar sig som KeyWord Driven Framework, kan du inte uppnå fullständigt beroende av testverktyg och applikation med HP UFT.

5) Hybrid Test Automation Framework.

Som namnet antyder är detta ramverk en kombination av en eller flera ramar som diskuterats ovan och drar från sina styrkor och försöker mildra deras svagheter. Denna hybridtestautomatiseringsram är det som de flesta ramar utvecklas till över tid och flera projekt. Maximal industri använder Keyword Framework i en kombination av funktionsnedbrytningsmetod.

PS: Andra ramar som är värda att nämna är

Testa Modularity Framework

I detta ramverk grupperas en gemensam uppgift i testskript som moduler.

Ex : Användning av åtgärder i QTP-användning kan skapa ett Modualr-skript

Exempelskript för inloggning

SystemUtil.Run "flight4a.exe", "", "", "open"Dialog ("Login"). WinEdit ("Agent Name:"). Ställ in "Guru99"Dialog ("Login"). WinEdit ("Password:"). Ställ in "Mercury"Dialog ("Login"). WinButton ("OK") Klicka på'Slut på skriptet

Nu kan du kalla den här åtgärden i huvudskriptet enligt följande -

RunAction ("Login [Argument]", oneIteration)

Affärsprocesstestning (BPT)

Dessa ramar delar upp stora affärsprocesser i komponenter som kan återanvändas flera gånger i samma eller olika testskript. Till exempel är affärsprocessen för att boka en flygning uppdelad i komponenter som inloggning, hitta flyg, bokning, betalning och utloggning som kan återanvändas i samma affärsprocess eller olika processer. BPT underlättar också närmare samordning mellan små och medelstora företag och automationsingenjörer.