Regressionstest Komplet guide: Alt hvad du behøver at vide



Denne artikel hjælper dig med at få dybdegående viden om regressionstest og forklare, hvorfor det er vigtigt at inkorporere regressionstest under test.

Hver gang der frigives ny software, er behovet for at teste ny funktionalitet indlysende. Det er dog lige så vigtigt at genkøre gamle tests, som applikationen tidligere bestod. På den måde kan vi være sikre på, at den nye software ikke genindfører gamle defekter eller opretter nye i softwaren. Vi kalder denne type test som regressionstest. Gennem denne artikel vil vi undersøge regressionstesti detaljer. Hvis du er ny med softwaretest, skal du også læse .

Lad os se på emner, der er dækket af denne artikel:





Hvad er regressionstest?

'Test af et tidligere testet program efter modifikation for at sikre, at defekter ikke er blevet introduceret eller afdækket i uændrede områder af softwaren, som et resultat af de foretagne ændringer kaldes Regression Testing.'

En regressionstest er en systemomfattende test, hvis hovedformål er at sikre, at en lille ændring i en del af systemet ikke bryder eksisterende funktionalitet andre steder i systemet. Hvis du betragter regression som utilsigtet ændring, er denne type test processen med at jage efter disse ændringer. Enkelt sagt handler det om at sikre, at gamle bugs ikke kommer tilbage for at hjemsøge dig. Lad osse på et fiktivt eksempel, der illustrerer konceptet.



Regression TestingEx - Hvad er Regression Testing - Edureka

Når du tilføjer en ny betalingstype til et shoppingwebsted, skal du køre gamle tests igen for at sikre, at den nye kode ikke har skabt nye mangler eller genindført gamle.Regressionstest er vigtig, fordi det uden det er meget muligt at indføre tilsigtede rettelser i et system, der skaber flere problemer, end de løser.

Fordele ved regressionstest

Gennemførelse af regressionstestgavner virksomheder på en række måder som:



  • Det øger chancen for at opdage fejl forårsaget af ændringer i software og applikation
  • Det kan hjælpe med at fange fejl tidligt og dermed reducere omkostningerne til at løse dem
  • Hjælper med at undersøge uønskede bivirkninger, der muligvis er opstået på grund af et nyt driftsmiljø
  • Sikrer bedre ydelse af software på grund af tidlig identifikation af fejl og fejl
  • Vigtigst er det, at det verificerer, at kodeændringer ikke genindfører gamle fejl

Regressionstest sikrer, at softwaren er rigtig, så den bedste version af produktet frigives på markedet. Men i den virkelige verden er det bare ikke muligt at designe og vedligeholde et næsten uendeligt sæt regressionstest. Så du skal vide, hvornår du skal anvende regressionstest.

Hvornår skal man anvende regressionstest?

Det anbefales at udføre regressionstest på forekomsten af ​​følgende begivenheder:

    • Når nye funktioner tilføjes
    • I tilfælde af ændringer
    • Når der er en fejlrettelse
    • Når der er præstationsproblemer
    • I tilfælde af miljøændringer
    • Når der er en patch fix

Næste del af denne artikel handler om forskellige typer regressionstest.

Hvad er typerne af regressionstest?

Regressionstest udføres gennem flere faser af testning. Det er af denne grund, at der findes flere typer regressionstest. Nogle af dem er som følger:

php forskel mellem ekko og print

Enhedstest: I enhedstest, når der foretages kodningsændringer for en enkelt enhed, kører en tester, som regel den udvikler, der er ansvarlig for koden, alle tidligere beståede enhedstest. I miljøer, er automatiserede enhedstest indbygget i koden, hvilket gør enhedstest meget effektiv i forhold til andre typer af test.

Progressiv test: Denne type test fungerer effektivt, når der foretages ændringer i software / applikationsspecifikationerne såvel som nye er designet.

Selektiv testning: Ved selektiv testning bruger testere en delmængde af de aktuelle testtilfælde til at reducere genprøvningens omkostninger og indsats. En testenhed skal køres igen, hvis og kun hvis nogen af ​​de programenheder, den dækker, er blevet ændret.

Test af alle test igen: Denne type teststrategi involverer testning af alle aspekter af en bestemt applikation samt genbrug af alle testsager, selv når ændringerne ikke er foretaget. Det er tidskrævende og er ikke meget nyttigt, når der foretages en lille ændring eller ændring af applikationen.

Komplet test: Denne test er meget nyttig, når der er foretaget flere ændringer i den eksisterende kode. Udførelse af denne test er meget værdifuld for at identificere uventede fejl. Når denne test er afsluttet, kan det endelige system gøres tilgængeligt for brugeren.

Det er meget vigtigt at vide, hvilken type test der passer til dit krav. Derefter diskuterer vi, hvordan regressionstest implementeres.

