how translate manual test cases into automation scripts
Detta kommer att vara den grundläggande artikeln 'hur man gör' och är inte specifik för automatiseringsverktyg. I grund och botten är det jag försöker göra här att sätta tankeprocessen i ord för att skapa ett automatiseringsprovfall. Som alltid hoppas jag att detta kommer att vara användbart för er alla.
Hur man utformar ett automatiseringsprovfall eller skript?
Automation följer alltid manuell testning. Vanligtvis skulle en eller flera omgångar av manuell testning redan utföras på AUT. Detta innebär att manuella testfall redan finns och har utförts minst en gång.
Till exempel, anta att följande är din Manuellt testfall . Det är helt enkelt att logga in på Gmail.com-webbplatsen. Det här ser enkelt ut, eller hur? Hur blir detta ett automatiseringsskript? (klicka på bilden för att förstora)
Vad du kommer att lära dig:
Hur översätter man detta manuella testfall till ett automatiseringsskript?
Följande är de riktlinjer som vi ska följa för att uppnå översättningen till ett automatiseringsskript:
# 1) Status för AUT: Kolumnförutsättningen är inget annat än ett visst tillstånd för bakgrunden som ska ställas in för att ett visst steg ska kunna utföras. Detta är särskilt viktigt i två scenarier:
- För att börja testet: I det här fallet behöver vi webbläsaren tillgänglig och lanseras. (Användarnamn och lösenordstillgänglighet kommer att hanteras inom en liten stund). Hur ska jag skriva samma sak i automatiseringsvärlden? Överväg QTP. Du har möjlighet att antingen starta webbläsaren med hjälp av programmatiska uttalanden eller så kan du använda dialogrutan ”spela in och köra inställning” för att ställa in egenskaperna. Att ställa in dessa egenskaper korrekt är mycket viktigt. Ofta är det anledningen till att en viss kod fungerar i en maskin och inte fungerar i de andra.
- Att utföra ett visst steg : För att steg 2 ska kunna utföras behöver vi steg 1 vara klar och slutföra. För att göra det manuellt kan vi bara vänta tills stegkörningen är klar och sidan laddas helt. Använd synkroniseringen eller vänta på uttalanden i ditt automatiseringsskript för att vänta tills önskat tillstånd går i uppfyllelse.
Notera: När du kör samma kod för flera datauppsättningar, vill du se till att du returnerar AUT till det läge som det borde vara innan nästa iteration startar.
# 2) Teststeg
Vi kan kategorisera de manuella teststegen i tre kategorier:
- Datainmatning : Steg för datainmatning är där du matar in viss information som inmatning till din AUT.
- Ändring av AUT-tillståndssteg : dessa steg är de som får en förändring att hända med din AUT. Det kan inkludera att gå en ny sida, ett visst fält syns, en redigeringsruta kan redigeras, etc.
- Kombination : som namnet antyder är detta kombinationen av båda ovanstående typer. Ta hänsyn till en kryssruta när den är aktiverad kommer ett visst fält att vara aktivt. I så fall anger du värdet ”True” för kryssrutan och det resulterar också i ett tillstånd för din AUT.
I ovanstående testfall existerar endast steg 1 och 2.
- Typ 1: teststeg 2 & 3
- Typ 2: Teststeg 1 & 4
Förutsättningen för att skapa ett automatiseringsskript med vilket verktyg som helst är att spendera lite tid på att analysera verktyget såväl som AUT. Försök se hur båda interagerar med varandra. Till exempel, QTP har tre inspelningsvägar och var och en fungerar på olika sätt.
Om du vet hur den identifierar objekt skulle du veta vilken du ska använda och använda dem bättre. Om du har en webbapp där QTP enkelt kan identifiera objekten kan du använda det normala läget. Om inte kan du behöva använda analoga eller låga nivåmetoder.
Steg för automatisering:
- Steg för datainmatning skiljer sig inte särskilt mycket i automatiserings- och manuella metoder. Allt du behöver göra är att ange data. Sättet du refererar till fältet är annorlunda. Eftersom det kommer att vara maskin som utför stegen måste vi bara se till att vi hänvisar till fälten i AUT på ett sätt som verktyget förstår. Det betyder att du måste använda dess logiska namn som det används i koden.
- För ändring av AUT / kombinationsteg i ett manuellt scenario utför du åtgärden (klicka eller kontrollera eller ange) och verifiera ändringen på en gång. Men i ett automatiseringsscenario är det inte möjligt. Så vi måste se till att vi lägger till steg för åtgärder och validering / verifiering.
- Kommentarer för läsbarhet.
- Felsökningsuttalanden - dessa är särskilt viktiga där du skapar och testar själva testet. Försök att använda meddelanderutor ofta för att mata ut olika värden i olika stadier av testutförandet. Detta ger dig synlighet i testet som inget annat skulle göra.
- Resultatuttalanden - till skriv till resultat eller någon annan extern plats som ett anteckningsblock eller excel-ark.
# 3) Verifiering och validering
Utan verifiering och validering försvinner testets avsikt. Vanligtvis måste du använda en kontrollpunkt (betyder inte nödvändigtvis de inbyggda). Så du måste använda många villkorliga uttalanden och även loop-uttalanden för att bygga logiken.
En viktig sak att tänka på är attributet som baseras på din V&V inte bör vara tvetydigt. Till exempel, för framgångsrik inloggning, leta efter sidan för inkorgssidan och inte efter antalet nya e-postmeddelanden, eftersom det inte är ett konstant värde.
Så du måste välja något som är sant varje gång en uppsättning operationer sker - utan misslyckande.
# 4) Testdata
Följande är några av de frågor som du kan tänka dig att besvara för dina testdatakrav:
- Var ska man placera den?
- Till hårdkod eller inte?
- Säkerhetsproblem?
- Återanvändbarhetsproblem?
När du tittar tillbaka på det manuella testskriptet kommer du att märka att det att ha testdata, användarnamn och lösenord är en av förutsättningarna för att ens kunna börja testet.
webbplatser för att ladda ner youtube-videor gratis
# 5) Resultat
För ett manuellt testfall kan du lägga resultatet av varje steg i kolumnen 'Verkligt resultat'. En automatiseringsverktygs resultatfil innehåller resultatet av varje steg när det körs.
Automationsverktyg har idag mycket robusta rapporteringsfunktioner. Du kan dock fortfarande behöva skräddarsy Testresultat . Så inkludera stegen för att skriva ofta till resultatfilen så att du vet exakt vad som pågick medan körningen pågick.
Om verktyget du använder inte stöder skrivning till resultatfilen det genererar, är det en bra idé att ha åtminstone ett excelblad eller anteckningsblock kopplat till varje test för att lägga in kommentarer om körningsstatus när du går.
# 6) Efter operationer
När du är klar med testet behöver det inte uttryckligen nämnas i ditt manuella testfall för att stänga webbläsaren eller stänga AUT etc. Som testare skulle du göra det flitigt. I fallet med Automation-testfallet kan du inkludera dessa steg i ditt skript. Städa upp - det är vad jag kallar dessa aktiviteter. Döda alla anslutningar du skapade. Stäng alla appar. Släpp minnet.
Med hjälp av dessa riktlinjer översätter jag vårt manuella testfall till ett QTP-testskript som använder VB-skript. Följande är resultatet: (klicka på bilden för att förstora)
Gå igenom varje steg
Steg 1: Förutsättning. Vi lanserar IE med Gmail.com URL programmatiskt.
Steg 2 och 7: Synkroniseringsuttalande. Som vi diskuterade ovan är dessa viktiga för att säkerställa att AUT kommer till önskat läge innan nästa stegs utförande följer.
Steg 3 och 4: Datainmatning. All data är hårdkodad i skriptet. Även om det inte är tillrådligt är det en början.
Steg 5: Ändring av AUT-steg. Steg 5 inkluderar att klicka på knappen Logga in. Du behöver inte en V&V när detta uttalande körs. Det beror på att det finns ett efterföljande uttalande och om det kan köras; det betyder den innan den har varit framgångsrik. Men om du är extra flitig kan du inkludera en här.
Steg 6 & 8: Kommentarer
Steg 9 och 11: Villkorligt uttalande. V & V / Kontrollpunkt. Vi försöker se om inloggningen har lyckats genom att kontrollera om det finns en inkorgslänk på den resulterande sidan. Om du noterar noggrant, länk med inre text, 'inkorg. *' Letas efter. Så oavsett vilket antal nya e-postmeddelanden (som är variabelt) som tas emot, om du har en inkorgslänk (som alltid är konstant), betyder det att kontrollpunkten har passerat.
Steg 10: Meddelandebox. För synlighet
Steg 12 & 13: Det här är saneringen. Du loggar ut från kontot och stänger webbläsaren.
Slutsats
Så du ser hur lätt ett automatiseringsskript utvecklas när du har ett välskrivet manuellt manus och en uppsättning grundläggande riktlinjer att följa. Eftersom detta inte är en artikel som rör ramar , Jag har hållit mig fri från funktioner, återanvändningsfaktorer, parametrering etc. Testskript är den grundläggande byggstenen, det är lätt att improvisera på ett skript när du har grunderna rätt.
Finns det några andra faktorer som du överväger, en annan metod som du tycker är lättare eller någon riktlinje som du har svårt att följa? Låt mig veta din feedback i kommentarerna.
Detta inlägg är skrivet av STH-teammedlem Swati Seela. Hon har mer än 9 års erfarenhet av testning av manuell och automatisering av att arbeta med olika MNC. Hon är också vår instruktör för Programvarutestning QA-utbildningskurs . Om du är intresserad av denna kurs för att kontrollera kommande batch schema här .
PREV-handledning | NÄSTA självstudie
Rekommenderad läsning
- 10-stegs automatiseringstestprocess: Hur man startar automatiseringstestning i din organisation
- Varför behöver vi ramverk för testautomatisering?
- Manuella och automatiseringstestutmaningar
- Hur skiljer sig testplaneringen för manuella och automatiseringsprojekt?
- Hur bestämmer jag vilken typ av testning som krävs för ett projekt? - Manuell eller automatisering
- Vad är Automation Testing (Ultimate Guide to Start Test Automation)
- QTP Frameworks - Test Automation Frameworks - Keyword Driven and Linear Framework Exempel - QTP Tutorial # 17
- Topp 10 Testautomatiseringsstrategier och bästa praxis