Hvad er regressionstest? Definition, testtilfælde (eksempel)

Indholdsfortegnelse:

Anonim

Hvad er regressionstest?

REGRESSION TESTING er defineret som en type softwaretest for at bekræfte, at et nyligt program eller en kodeændring ikke har påvirket eksisterende funktioner negativt.

Regressionstestning er intet andet end et helt eller delvist udvalg af allerede udførte testsager, der genudføres for at sikre, at eksisterende funktionalitet fungerer fint.

Denne test udføres for at sikre, at nye kodeændringer ikke skal have bivirkninger på de eksisterende funktioner. Det sikrer, at den gamle kode stadig fungerer, når de seneste kodeændringer er udført.

I denne vejledning lærer vi

  • Behov for regressionstest
  • Sådan udføres regressionstest
  • Valg af testtilfælde til regressionstest
  • Værktøjer til regressionstest
  • Regressionstest og konfigurationsstyring
  • Forskel mellem gentestning og regressionstest
  • Udfordringer i regressionstest
  • Praktisk anvendelse af eksempel på regressionstest med en video

Behov for regressionstest

Den Behov for regressionstest opstår primært, når der er krav om at ændre koden, og vi har brug for at teste, om det ændrede koden påvirker den anden del af programmet eller ej. Desuden er regressionstest nødvendig, når der tilføjes en ny funktion til softwareapplikationen og til fejlrettelse såvel som reparation af ydelsesproblemer.

Sådan udføres regressionstest

For at udføre regressionstestprocessen skal vi først fejle koden for at identificere fejlene. Når fejlene er identificeret, foretages de nødvendige ændringer for at rette det, og derefter foretages regressionstesten ved at vælge relevante testsager fra testpakken, der dækker både modificerede og berørte dele af koden.

Softwarevedligeholdelse er en aktivitet, der inkluderer forbedringer, fejlkorrektioner, optimering og sletning af eksisterende funktioner. Disse ændringer kan få systemet til at fungere forkert. Derfor bliver regressionstest nødvendig. Regressionstest kan udføres ved hjælp af følgende teknikker:

Test igen alle

  • Dette er en af ​​metoderne til regressionstest, hvor alle testene i den eksisterende testspand eller suite skal udføres igen. Dette er meget dyrt, da det kræver enorm tid og ressourcer.

Valg af regressionstest

Regression Test Selection er en teknik, hvor nogle udvalgte testcases fra testpakken udføres for at teste, om den ændrede kode påvirker softwareapplikationen eller ej. Testcases er kategoriseret i to dele, genanvendelige testcases, der kan bruges i yderligere regressionscyklusser og forældede testcases, som ikke kan bruges i efterfølgende cyklusser.

Prioritering af testsager

  • Prioriter testsagerne afhængigt af forretningspåvirkning, kritiske og ofte anvendte funktioner. Valg af testsager baseret på prioritet vil i høj grad reducere regressionstestpakken.

Valg af testtilfælde til regressionstest

Det blev konstateret fra branchedata, at et stort antal af de mangler, der blev rapporteret af kunder, skyldtes fejlrettelser i sidste øjeblik, der skabte bivirkninger, og det er derfor en kunst og ikke så let at vælge Test Case til regressionstest. Effektive regressionstest kan udføres ved at vælge følgende testtilfælde -

  • Test tilfælde, der har hyppige mangler
  • Funktioner, der er mere synlige for brugerne
  • Test sager, der verificerer produktets centrale funktioner
  • Test tilfælde af funktionaliteter, der har gennemgået flere og nylige ændringer
  • Alle sager om integrationstest
  • Alle komplekse testtilfælde
  • Grænseværditesttilfælde
  • Et eksempel på vellykkede testsager
  • En prøve på tilfælde af fejltest

Værktøjer til regressionstest

Hvis din software gennemgår hyppige ændringer, vil regressionstestomkostningerne eskalere. I sådanne tilfælde øger manuel udførelse af testsager såvel udførelsestid som omkostninger. Automatisering af regressionstestsager er det smarte valg i sådanne tilfælde. Omfanget af automatisering afhænger af antallet af testtilfælde, der fortsat kan bruges til successive regressionscyklusser.

Følgende er de vigtigste værktøjer, der bruges til både funktionel og regressionstest i softwareteknik:

Selen : Dette er et open source-værktøj, der bruges til automatisering af webapplikationer. Selen kan bruges til browserbaseret regressionstest.

Quick Test Professional (QTP) : HP Quick Test Professional er automatiseret software designet til at automatisere funktionelle og regressionstestsager. Det bruger VBScript-sprog til automatisering. Det er et datadrevet, søgeordsbaseret værktøj.

Rational Functional Tester (RFT) : IBMs rationelle funktionelle tester er et Java-værktøj, der bruges til at automatisere testcases af softwareapplikationer. Dette bruges primært til automatisering af regressionstestsager, og det integreres også med Rational Test Manager.

Regressionstest og konfigurationsstyring

Konfigurationsstyring under regressionstest bliver bydende nødvendigt i agile miljøer, hvor en kode kontinuerligt ændres. For at sikre effektive regressionstest skal du overholde følgende:

  • Koder, der regressionstestes, skal være under et konfigurationsstyringsværktøj
  • Ingen ændringer må tillades at kode under regressionstestfasen. Regressionstestkode skal holdes immun over for udviklerændringer.
  • Den database, der bruges til regressionstest, skal isoleres. Ingen databaseændringer skal tillades

Forskel mellem gentestning og regressionstest:

Gentestning betyder at teste funktionaliteten eller fejlen igen for at sikre, at koden er rettet. Hvis det ikke er løst, skal Defect genåbnes. Hvis det er rettet, er defekten lukket.

Regressionstest betyder at teste din softwareapplikation, når den gennemgår en kodeændring for at sikre, at den nye kode ikke har påvirket andre dele af softwaren.

Tjek også den komplette liste over forskelle herover.

Udfordringer ved regressionstest:

Følgende er de største testproblemer til udførelse af regressionstest:

  • Med successive regressionskørsler bliver testpakker ret store. På grund af tids- og budgetbegrænsninger kan hele regressionstestpakken ikke udføres
  • Det er fortsat en udfordring at minimere testpakken med maksimal testdækning
  • Bestemmelse af hyppigheden af ​​regressionstest, dvs. efter hver ændring eller hver buildopdatering eller efter en masse fejlrettelser, er en udfordring.

Praktisk anvendelse af eksempel på regressionstest med en video

Klik her, hvis videoen ikke er tilgængelig

Konklusion:

En effektiv regressionsstrategi, der sparer organisationer både tid og penge. Ifølge en af ​​casestudierne inden for bankdomæne sparer regression op til 60% tid i fejlrettelser (som ville være fanget af regressionstest) og 40% i penge