Automation Testing Tutorial: Kom godt i gang

Indholdsfortegnelse

Hvad er Automation Testing?

som navnet antyder. automatiseringstest tager programtestaktiviteter og udfører dem via et automatiseringsværktøjssæt eller en ramme. I enkle ord er det en type test, hvor et værktøj automatisk udfører et sæt opgaver i et defineret mønster.

det fjerner trykket fra manuelle testere og giver dem mulighed for at fokusere på opgaver med højere værdi-sonderende tests, gennemgang af testresultater osv. I det væsentlige overtager en maskine og implementerer, verdslige, gentagne, tidsforvirrende opgaver såsom regressionstest. Automatiseringstest er afgørende for at opnå større testdækning inden for kortere tidslinjer samt større nøjagtighed af resultater.

Hvorfor er Automatiseringstestning kritisk i en programs livscyklus?

Forestil dig dette.

på din første dag som kvalitetssikring skal du teste et program, der indeholder omkring 100 felter, der kræver input. Når du udfører sonderende test, skal du indsætte input manuelt i hvert felt. Dette tager cirka 10 minutter at gøre, hvis du er virkelig hurtig.

du trykker på Send. Der vises en fejlmeddelelse. Det ligner en uhåndteret undtagelse. Du rapporterer fejlen og føler dig rigtig godt om et godt udført arbejde. Du gentager processen, finder et par flere fejl og har en generelt produktiv første dag.

den næste dag løser udvikleren problemerne, og du skal teste den nye version af programmet og gentage de samme trin som dagen før. Fejl rettet. Arbejdet er godt udført. En god brugeroplevelse sikret takket være din indsats.

på den tredje dag har udviklere udgivet en nyere version med nyere funktioner. Men for at sikre, at de nye funktioner ikke har brudt de ældre arbejdsfunktioner, skal du gentage processen igen. Ingen problemer fundet.

om måneden frigiver udviklere løbende nyere versioner, hvilket betyder, at du skal fortsætte med at teste programmet og gentage den samme proces (indsætte feltinput) hver gang. Du keder dig og er træt. Din nøjagtighed begynder at vakle, hvilket resulterer i, at du til sidst ender med at gå glip af en fejl – muligvis en ret åbenlyst.

tro det eller ej, dette er et ret almindeligt scenario for de fleste kvalitetssikringssystemer. Det er ikke muligt at gøre det samme igen og igen og være perfekt til det hver gang. Det er her, hvor automatiseringstest kommer ind.

kan et program teste et andet program?

Ja. Det er hele pointen med automatiseringstest. Når det kommer til regressionstest, er investering af manuel indsats forgæves og spildt. I stedet for at forvente, at mennesker gentager de samme trin med samme hastighed, nøjagtighed og energi, er det langt mere logisk at programmere en maskine til at gøre det samme.

hvilke tests skal automatiseres?

før vi opretter en testautomatiseringsstrategi, lad os se på, hvilke tests der er mest mulige til automatisering:

  • regressionstest: Regressionssuiter er stadigt stigende og kræver, at de samme variabler udfyldes adskillige gange for at sikre, at nye funktioner ikke manipulerer med ældre funktioner. Dette kan nemt automatiseres.
  • test af komplekse funktionaliteter: Automatiser alle tests, der kræver komplekse beregninger, noget udsat for menneskelige fejl.
  • Røgprøvning: Kør automatiserede suiter for at kontrollere kvaliteten af større funktionaliteter. Dette sparer tid ved at tilbyde en hurtig analyse af, om en build kræver mere dybdegående test.
  • datadrevet test: Automatiser test for at validere funktionaliteter, der skal testes gentagne gange med adskillige datasæt.
  • Ydelsestest: Automatiser test, der overvåger programmelets ydeevne under forskellige omstændigheder. At gøre dette manuelt ville være ekstremt omhyggeligt og tidskrævende.
  • funktionel test: Hver gang en udvikler indsender en PR, skal funktionel test udføres hurtigt og give øjeblikkelig feedback. Dette er umuligt at opnå uden automatisering, især når organisationer skalerer op.

Kom godt i gang med Automatiseringstest