Hvordan implementeres regressionstest?

Proceduren til implementering af regressionstest er som den, du anvender til enhver anden testproces. Hver gang softwaren gennemgår en ændring, og en ny udgivelse kommer op, udfører udvikleren disse trin som en del af testprocessen:

  • Først og fremmest udfører han regressionstest på enhedsniveau for at validere kode, som de har ændret sammen med eventuelle nye tests, de har skrevet for at dække ny eller ændret funktionalitet
  • Derefter flettes den ændrede kode og integreres for at skabe en ny build af applikationen under test (AUT)
  • Dernæst udføres røgtest for at sikre, at bygningen er god, før der foretages yderligere test
  • Når først build er erklæret for godt, udføres integrationstest for at verificere interaktionen mellem applikationens enheder med hinanden og med back-end-tjenester såsom databaser
  • Afhængig af størrelsen og omfanget af den frigivne kode er enten en delvis eller en fuld regression planlagt
  • Mangler rapporteres derefter tilbage til udviklingsteamet
  • Yderligere runder med regressionstest udføres, hvis det er nødvendigt

Sådan integreres regressionstest i en typisk softwaretestproces. Billedet nedenfor viser tydeligt, hvordan regressionstest udførte.

Når der foretages nogle ændringer i kildekoden, mislykkes programudførelsen af ​​indlysende grunde. Efter fejlen debugges kildekoden for at identificere fejlene i programmet. Der foretages passende ændringer. Derefter vælges de relevante testtilfælde fra den allerede eksisterende testpakke, der dækker alle de modificerede og berørte dele af kildekoden. Nye testsager tilføjes om nødvendigt. I sidste ende udføres testen ved hjælp af de valgte testcases. Nu undrer du dig måske over, hvilke testsager du skal vælge.

Effektive regressionstest kan udføres ved at vælge følgende testtilfælde:

  • Test tilfælde, der har hyppige mangler
  • Komplekse testsager
  • Integrationstestsager
  • Testcases, der dækker et produkts kernefunktionalitet
  • Funktioner, der ofte bruges
  • Test vaser, som ofte fejler
  • Grænseværditesttilfælde

Med regressionstestprocessen ude af vejen, lad os tjekke forskellige teknikker.

Teknikker til regressionstest

Regressionstest bekræfter simpelthen, at ændret software ikke har ændret sig utilsigtet, og den udføres typisk ved hjælp af en kombination af følgende teknikker:

Test igen-alle: Denne metode tester blot hele softwarepakken igen fra top til bund. I mange tilfælde udføres størstedelen af ​​disse tests af automatiserede værktøjer. Visse tidspunkter er automatisering ikke nødvendig. Denne teknik er dyr, da den kræver mere tid og ressourcer sammenlignet med de andre teknikker.

Testvalg: I stedet for at vælge alle testsager giver denne metode holdet mulighed for at vælge et sæt tests, der tilnærmer sig fuld test af testpakken. Den primære fordel ved denne praksis er, at det kræver langt mindre tid og kræfter at udføre. Normalt udført af udviklere, der typisk har bedre indsigt i nuancerne i testkant-sager og uventet adfærd.

Prioritering af testtilfælde: Målet med denne teknik er at prioritere et begrænset sæt testsager ved at overveje flere potentielle testsager foran mindre vigtige. Der vælges testsager, der kan påvirke både nuværende og fremtidige builds af softwaren.

Dette er de tre vigtigste teknikker. Til tider baseret på testkrav kombineres disse teknikker.

Så nyttigt som regressionstest kan være, er det ikke uden de negative punkter. Du er nødt til at forstå de udfordringer, som du måske står over for, når du implementerer den.

Udfordringer ved regressionstest

  1. Tidskrævende: Teknikker som retest-all har brug for meget tid til at teste hele pakken med testsager
  2. Dyrt: Dyrt på grund af ressourcer og arbejdskraft, som du har brug for for at teste igen og igen, noget der allerede er udviklet, testet og implementeret i tidlige stadier
  3. Kompleks: Efterhånden som produktet udvides, bliver testere ofte overvældet af den enorme mængde testsager og bliver offer for at miste sporet af testsager, med udsigt til de vigtige testsager.

På trods af disse negative punkter er regressionstest meget nyttigt i softwaretestprocessen. Med regressionstest kan virksomheder forhindre projekter i at overskride budgettet, holde deres hold på sporet og vigtigst af alt forhindre uventede fejl i at beskadige deres produkter. Med dette har vi nået slutningen af ​​bloggen. Håber de ting, du har lært her i dag, hjælper dig, når du tager ud på din softwaretestrejse.

hvordan man bruger python anaconda

Hvis du fandt dette artikel relevant, tjek live-online af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i dette ' Hvad er regressionstest? 'Artikel, og vi vender tilbage til dig.