QA-dilemma: Manuel test vs. automatiseret test

Der har længe været debatter blandt specialister i kvalitetssikring (QA) om fordele og ulemper ved manuel og automatiseret testning, forskellen mellem disse to tilgange, og grunden til det er ganske logisk: softwaretestning er en vigtig fase i udviklingen af et IT-produkt. Hos Innowise forstår vi fuldt ud, hvorfor test virkelig betyder noget, og det er derfor, vi leverer on-demand QA-tjenester til test af web- og mobilapps. Vi håber, at du efter at have læst denne artikel vil være i stand til at beslutte, hvad der er bedst for dig i konfrontationen "Manuel vs. automatisk testning". Lad os først og fremmest tale om disse to begreber.

Hvad er forskellen mellem automatisering og manuel testning?

Under manuel testning (MT) udfører en QA-ingeniør eller en tester hver eneste testcase i hånden, og der bruges ingen scripts. I automatiseret testning (AT) er alting modsat, og en tester bruger scripts, værktøjer og software til at køre alle testcases. Nu har vi forstået begge begreber, så lad os dykke ned i detaljerne.

Automatiseret testning

Testdrevet udvikling (TDD) kan ikke eksistere uden automatiske tests. I TDD skriver man først Unit Tests, og så kommer den rigtige kode. Når udvikleren er færdig med koden, er det tid til at udføre enhedstests (normalt udføres enhedstests af udviklerne). Så bliver koden enten refaktoriseret, eller der tilføjes andre tests, som køres, og her afhænger sammenhængen af resultatet.

Her er en liste over testtyper, hvor automatisering er bedre end den manuelle tilgang:

Regressionstestning
Automatiserede tests er perfekte til regressionstests, fordi udviklerne ændrer koden fra tid til anden, og regressionerne kan udføres med det samme.
Funktionel afprøvning
Den effektive kapacitet af en apps funktionelle specifikationer identificeres under softwaretest. Den tager generelt hensyn til overholdelse, kompatibilitet, nøjagtighed, sikkerhed og relevans.
Test af grafisk brugergrænseflade (GUI)
Det omfatter UI-test for at se, om GUI'en opfylder alle de nødvendige krav.
Gentagen udførelse
Når en opgave skal udføres gentagne gange, er denne type test et godt valg.
Test af ydeevne
Ganske som i det foregående tilfælde: Når et stort antal brugere skal simuleres på samme tid, er automatiseret test en mulighed.

Hvornår skal jeg gå i gang med automatiseret test?

1. Når de opgaver, du har, tager meget tid.

Når du er nået til et stadie, hvor alle de nødvendige ændringer og modifikationer allerede har fundet sted, skal du kontrollere, at de alle fungerer godt. Selvfølgelig vil du ikke gennemgå hele appens funktionalitet igen og igen, da det ikke kun er meget bedre, men også reducerer indsatsen bare ved at udføre regressionstest. På den måde finder du de seneste fejl, og du kan spare tid og kræfter.

2. Når du skal håndtere gentagne opgaver.

Der er tilfælde, hvor du bliver ved med at tilføje funktioner, som er meget ens eller endda identiske, eller hvor du løbende udfører identiske operationer på dit projekt. Overlad alt besværet til automatiseret testning, og nyd godt af den sparede tid.

3. Når der ikke må ske menneskelige fejl.

Alle automatiserede tests udføres ved hjælp af særlige værktøjer og scripts. Derfor er risikoen for, at en fejl bliver overset, minimal. Derfor sparer det tid, og det er noget, man kan stole på.

4. Når der forventes komplekse GUI-tests.

AT identificerer ikke kun, men registrerer også de måder, hvorpå platforme fungerer på en anden måde. Test af grafiske brugergrænseflader passer også til de tilfælde, hvor du har brug for at søge efter regressionsfejl.

5. Når belastning og ydeevne skal testes.

Helt ærligt er der ingen måde at teste belastningen og ydeevnen på manuelt. Under AT simuleres tusindvis af samtidige brugere.

Husk følgende: Når du er sikker på, at ingen funktionalitet skal ændres meget i løbet af projektudviklingen, så er automatiseret test et godt valg. Men hvis du forventer, at funktionaliteten vil ændre sig mange gange, er det nemmere at teste manuelt.

Manuel testning

Nu tænker du sikkert, hvorfor MT findes. Du skal ikke undervurdere det, for faktisk skal MT alligevel udføres, før du går videre til AT. Det er rigtigt, at det kræver en stor indsats, men der er ingen anden måde at sikre, at automatiseret testning slet ikke er umulig.Vi har udarbejdet en liste over tests, der er umulige eller svære at automatisere:
Test af brugervenlighed

A QA Engineer analyserer, hvor brugervenlig, bekvem og praktisk softwaren eller et produkt er for slutbrugeren. I brugervenlighedstest er en undersøgelse foretaget af et menneske den vigtigste komponent, så det er derfor, denne type test skal udføres manuelt.

Udforskende testning
I dette tilfælde er analytiske og logiske færdigheder, viden, kreativitet, erfaring og intuition hos en tester et must. Normalt omfatter den slags test dårlig specifikationsdokumentation, og du har ikke råd til at bruge meget tid på at køre dem. Dette scenarie kræver menneskelige færdigheder og viden til at udføre testene.
Ad hoc-testning
Der er ikke nogen "rigtig" eller "korrekt" måde at teste på. En tester udarbejder ikke nogen form for plan, og systemets funktionalitet testes tilfældigt, så udfordringen i dette tilfælde er at være så opfindsom og kreativ som muligt og gøre sit bedste for at "nedbryde" systemet for at finde fejl.