når du skifter fra Manuel til automatiseringstest, skal du huske følgende punkter:

  • må ikke sigte mod 100% testautomatisering. Ikke alle tests kan automatiseres. Selv blandt test, der kan automatiseres, skal du ikke indstille et indledende mål for komplet automatisering.
  • sæt et realistisk mål. Start for eksempel med at flytte et par tests til automatisering. Skriv mindre testcases, der let kan genbruges i fremtidige test af det samme program. Kort test tilfælde med tilsvarende funktioner til at give bedre test dækning. Label test cases, så teams kan have klarhed om, hvad de skal automatisere samt rapportere mere effektivt.
  • Udforsk nye områder af applikationen med automatisering. Når du vælger automatiseringsstrategier, skal du sikre dig, at forretningskrav tages lige så alvorligt som tekniske overvejelser.
  • ved hvad man ikke skal automatisere. Dette hjælper med at bestemme omfanget af automatisering tidligt i ideationsprocessen. Følgende tests overlades bedst til manuel dækning:
  1. test af brugeroplevelse: værktøjer kan ikke replikere nogen brugerrejse i sin helhed. Det er umuligt for en algoritme at forudsige, hvordan individuelle brugere vil interagere med en applikation. For faktisk at bedømme kvaliteten af brugeroplevelsen skal du holde dig til menneskelige testere. Prøv at bruge manuelle interaktive testværktøjer som f.eks.
  2. Tilgængelighedstest: Når man tester, hvor tilgængelig en applikation er, er der ingen erstatning for menneskelig brug. Et værktøj kan ikke måle tilgængelighed, fordi folk ofte har forskellige meninger om, hvad der tæller som tilgængeligt. Det er ikke muligt for et værktøj at genkende, om programmelarbejdsgang giver nem adgang for faktiske mennesker.

  • Vælg de rigtige værktøjerautomationstest er helt afhængig af værktøjer. Her er hvad man skal overveje, når man vælger det rigtige værktøj:
  1. programmets Art: testes applikationen internetbaseret eller mobilbaseret?
    for at teste førstnævnte skal du bruge et værktøj som selen til at automatisere dine test. For sidstnævnte er Appium et af de bedst mulige værktøjer til automatisering.
  2. Programmøroplevelse: Vælg Rammer, sprog og værktøjer, der matcher testernes komfort og oplevelse. Nogle af de mest populære sprog, der bruges til automatiseringstest, inkluderer Java, JavaScript, Ruby, C# osv.
  3. Open Source eller ej: afhængigt af budgetbegrænsninger kan man vælge at bruge open source-værktøjer som selen eller Appium til automatiseringsformål. Det er dog vigtigt at huske, at alle open source-værktøjer ikke er ringere end deres kommercielt tilgængelige kolleger. For eksempel er Selendriver et open source-værktøj, der er mest begunstiget af automatiserede testere over hele verden.
  • Vælg det rigtige testgitter

testgitteret henviser til den infrastruktur, som alle automatiserede tests kører på. Det består af en række enheder, bro.Serere og operativsystemer (flere versioner), som programmer skal testes på. Det er altid bedst at automatisere test på rigtige enheder og bro.sere. Dette vil sikre, at programmet testes under reelle brugerforhold.

derudover skal det ideelle testgitter muliggøre parallel test. Dette betyder, at testere skal kunne køre flere tests på flere enheder samtidigt. Dette reducerer testtiden, fremskynder resultaterne og giver resultater inden for kortere frister.

noget andet at beslutte er, om testgitteret skal hostes på stedet eller på skyen. Husk, at lokal infrastruktur næsten altid er dyr at oprette og vedligeholde. Det kræver at holde styr på nye enheder, bro.Serere og operativsystemer, opdatere og vedligeholde dem i overensstemmelse hermed. Dette er en udfordring, da flere versioner af hver frigives hver måned.

omvendt er test på et skybaseret net lettere, da opdatering og vedligeholdelse vil blive taget hånd om af den organisation, der tilbyder nettet. For eksempel tilbyder vi et cloud selen-net, der er forbundet til 2000+ rigtige enheder og bro.sere til test. Brugere skal blot tilmelde sig og begynde at teste på et robust Selengitter, der løbende opdateres for at få de bedst mulige resultater.

Real device cloud giver 2000+ rigtige bro.Serere og enheder til øjeblikkelig, on-demand test. Skyen giver også integrationer med populære CI / CD-værktøjer som Jira, Jenkins, TeamCity, Travis CI og meget mere. Derudover er der indbyggede fejlfindingsværktøjer, der lader testere identificere og løse fejl med det samme. letter også Cypresstest på 30 + bro. serverversioner med øjeblikkelig, problemfri parallelisering.

prøv Automatiseringstest gratis

eksempel på testautomatisering

når du manuelt tester programmer, bruger testeren en holder og et tastatur til at interagere med det. Automatiseringsskripter og værktøjer replikerer denne interaktion trin for trin.

i dette eksempel testes en lommeregner for at se, om den kan tilføje to tal og vise resultatet. Manuelt ville trinene til at gøre det være følgende:

Trin 1: Startberegner
Trin 2: Tryk på 2
Trin 3: Tryk på +
Trin 4: Tryk på 3
Trin 5: Tryk på =
Trin 6: skærmen viser 5
Trin 7: Luk Lommeregner

et automatiseringsværktøj kan udføre de samme trin med følgende script:

//the example is written in MS Coded UI using c# language.public void TestCalculator(){//launch the applicationvar app = ApplicationUnderTest.Launch("C:\Windows\System32\calc.exe");//do all the operationsMouse.Click(button2);Mouse.Click(buttonAdd);Mouse.Click(button3);Mouse.Click(buttonEqual); //evaluate the resultsAssert.AreEqual("5", txtResult.DisplayText,"Calculator is not showing 5");//close the applicationapp.Close();}

