Automation Testing Tutorial: Vad är Automated Testing?

Innehållsförteckning:

Anonim

Vad är automatiseringstestning?

Automationstestning eller testautomatisering är en programvarutestningsteknik som utförs med hjälp av speciella automatiserade testprogramvaruverktyg för att utföra en testfallssvit. Tvärtom utförs manuell testning av en människa som sitter framför en dator som noggrant utför teststegen.

Programvaran för automatiseringstestning kan också mata in testdata i System Under Test, jämföra förväntade och faktiska resultat och generera detaljerade testrapporter. Software Test Automation kräver betydande investeringar av pengar och resurser.

Efterföljande utvecklingscykler kräver körning av samma testsvit upprepade gånger. Med hjälp av ett testautomationsverktyg är det möjligt att spela in den här testsviten och spela upp den igen efter behov. När testpaketet är automatiserat krävs inget mänskligt ingripande. Detta förbättrade avkastningen på testautomatisering. Målet med Automation är att minska antalet testfall som ska köras manuellt och inte att eliminera manuell testning helt och hållet.

Klicka här om videon inte är tillgänglig

I den här automatiska programvarutestningshandledningen lär du dig grunderna för testautomation

  • Vad är automatiseringstestning?
  • Varför automatiserad testning?
  • Vilka testfall att automatisera?
  • Automatiserad testprocess
  • Testa verktygsval
  • Definiera omfattningen av automatisering
  • Planering, design och utveckling
  • Testutförande
  • Framework for Automation
  • Bästa praxis för automatiseringsverktyg
  • Fördelar med Automation Testing
  • Typer av automatiserad testning
  • Hur väljer jag ett automatiseringsverktyg?
  • Verktyg för automatiseringstestning

Varför testa automatisering?

Varför testa automatisering?

Testautomation är det bästa sättet att öka effektiviteten, testtäckningen och körhastigheten vid programvarutestning. Automatiserad programvarutestning är viktig på grund av följande skäl:

  • Manuell testning av alla arbetsflöden, alla fält, alla negativa scenarier är tidskrävande
  • Det är svårt att testa flerspråkiga webbplatser manuellt
  • Testautomatisering vid programvarutestning kräver inte mänsklig intervention. Du kan köra automatiskt test utan uppsikt (över natten)
  • Testautomation ökar hastigheten för testkörningen
  • Automation hjälper till att öka testtäckningen
  • Manuell testning kan bli tråkig och därmed felbenägen.

Vilka testfall att automatisera?

Testfall som ska automatiseras kan väljas med hjälp av följande kriterium för att öka automatiseringsavkastningen

  • Hög risk - Affärskritiska testfall
  • Testfall som körs upprepade gånger
  • Testa fall som är mycket tråkiga eller svåra att utföra manuellt
  • Testfall som är tidskrävande

Följande kategori testfall är inte lämpliga för automatisering:

  • Testa fall som är nydesignade och inte körs manuellt minst en gång
  • Testfall där kraven ofta ändras
  • Testfall som utförs på ad hoc-basis.

Automatiserad testprocess:

Följande steg följs i en automatiseringsprocess

Steg 1) Testa val av verktyg

Steg 2) Definiera omfattningen av automatisering

Steg 3) Planering, design och utveckling

Steg 4) Testkörning

Steg 5) Underhåll

Testa automatiseringsprocessen

Testa verktygsval

Testverktygs val beror till stor del på den teknik applikationen under test bygger på. QTP stöder till exempel inte Informatica. Så QTP kan inte användas för att testa Informatica-applikationer. Det är en bra idé att utföra ett bevis på verktyget på AUT.

Definiera omfattningen av automatisering

Omfattningen av automatisering är det område i din ansökan under test som kommer att automatiseras. Följande punkter hjälper till att bestämma omfattningen:

  • De funktioner som är viktiga för verksamheten
  • Scenarier som har en stor mängd data
  • Vanliga funktioner över applikationer
  • Teknisk genomförbarhet
  • I vilken utsträckning affärskomponenter återanvänds
  • Komplexiteten av testfall
  • Möjlighet att använda samma testfall för testning över webbläsare