Forkerte automatiseringsvalg kan resultere i overforbrug eller ringere produktkvalitet.

Innowise har omfattende viden om manuel og automatiseret testning og deres anvendelse for at få dit produkt til at fungere efter hensigten.

Hvornår er manuel test et bedre valg?

1. Når projektet er kortvarigt.

På den ene side er pointen med AT ikke at bruge mange kræfter og meget tid, på den anden side er det både energi- og tidskrævende at oprette automatiserede tests og understøtte dem. Hvis du skal lave en lille hjemmeside til markedsføring, er der ikke meget behov for AT.

2. Når du har brug for UI Acceptance-test.

Det er det almindelige tilfælde, når MT er den foretrukne, fordi brugergrænsefladen og dens visuelle elementer skal testes. Årsagen er ganske enkel: Automatiserede tests er ikke i stand til at identificere bevægelser, billedfarver, fremhævelser, skriftstørrelser og links. Forestil dig, at du har lavet en app, og der er en fejl: Et link er meget, meget lille, så brugeren ikke kan se det. Et menneske vil opdage sådan en fejl inden for få sekunder, mens en automatiseret test ikke engang vil se, at der er et problem her.

3. Når dit projekt er i den indledende udviklingsfase.

Netop i denne fase kan manuelle testere hjælpe med at finde flaskehalse i projektet, og det fører til en reduktion af den tid og indsats, der er nødvendig for at rette fejl senere. Nogle mener, at automatiseret testning er for dyrt og ressourcekrævende i denne flygtige fase af produktudviklingen. Andre siger, at automatiseret testning bør være til stede på alle udviklingsstadier.

4. Når det ikke er muligt at automatisere testen.

Der er tilfælde, hvor automatisering er umulig. Normalt er det en slags test, der vedrører hardware. Det er næppe muligt at lave scripts til at teste touchpads, skærme og sensorer. Et andet punkt er, at der er data, som man kun kan teste manuelt. Det er selvfølgelig muligt at udføre en automatiseret test for at se, at en printer rent faktisk udskriver, men den manuelle tilgang vil sandsynligvis være bedre, hvis du bekymrer dig om kvaliteten af et udskrevet billede.

Sammenfatning

Efter alle diskussionerne er hovedpointen, at der ikke er noget svar på spørgsmålet om, hvorvidt testautomatisering er bedre end manuel test eller omvendt. Valget skal træffes ud fra det projekt, du har, og den bedste tilgang er at kombinere både manuel og automatiseret testning, som vi gør i Innowise.

OFTE STILLEDE SPØRGSMÅL

Manuel test involverer menneskelige testere, der udfører test trin for trin uden brug af automatiseringsværktøjer. På den anden side bruger automatiseret test softwareværktøjer og scripts til at køre test gentagne gange.
Manuel testning foretrækkes til udforskende testning, brugervenlighedstestning og ad hoc-testning, hvor den menneskelige dømmekraft er afgørende. Automatiserede tests er mere effektive til gentagne tests, regressionstests, performance- og belastningstests, hvor der kræves ensartet udførelse og hastighed.
Det er en fordel at bruge manuel test til områder, der kræver menneskelig dømmekraft og forståelse, som f.eks. brugervenlighed, og automatiseret test til dataintensive tests og regressionstests. Denne tilgang udnytter begge metoders styrker og optimerer ressourcer og effektivitet.
Tak for din bedømmelse!
Tak for din kommentar!
forfatter
Andrew Artyukhovsky Leder af kvalitetssikring

Indholdsfortegnelse

Bedøm denne artikel:

4/5

4.9/5 (42 anmeldelser)

    Kontakt os

    Book et opkald eller udfyld formularen nedenfor, så vender vi tilbage til dig, når vi har behandlet din anmodning.

    Send os en talebesked
    Vedhæft dokumenter
    Upload fil

    Du kan vedhæfte 1 fil på op til 2 MB. Gyldige filformater: pdf, jpg, jpeg, png.

    Ved at klikke på Send accepterer du, at Innowise behandler dine personlige data i henhold til vores Politik for beskyttelse af personlige oplysninger for at give dig relevante oplysninger. Ved at indsende dit telefonnummer accepterer du, at vi kan kontakte dig via taleopkald, sms og beskedapps. Opkalds-, besked- og datatakster kan være gældende.

    Du kan også sende os din anmodning
    til contact@innowise.com

    Hvad sker der nu?

    1

    Når vi har modtaget og behandlet din anmodning, vender vi tilbage til dig for at beskrive dine projektbehov og underskriver en NDA for at sikre fortrolighed.

    2

    Når vi har undersøgt dine ønsker, behov og forventninger, udarbejder vores team et projektforslag med forslag med arbejdets omfang, teamstørrelse, tids- og omkostningsoverslag.

    3

    Vi arrangerer et møde med dig for at diskutere tilbuddet og få detaljerne på plads.

    4

    Til sidst underskriver vi en kontrakt og begynder at arbejde på dit projekt med det samme.

    pil