Sökordsdriven testram med exempel
⚡ Smart sammanfattning
Nyckelordsdriven testning separerar testlogik från automatiseringskod med hjälp av mappningping enkeltspråkiga nyckelord till återanvändbara funktioner, så att testare designar, underhåller och skalar automatiserade sviter genom kalkylblad istället för att skriva skript för varje enskilt testfall.
Vad är sökordsdriven testning?
Sökordsdriven testning är en skriptteknik som använder datafiler för att innehålla nyckelord relaterade till applikationen som testas. Dessa nyckelord beskriver den uppsättning åtgärder som krävs för att utföra ett specifikt steg.
Ett nyckelordsdrivet test består av nyckelord på hög och låg nivå, inklusive nyckelordsargumenten, som är sammansatt för att beskriva åtgärden i ett testfall. Det kallas också för tabelldriven testning eller handlingsordsbaserad testning.
Ocuco-landskapet Sökordsdrivet ramverk är ramverket för funktionell automatiseringstestning som är byggt kring den tekniken. Det delar upp testfall i fyra olika delar för att separera kodning från testfall och teststeg för bättre automatisering: själva teststegen, de objekt som dessa steg påverkar, de åtgärder som utförs på dessa objekt och de data som tillhandahålls dem.
I nyckelordsdriven testning identifierar du först en uppsättning nyckelord och associerar sedan en åtgärd (eller funktion) relaterad till dessa sökord. Här beskrivs varje teståtgärd som öppning eller stängning av webbläsare, musklick, tangenttryckningar etc. med ett nyckelord som t.ex. öppna webbläsaren, klicka, Typtext och så vidare.
Diagrammet nedan visar två vanliga affärsåtgärder som förvandlas till återanvändbara sökord. Till exempel:
- logga in till "guru99"-webbplatsen – Nyckelordet "inloggning" kommer att användas i vårt automationsramverk, för att testa inloggningsfunktionen eller åtgärden som är kopplad till den.
- logout till "guru99"-webbplatsen— Nyckelordet "logga ut" kommer att användas i vårt automationsramverk för att testa utloggningsfunktionen eller åtgärden som är associerad med den.
Du kommer att se fler exempel längre fram i artikeln. Mönstret förändras aldrig: en affärsåtgärd, ett sökord, en funktion.
Exempel på nyckelord
Ordlistan nedan listar typiska nyckelord för en bankapplikation och den affärsåtgärd som varje sökord utlöser.
| Nyckelord | BESKRIVNING |
|---|---|
| Logga in | Logga in på guru99 banks demosida |
| E-post | Skicka epost |
| loggar ut | Logga ut från guru99 banks demosida |
| Meddelanden | Hitta olästa aviseringar |
💡 Tips: Namnge sökorden efter affärsåtgärden, inte det tekniska steget. ”Login” överlever en omdesign av sidan, medan ”ClickBlueButton” inte gör det.
Komponenter i ett sökordsdrivet ramverk
Att veta vad ett nyckelord är tar bara halvvägs. För att skapa ett nyckelordsdrivet ramverk sätter du ihop en liten uppsättning filer, där var och en äger ett visst intresse.
- Exelblad – Identifiera nyckelorden och lagra dem i ett Excel-ark, en rad per teststeg.
- Funktionsbibliotek – Består av funktionerna för affärsflödena (inloggningsknappen för valfri webbplats). När ett test körs läser det nyckelordet från Excel-arket och anropar funktionerna därefter.
- Datablad – Lagra testdata som används i applikationen, så att ett nyckelord körs mot många indata.
- Objektförråd – Lagrar lokaliseringspunkterna för varje element som nyckelorden berör, så att en ändrad lokaliseringspunkt redigeras på ett ställe.
- Testa skript – Du kan ha testskript för varje manual Testfall eller ett enda drivrutinsskript.
- Drivrutinsskript – Går igenom Excel-arket rad för rad, jämför varje nyckelord mot funktionsbiblioteket och registrerar resultatet.
- Automationsverktyg – Kör de lösta kommandona mot applikationen och tillhandahåller rapporteringslagret.
Tillsammans bildar dessa sju delar en komplett ramverk för testautomatiseringVarför välja den här designen?
Varför testa sökord
Inom mjukvaruteknik görs nyckelordsdriven testning av följande skäl
- Vanliga komponenter som hanteras av standardbibliotek
- Med hjälp av denna metod kan tester skrivas på ett mer abstrakt sätttract-sätt
- Hög grad av återanvändbarhet
- Detaljerna i skriptet är dold för användarna
- Användare behöver inte använda skriptspråken
- Testet är kortfattat, underhållbart och flexibelt
Eftersom nyckelordslagret absorberar applikationsändringar, en stor regressionstestning sviten förblir grön genom att redigera en handfull funktioner istället för hundratals skript. Det resonemanget formar hur tillvägagångssättet tillämpas.
Hur man utför sökordsdriven testning
Nyckelordsdriven testning kan göras på båda sätt, manuellt såväl som automatiserat. Men vanligtvis används det tillsammans med automatiserad testning.
Målet bakom automatisering av sökordsdriven testning är
- Det hjälper till att minska underhållskostnaderna
- Undviker duplicerade specifikationer
- Större återanvändning av funktionsskript
- Bättre teststöd och portabilitet
- Uppnå fler tester med mindre eller samma ansträngning
Med sökordsdriven testning kan du skapa enkla funktionstester I de tidigare utvecklingsstadierna testar man applikationen bit för bit. Det enklaste sättet att skapa ett nyckelordsdrivet test är att spela in det. Efter inspelningen kan testet modifieras och anpassas efter behov.
Varje nyckelord måste vara länkat till minst ett kommando, testskript eller funktion, som implementerar de åtgärder som är relaterade till det nyckelordet.
När testfall exekveras tolkas nyckelord av ett testbibliotek, som anropas av ett testautomationsramverk.
De viktigaste aktiviteterna som ingår i sökordsdriven testning är
- Steg 1) Identifiera sökord på låg nivå och hög nivå
- Steg 2) Implementera nyckelorden som körbara
- Steg 3) Skapa testfall
- Steg 4) Skapa drivrutinsskript
- Steg 5) Exekvera automationstestskripten
Steg 1 och 2 är engångsdesignarbete; steg 3 till 5 upprepas varje sprint, vilket exemplen nedan visar.
Exempel på testfall
Dessa tre scenarier återanvänder samma nyckelord som definierats tidigare.
- TC_01: Logga in på guru99-demosidan, ta reda på hur många transaktioner som utförs idag
- TC_02: Logga in på guru99-demosidan, skicka ett e-postmeddelande till en av dina kunder och logga sedan ut
- TC_03: Logga in på guru99s demosida och kontrollera om det finns några meddelanden
Skrivet som en nyckelordstabell blir TC_02 sex rader som alla testare kan läsa eller ändra ordning utan att öppna koden:
| Steg | Nyckelord | Argument | Förväntat resultat |
|---|---|---|---|
| 1 | öppen webbläsare | krom | Webbläsarsessionen startar |
| 2 | Logga in | mngr123 / demopass | Chefens hemsida visas |
| 3 | E-post | kund@exampel.com | Skrivfönstret öppnas |
| 4 | klick | Skicka | "Mail skickat” visas |
| 5 | loggar ut | - | Sessionen avslutad |
| 6 | stäng webbläsaren | - | Webbläsaren släpptes |
Swapping argumentet i steg 3 omvandlar samma sex rader till ett annat test, vilket är där testdata ledningen lönar sig.
Fördelar med sökordsdriven testning
- Det tillåter funktionella testare att planera testautomatisering innan applikationen är klar
- Tester kan utvecklas utan programmeringskunskaper
- Det är inte beroende av ett specifikt programmeringsspråk eller verktyg
- Kompatibel med alla automationsverktyg som finns på marknaden
Dessa fördelar förklarar varför sökordsdriven testning passar långsiktigt automatiserad testning sviter. Kostnaderna spelar också roll.
Begränsningar med sökordsdriven testning
MagmusklernatracEn funktion som gör nyckelordsdrivna tester läsbara gör dem också dyra att bygga. Innan de första testkörningarna måste någon identifiera nyckelorden, implementera varje funktion, koppla in objektförrådet och skriva drivrutinsskriptet. I ett litet projekt kostar den installationen mer än att skripta testerna direkt.
Underhåll är den andra kostnaden. Biblioteket delas av varje test, så en slarvig redigering förstör hela sviten. Biblioteken sprider sig också: team lägger till nästan dubbletter som "Login", "SignIn" och "DoLogin".
- Hög initial investering – ramverksdesign och nyckelordsimplementering föregår varje testkörning.
- Minskad flexibilitet – testare uttrycker bara vad befintliga sökord tillåter, så ovanliga scenarier behöver utvecklas.
- Obekvämt för komplex logik – förgreningar och öglor motstår plana bordsrader.
- Färdigheter krävs fortfarande – nyckelordslagret är kodfritt, funktionsbiblioteket är det inte.
⚠️ Varning: RevVisa nyckelordsbiblioteket varje utgåva och ta bort oanvända poster. En okontrollerad vokabulär är den enskilt vanligaste anledningen till att nyckelordsdrivna ramverk överges.
Dessa avvägningar formar jämförelsen nedan.
Nyckelordsdrivet vs. datadrivet vs. hybridramverk
Nyckelordsdriven och datadrivna tester lösa olika problem. Ett datadrivet ramverk varierar indata från ett fast skript; ett nyckelordsdrivet ramverk varierar stegen. Tabellen lägger till den hybridmodell som de flesta företagsteam använder.
| Aspect | Sökordsdrivet ramverk | Datadrivet ramverk | Hybrid ramverk |
|---|---|---|---|
| Vad är externaliserat | Teststeg och åtgärder | Endast testdata | Både steg och data |
| Planeringsinsats | Omfattande och precis | Begränsat till data och skript | Högsta |
| Underhåll | Enklare, mer magmusklertractionlager | Hårdare magmusklertractionen är tunnare | Enklast i stor skala |
| Kodningskunskaper behövs | Endast för funktionsbiblioteket | Krävs för varje skript | Krävs för kärnlagret |
| Kan börja innan bygget | Ja | Nej | Ja |
I praktiken kombineras stilarna. Ett hybridramverk lagrar steg som nyckelord och indata i datablad, ofta över en SidobjektmodellVälj nyckelordsdrivet när många testare skriver tester, datadrivet när ett flöde behöver många indata och hybrid när båda gäller.
Verktyg som används för sökordsdrivna tester
Flera verktyg används i stor utsträckning för sökordsdriven testning, och vart och ett tolkar sökordstabellen på olika sätt.
- HP QTP – levereras med en inbyggd nyckelordsvy, så arket och det körbara testet är en artefakt.
- Selenium – har inget inbyggt nyckelordslager, så teamen bygger funktionsbiblioteket och drivrutinsskriptet själva.
- Robotramverk – en motor med öppen källkod utformad kring nyckelord, med tabellformad syntax och många färdiga nyckelord.
- TestNG – används ofta tillsammans med Selenium för att sekvensera nyckelordsmappade metoder och generera rapporter.
Vår lista över automatiserade testverktyg täcker licenser och plattformssupport för varje alternativ.