Planering, design och utveckling

Under denna fas skapar du en automatiseringsstrategi och plan som innehåller följande detaljer-

  • Automationsverktyg valda
  • Ramkonstruktion och dess funktioner
  • Inom ramen och out-of-scope artiklar för automatisering
  • Förberedelse av testbädd för automatisering
  • Schema och tidslinje för skript och körning
  • Leveranser av Automation Testing

Testutförande

Automationsskript körs under denna fas. Skripten behöver ingångstestdata innan de är inställda på att köras. När de har utförts ger de detaljerade testrapporter.

Körning kan utföras med hjälp av automatiseringsverktyget direkt eller genom testhanteringsverktyget som kommer att åberopa automatiseringsverktyget.

Exempel: Kvalitetscenter är testhanteringsverktyget som i sin tur anropar QTP för körning av automatiseringsskript. Skript kan köras i en enda maskin eller i en grupp maskiner. Körningen kan göras på natten för att spara tid.

Testa automatiseringsunderhållsmetod

Test Automation Maintenance Approach är en automatiseringsprovning som genomförs för att testa om de nya funktionerna som läggs till i programvaran fungerar bra eller inte. Underhåll i automatiseringstestning utförs när nya automatiseringsskript läggs till och behöver granskas och underhållas för att förbättra effektiviteten hos automatiseringsskript för varje successiv släppcykel.

Framework for Automation

En ram är uppsättning av riktlinjer för automatisering som hjälper till

  • Att bibehålla enhetligheten i testningen
  • Förbättrar teststruktureringen
  • Minsta användning av kod
  • Mindre underhåll av koden
  • Förbättra återanvändbarheten
  • Icke-tekniska testare kan vara inblandade i koden
  • Träningsperioden för att använda verktyget kan minskas
  • Involverar data där det är lämpligt

Det finns fyra typer av ramar som används vid automatisering av programvarutestning:

  1. Datadriven automatiseringsramverk
  2. Keyword Driven Automation Framework
  3. Modular Automation Framework
  4. Hybrid Automation Framework

Bästa praxis för automatiseringsverktyg

Följ följande för att få maximal ROI för automatisering

  • Omfattningen av automatisering måste bestämmas i detalj innan projektet startar. Detta sätter förväntningarna från Automation rätt.
  • Välj rätt automatiseringsverktyg: Ett verktyg får inte väljas baserat på dess popularitet, men det passar automatiseringskraven.
  • Välj en lämplig ram
  • Skriptstandarder - Standarder måste följas när man skriver manus för automatisering. Några av dem är-
    • Skapa enhetliga skript, kommentarer och fördjupning av koden
    • Lämplig undantagshantering - Hur fel hanteras vid systemfel eller oväntat beteende hos applikationen.
    • Användardefinierade meddelanden ska kodas eller standardiseras för felloggning så att testare kan förstå.
  • Mätvärden - Automationens framgång kan inte bestämmas genom att manuella manuella ansträngningar jämförs med automatiseringsansträngningarna utan också att fånga följande mått.
    • Procent av brister som hittats
    • Tiden som krävs för automatiseringstestning för varje släppcykel
    • Minimal tid tas för att släppas
    • Kundnöjdhetsindex
    • Produktivitetsförbättring

Ovanstående riktlinjer kan i hög grad hjälpa till att göra din automatisering framgångsrik.

Fördelar med Automation Testing

Fördelar med Automation Testing

Följande är fördelarna med Test Automation:

  • 70% snabbare än manuell testning
  • Bredare testtäckning av applikationsfunktioner
  • Pålitlig i resultat
  • Säkerställ konsekvens
  • Sparar tid och kostnad
  • Förbättrar noggrannheten
  • Mänsklig ingripande krävs inte vid utförande
  • Ökar effektiviteten
  • Bättre hastighet vid genomförande av tester
  • Återanvändbara testskript
  • Testa ofta och noggrant
  • Mer körcykel kan uppnås genom automatisering
  • Tidig tid till marknaden