når du udfører ovenstående script, vises det nøjagtige samme resultat (5). I stedet for at skulle gennemgå de manuelle trin, skal du blot skrive scriptet og lade værktøjet tage sig af resten.

Sådan flyttes fra Manuel til Automatiseringstest

til at begynde med: stil to spørgsmål.

  1. Hvad skal automatiseres?
  2. hvordan automatiseres?

Hvad Skal Automatiseres?

  • Automatiser test, der er nødvendige for en hyppig frigivelsescyklus. Det kan omfatte røgtest, regressionstest og lignende. Grundlæggende automatiserer test, der fremskynder hele testcyklussen. Husk, at lavere manuel indgriben svarer til hurtigere resultater.
  • Automatiser test baseret på teknisk og forretningsmæssig prioritet. Tænk sådan: ville automatiseringen af denne test hjælpe virksomheden? Ville automatisere denne test hjælpe med at forenkle tekniske kompleksiteter? Hvis svaret er ja til begge spørgsmål, automatisere.
  • Automatiser baseret på brugervenlighed. Kompatibilitetstest fungerer simpelthen bedre, når de udføres manuelt. Værktøjsafhængighed kan også begrænse automatiseringspotentialet for et bestemt testteam eller organisation.

Læs Mere: 10 testautomatisering bedste praksis at følge

sådan automatiseres?

til at begynde med skal du huske, at ikke alle test kan automatiseres. Ved at overholde de tre strategier i det foregående afsnit bliver det lettere at starte automatiseret test på en praktisk måde.

  • start lille. 100% automatisering er ikke målet, og heller ikke muligt. Skriv mindre testsager, fordi de er lettere at vedligeholde og genbruge. Flyt et lille antal tests til en automatiseringsplatform, Kør testene, analyser resultaterne og afgøre, om processen viste sig at være gavnlig for programmeludviklingsprocessen.
  • hvis der kommer betydelige fordele ved operationen, skal du flytte flere tests til automatisering. Begynd at flytte test ikke kun i volumen, men øg også typen af test, der automatiseres. Husk at dette stadig er et eksperimentelt Stadium. Det er muligt, at visse tests vil vise sig at være ineffektive i automatisering og skal flyttes tilbage til manuel test.
  • kort test cases med hver metode eller funktion for at opnå bedre test dækning. Mærk dine testcases for lettere identifikation, så teamet hurtigt kan vide, hvilke tests der skal automatiseres. Dette hjælper også med at implementere bedre rapportering.
  • når du starter automatiseringstest, skal du starte med at udforske nye områder af applikationen manuelt. Opret derefter en risikoplan, der beskriver, hvad der skal automatiseres, baseret på forretningsmæssige og tekniske prioriteter.
  • brug analytics til at bestemme slutbrugerens præferencer. Opret en liste over bro.sere og enheder, som brugerne er mest tilbøjelige til at få adgang til programmet med. Dette hjælper automatiseringstest med at dække de rigtige grænseflader og optimerer programmets ydeevne på de rigtige brugerveje.

prøv automatiseret test på Real Device Cloud

Test automatisering vedligeholdelse

når de er udformet, skal automatiseringstest suiter opretholdes. Efterhånden som programmet udvikler sig, og kodebasen udvides, skal automatiseringsskripter ændres og opdateres for at inkorporere nye funktioner og funktioner. Selv små ændringer i brugergrænsefladen kan forstyrre test og få dem til at mislykkes. Ved design af testsager skal automatiseringstestere tage højde for vedligeholdelsesindsats og omkostninger.

testautomatiseringsvedligeholdelsesmetoden fungerer ud fra to hovedperspektiver:

  • testfejl: når debugging mislykkede tests, ser efter mulige vedligeholdelsesproblemer. Var testskriptet ikke tilstrækkeligt opdateret? Forstyrrede en ændring i programkode testscriptet? Dette er en nem måde at identificere, hvilke områder der kræver vedligeholdelsesindsats.
  • ændring i afhængigheder eller værktøjer: Har teamet eller organisationen ændret API ‘ er, rapporteringsværktøjer, databaser osv.? I så fald skal test muligvis ændres eller opdateres for at tilpasse sig nye værktøjssæt. For at opnå dette skal udviklere og testere naturligvis trænes i den nye infrastruktur, så de kan følge med vedligeholdelsesindsatsen i fremtiden.

Hvad er nøgleelementerne i en effektiv testautomatiseringsstrategi?

Automatiseringstest er en integreret del af ethvert testøkosystem. Uden at flytte til en automatiseringsopsætning bliver omfattende test vanskelig, ligesom mødet med stadigt forkortede frister. Derfor er det vigtigt at starte automatiseringstestprotokoller så tidligt som muligt på en måde, der afbalancerer og supplerer manuel test.

prøv de trin, der er beskrevet ovenfor, og eksperimenter nok til at finde ud af, hvilke tilgange der giver optimale resultater. Vær ikke bekymret for at mislykkes et par gange, før du finder det søde sted, der tillader effektiv automatisering uden at gå på kompromis med menneskelig Validering.

Write a Comment

Din e-mailadresse vil ikke blive publiceret.