Typer av automatiserad testning

  • Rökprovning
  • Enhetstestning
  • Integrationstestning
  • Funktionell testning
  • Nyckelordstestning
  • Regressionstestning
  • Datadriven testning
  • Black Box Testing

Hur väljer jag ett automatiseringsverktyg?

Att välja rätt verktyg kan vara en svår uppgift. Följande kriterium hjälper dig att välja det bästa verktyget för dina krav-

  • Miljöstöd
  • Enkel användning
  • Test av databas
  • Objektidentifiering
  • Bildtestning
  • Felåterställningstestning
  • Objektmappning
  • Skriptspråk används
  • Stöd för olika typer av test - inklusive funktionell, testhantering, mobil, etc ...
  • Stöd för flera testramar
  • Lätt att felsöka automatiseringsprogramvaruskripten
  • Förmåga att känna igen föremål i vilken miljö som helst
  • Omfattande testrapporter och resultat
  • Minimera utbildningskostnaden för utvalda verktyg

Verktygsval är en av de största utmaningarna som man måste ta itu med innan man går för automatisering. Identifiera först kraven, utforska olika verktyg och dess möjligheter, ställ förväntningarna från verktyget och gå efter ett bevis på konceptet.

Verktyg för automatiseringstestning

Det finns massor av funktionella och regressionstestverktyg tillgängliga på marknaden. Här är de bästa testautomationsverktygen certifierade av våra experter

  1. Ranorex Studio

Ranorex Studio är ett allt-i-ett-verktyg för att automatisera funktionella UI-tester, regressionstester, datadrivna tester och mycket mer. Ranorex Studio innehåller ett lättanvänt klick-och-gå-gränssnitt för att automatisera tester för webb-, skrivbords- och mobilapplikationer.

Funktioner:

  • Funktionellt användargränssnitt och helhetstestning på skrivbord, webb och mobil
  • Testning av webbläsare
  • SAP, ERP, Delphi och äldre applikationer.
  • iOS och Android
  • Kör tester lokalt eller på distans, parallellt eller distribuera på ett Selen Grid
  • Robust rapportering

Läs mer


  1. Testim

Testim är den snabbaste vägen till fjädrande end-to-end-tester - kodlösa, kodade eller båda. Testim låter dig skapa otroligt stabila kodlösa tester som utnyttjar vår AI, men också flexibiliteten för att exportera tester som kod. Kunder som Microsoft, NetApp, Wix och JFrog kör miljontals tester på Testim varje månad

Funktioner

  • Du kan utnyttja Testims moderna JavaScript API och din IDE för att felsöka, anpassa eller omforma tester.
  • Lagra test i ditt versionskontrollsystem för att hålla dem synkroniserade med filialer och köra tester på varje engagemang.
  • Integration med populära verktyg

Läs mer


  1. Selen

Det är ett programvarutestverktyg som används för regressionstestning. Det är ett testverktyg med öppen källkod som tillhandahåller uppspelning och inspelning för regressionstestning. Selen IDE stöder endast webbläsaren Mozilla Firefox.

  • Det ger möjlighet att exportera inspelat skript till andra språk som Java, Ruby, RSpec, Python, C #, etc
  • Den kan användas med ramar som JUnit och TestNG
  • Det kan utföra flera tester åt gången
  • Autoslutför för vanliga Selen-kommandon
  • Genomgångstester
  • Identifierar elementet med hjälp av id, namn, X-sökväg etc.
  • Lagra tester som Ruby Script, HTML och vilket annat format som helst
  • Det ger ett alternativ att hävda titeln för varje sida
  • Den stöder filen selenium user-extensions.js
  • Det gör det möjligt att infoga kommentarer mitt i skriptet för bättre förståelse och felsökning

Ladda ner Selenium


  1. QTP (MicroFocus UFT)

QTP används i stor utsträckning för funktionstestning och regressionstestning, den adresserar alla större programvaruapplikationer och miljöer. För att förenkla skapande och underhåll av test använder konceptet nyckelordsdriven testning. Det gör att testaren kan bygga testfall direkt från applikationen.

  • Det är lättare att använda för en icke-teknisk person att anpassa sig till och skapa arbetstestfall
  • Det fixar defekter snabbare genom att noggrant dokumentera och replikera defekter för utvecklare
  • Dölj testskapande och testdokumentation på en enda webbplats
  • Parameterisering är lätt än WinRunner
  • QTP stöder .NET-utvecklingsmiljö
  • Det har bättre objektidentifieringsmekanism
  • Det kan förbättra befintliga QTP-skript utan att "Application Under Test" är tillgängligt med hjälp av den aktiva skärmen

Ladda ner QTP


  1. Rationell funktionell testare

Det är ett objektorienterat automatiserat funktionstestverktyg som kan utföra automatiserad funktionell, regression, datadriven testning och GUI-testning. De viktigaste funktionerna i detta verktyg är

  • Den stöder ett brett utbud av protokoll och applikationer som Java, HTML, NET, Windows, SAP, Visual Basic, etc.
  • Det kan spela in och spela upp åtgärder på begäran
  • Det integreras bra med källkontrollhanteringsverktyg som Rational Clear Case och Rational Team Concert-integration
  • Det gör det möjligt för utvecklare att skapa nyckelordsassocierat skript så att det kan återanvändas
  • Eclipse Java Developer Toolkit-redigeraren underlättar för teamet att koda testskript i Java med Eclipse
  • Den stöder anpassade kontroller via proxy SDK (Java / .Net)
  • Den stöder versionskontroll för att möjliggöra parallell utveckling av testskript och samtidig användning av geografiskt distribuerat team

Ladda ner Rational Functional Tester


  1. Watir

Det är en öppen källkodsprogramvara för regressionstestning. Det gör att du kan skriva tester som är lätta att läsa och underhålla. Watir stöder endast Internet Explorer på Windows medan Watir webdriver stöder Chrome, Firefox, IE, Opera, etc.

  • Den stöder flera webbläsare på olika plattformar
  • I stället för att använda ett eget leverantörsskript använder det ett fullt utrustat modernt skriptspråk Ruby
  • Den stöder din webbapp oavsett vad den är utvecklad i

Ladda ner Watir


  1. SilkTest

Silk Test är utformat för att göra funktionstest och regressionstest. För e-affärsapplikationer är silketest den ledande funktionella testprodukten. Det är en produkt av Segland Software-övertagandet av Borland 2006. Det är ett objektorienterat språk precis som C ++. Den använder begreppet objekt, klasser och arv. Dess huvudsakliga funktion inkluderar

  • Den består av alla källskriptfiler
  • Det konverterar skriptkommandona till GUI-kommandon. På samma maskin kan kommandon köras på en fjärr- eller värdmaskin
  • För att identifiera musens rörelse tillsammans med tangenttryckningar kan Silktest köras. Det kan använda både uppspelnings- och inspelningsmetod eller beskrivande programmeringsmetoder för att få dialogerna
  • Den identifierar alla kontroller och fönster i applikationen som testas som objekt och bestämmer alla attribut och egenskaper för varje fönster

Ladda ner SilkTest

Sammanfattning

Testautomation är en programvarutestningsteknik som utförs med hjälp av speciella automatiserade testprogramvaruverktyg för att utföra en testfallssvit.

Testautomation är det bästa sättet att öka effektiviteten, testtäckningen och körhastigheten vid programvarutestning.

Testverktygs val beror till stor del på den teknik applikationen under test bygger på.

Test Automation Maintenance Approach är en automatiseringsprovning som genomförs för att testa om de nya funktionerna som läggs till i programvaran fungerar bra eller inte.

Rätt val av automatiseringsverktyg, testprocess och team är viktiga aktörer för att automatisering ska lyckas. Manuella och automatiseringsmetoder går hand i hand för framgångsrik testning.