Regressionstest er en sort boks testteknikker. Den bruges til at godkende en kodeændring i softwaren, som ikke påvirker produktets eksisterende funktionalitet. Regressionstest er at sikre, at produktet fungerer fint med ny funktionalitet, fejlrettelser eller enhver ændring i den eksisterende funktion.
Regressionstest er en type software test . Testsager udføres igen for at kontrollere, at applikationens tidligere funktionalitet fungerer fint, og de nye ændringer har ikke frembragt nogen fejl.
Regressionstest kan udføres på en ny build, når der er en væsentlig ændring i den oprindelige funktionalitet. Det sikrer, at koden stadig fungerer, selv når ændringerne sker. Regression betyder Gentest de dele af applikationen, som er uændrede.
Regressionstest er også kendt som verifikationsmetoden. Testcases er ofte automatiserede. Testcases skal udføres mange gange, og at køre den samme testcase igen og igen manuelt, er også tidskrævende og kedeligt.
Eksempel på regressionstest
Her vil vi tage en case for at definere regressionstesten effektivt:
Overvej et produkt Y, hvor en af funktionerne er at udløse bekræftelse, accept og afsendte e-mails. Det skal også testes for at sikre, at ændringen i koden ikke påvirkede dem. Regresserende test afhænger ikke af noget programmeringssprog som f.eks Java , C++ , C# osv. Denne metode bruges til at teste produktet for ændringer eller eventuelle opdateringer. Det sikrer, at enhver ændring i et produkt ikke påvirker det eksisterende modul i produktet. Bekræft, at fejlene blev rettet, og at de nyligt tilføjede funktioner ikke skabte noget problem i den tidligere fungerende version af softwaren.
Hvornår kan vi udføre regressionstest?
Vi laver regressionstest, hver gang produktionskoden ændres.
Vi kan udføre regressionstest i følgende scenarie, disse er:
1. Når ny funktionalitet tilføjes til applikationen.
Eksempel:
Et websted har en login-funktion, som tillader brugere kun at logge ind med e-mail. Giver nu en ny funktion til at logge ind med Facebook.
2. Når der er et ændringskrav.
Eksempel:
Husk adgangskode fjernet fra login-siden, som tidligere var gældende.
3. Når fejlen er rettet
Eksempel:
Antag, at login-knappen ikke virker på en login-side, og en tester rapporterer en fejl, der angiver, at login-knappen er ødelagt. Når fejlen er rettet af udviklere, tester testeren den for at sikre, at login-knappen fungerer som det forventede resultat. Samtidig tester testeren anden funktionalitet, som er relateret til login-knappen.
4. Når der er et ydelsesproblem rettelse
Eksempel:
Indlæsning af en hjemmeside tager 5 sekunder, hvilket reducerer indlæsningstiden til 2 sekunder.
5. Når der er en miljøændring
Eksempel:
Når vi opdaterer databasen fra MySql til Oracle.
Hvordan udfører man regressionstest?
Behovet for regressionstest kommer, når softwarevedligeholdelse omfatter forbedringer, fejlrettelser, optimering og sletning af eksisterende funktioner. Disse ændringer kan påvirke systemets funktionalitet. Regressionstest bliver nødvendigt i dette tilfælde.
Regressionstest kan udføres ved hjælp af følgende teknikker:
1. Test alle igen:
Re-Test er en af metoderne til at lave regressionstest. I denne tilgang bør alle testsager udføres igen. Her kan vi definere re-test som når en test fejler, og vi fastslår årsagen til fejlen er en softwarefejl. Fejlen er rapporteret, vi kan forvente en ny version af softwaren, hvor fejlen er rettet. I dette tilfælde bliver vi nødt til at udføre testen igen for at bekræfte, at fejlen er rettet. Dette er kendt som gentestning. Nogle vil referere til dette som bekræftelsestest.
Gentesten er meget dyr, da den kræver enorm tid og ressourcer.
2. Valg af regressionstest:
- I denne teknik vil en udvalgt test-case-farve udføre i stedet for en hel test-case-farve.
- De valgte testcase dragter opdelt i to cases
- Genanvendelige testsager.
- Forældede testsager.
- Genanvendelige testcases kan bruges i den efterfølgende regressionscyklus.
- Forældede testcases kan ikke bruges i den efterfølgende regressionscyklus.
3. Prioritering af testcases:
Prioriter testcasen afhængigt af forretningspåvirkning, kritisk og hyppigt anvendt funktionalitet. Valg af testcases vil reducere regressionstestsuiten.
Hvad er værktøjerne til regressionstest?
Regressionstest er en vital del af QA-processen; mens vi udfører regression, kan vi stå over for følgende udfordringer:
Regressionstest bruger meget tid at gennemføre. Regressionstest involverer eksisterende test igen, så testere er ikke begejstrede for at køre testen igen.
Regressionstest er også kompleks, når der er behov for at opdatere ethvert produkt; lister over testen er også stigende.
Regressionstest sikrer, at de eksisterende produktfunktioner stadig fungerer. Kommunikation om regressionstest med en ikke-teknisk leder kan være en vanskelig opgave. Lederen ønsker at se produktet bevæge sig fremad og foretage en betydelig tidsinvestering i regressionstest for at sikre, at eksisterende funktionalitet kan være hårdt.
Regressionstestproces
Regressionstestprocessen kan udføres på tværs af bygger og udgivelser .
Regressionstest på tværs af builds
Når fejlen er rettet, tester vi fejlen igen, og hvis der er et afhængigt modul, går vi til en regressionstest.
For eksempel , Hvordan vi udfører regressionstesten, hvis vi har forskellige builds som Byg 1, Byg 2 og Byg 3 , som har forskellige scenarier.
Byg 1
- For det første vil kunden give virksomhedens behov.
- Derefter begynder udviklingsteamet at udvikle funktionerne.
- Derefter vil testteamet begynde at skrive testcaserne; for eksempel skriver de 900 testcases for udgivelsen #1 af produktet.
- Og så vil de begynde at implementere testcaserne.
- Når produktet er frigivet, udfører kunden én runde med accepttest.
- Og i sidste ende flyttes produktet til produktionsserveren.
Byg 2
- Nu beder kunden om at tilføje 3-4 ekstra (nye) funktioner og angiver også kravene til de nye funktioner.
- Udviklingsteamet begynder at udvikle nye funktioner.
- Herefter vil testteamet begynde at skrive testcasen til de nye funktioner, og de skriver omkring 150 nye testcases. Derfor er det samlede antal af de skrevne testcases 1050 for begge udgivelser.
- Nu begynder testteamet at teste de nye funktioner ved hjælp af 150 nye testcases.
- Når det er gjort, vil de begynde at teste de gamle funktioner ved hjælp af 900 testcases for at bekræfte, at tilføjelsen af den nye funktion har beskadiget de gamle funktioner eller ej.
- Her er test af de gamle funktioner kendt som Regressionstest .
- Når alle funktionerne (Ny og Gammel) er testet, afleveres produktet til kunden, hvorefter kunden foretager accepttesten.
- Når accepttesten er udført, flyttes produktet til produktionsserveren.
Byg 3
- Efter den anden udgivelse ønsker kunden at fjerne en af funktionerne som Sales.
- Derefter vil han/hun slette alle de testcases, som hører til salgsmodulet (ca. 120 testcases).
- Og test derefter den anden funktion for at bekræfte, at hvis alle de andre funktioner fungerer fint efter fjernelse af salgsmodulets testtilfælde, og denne proces udføres under regressionstesten.
Bemærk:
- Test af de stabile funktioner for at sikre, at den er ødelagt på grund af ændringerne. Her betyder ændringer, at ændring, tilføjelse, fejlretning eller sletning .
- Genudførelse af de samme testcases i de forskellige builds eller udgivelser er for at sikre, at ændringer (modifikation, tilføjelse, fejlrettelse eller sletning) ikke introducerer fejl i stabile funktioner.
Regressionstest på tværs af udgivelsen
Regressionstestprocessen starter, hver gang der er en ny udgivelse til samme projekt, fordi den nye funktion kan påvirke de gamle elementer i de tidligere udgivelser.
For at forstå regressionstestprocessen følger vi nedenstående trin:
Trin 1
Der er ingen regressionstest i Udgivelse #1 fordi der ikke sker nogen ændringer i Release#1, da udgivelsen er ny i sig selv.
Trin 2
Begrebet regressionstest starter fra Udgivelse #2 når kunden giver nogle nye krav .
Trin 3
Efter først at have fået de nye krav (modificerende funktioner), vil de (udviklerne og testingeniørerne) forstå behovene, før de går til konsekvensanalyse .
Trin 4
Efter at have forstået de nye krav, vil vi udføre en runde af konsekvensanalyse for at undgå den store risiko, men her opstår spørgsmålet, hvem skal lave Impact-analysen?
Trin 5
Effektanalysen er lavet af kunde baseret på deres forretningskendskab , det Udvikler baseret på deres kodningsviden , og vigtigst af alt, det gøres af testingeniør fordi de har produkt viden .
Bemærk: Hvis en enkelt person gør det, dækker han/hun muligvis ikke alle påvirkningsområderne, så vi inkluderer alle personer, så vi kan dække et maksimalt påvirkningsområde, og påvirkningsanalyse bør udføres på de tidlige stadier af udsætningerne.
Trin 6
Når vi er færdige med påvirkningsområde , så vil udvikleren forberede nedslagsområde (dokument) , og kunde vil også forberede påvirkningsområde dokument så vi kan nå maksimal dækning af konsekvensanalyse .
Trin 7
Efter at have gennemført konsekvensanalysen vil udvikleren, kunden og testingeniøren sende Rapporter# af nedslagsområdets dokumenter til Test Lead . Og i mellemtiden har testingeniøren og udvikleren travlt med at arbejde på den nye testcase.
Trin 8
Når testlederen har modtaget rapporterne#, vil han/hun det konsolidere rapporterne og gemt i testcase krav repository til udgivelse #1.
Bemærk: Testcase Repository: Her vil vi gemme alle testcases af udgivelser.
Trin 9
Derefter vil testlederen tage hjælp fra RTM og vælge det nødvendige regressionstest tilfælde fra test case repository , og disse filer vil blive placeret i Regressionstestsuite .
Bemærk:
- Testledningen vil gemme regressionstesttilfældet i regressionstestpakken uden yderligere forvirring.
Trin 10
Herefter, når testingeniøren har arbejdet på de nye testcases, vil testlederen tildele regressionstestcasen til testingeniøren.
Trin 11
Når alle regressionstestsager og de nye funktioner er stabil og bestå , tjek derefter nedslagsområdet ved hjælp af testcasen indtil det er holdbart for gamle funktioner plus de nye funktioner, og så vil det blive overdraget til kunden.
Typer af regressionstest
De forskellige typer regressionstest er som følger:
- Enhedsregressionstest [URT]
- Regional regressionstest[RRT]
- Fuld eller komplet regressionstest [FRT]
1) Enhedsregressionstest [URT]
I dette vil vi kun teste den ændrede enhed, ikke nedslagsområdet, fordi det kan påvirke komponenterne i det samme modul.
Eksempel 1
I nedenstående applikation og i den første build udvikler udvikleren Søg knap, der accepterer 1-15 tegn . Derefter tester testingeniøren Søg-knappen ved hjælp af test case design teknik .
Nu foretager klienten nogle ændringer i kravet og anmoder også om, at Søg knap kan acceptere 1-35 tegn . Testingeniøren vil kun teste knappen Søg for at bekræfte, at den tager 1-35 tegn og ikke tjekker yderligere funktioner i den første build.
Eksempel 2
Her har vi Byg B001 , og en defekt identificeres, og rapporten leveres til udvikleren. Udvikleren vil rette fejlen og sender sammen med nogle nye funktioner, som udvikles i den anden Byg B002 . Derefter vil testingeniøren først teste, efter at fejlen er rettet.
- Testingeniøren vil identificere det ved at klikke på Indsend knappen går til den tomme side.
- Og det er en defekt, og det sendes til udvikleren for at rette det.
- Når den nye build kommer sammen med fejlrettelserne, tester testingeniøren kun knappen Send.
- Og her vil vi ikke kontrollere andre funktioner i den første build og flytte for at teste de nye funktioner og sendt i den anden build.
- Vi er sikre på, at reparation af Indsend knappen kommer ikke til at påvirke de andre funktioner, så vi tester kun den rettede fejl.
Derfor kan vi sige, at ved at teste kun den ændrede funktion kaldes Enhedsregressionstest .
2) Regional regressionstest [RRT]
I dette vil vi teste modifikationen sammen med påvirkningsområdet eller regionerne, kaldet Regional regressionstest . Her tester vi nedslagsområdet, for hvis der er pålidelige moduler, vil det også påvirke de andre moduler.
For eksempel:
På nedenstående billede kan vi se, at vi har fire forskellige moduler, som f.eks Modul A, Modul B, Modul C og Modul D , som leveres af udviklerne til test under den første build. Nu vil testingeniøren identificere fejlene i Modul D . Fejlrapporten sendes til udviklerne, og udviklingsteamet retter disse defekter og sender den anden build.
I den anden build er de tidligere defekter rettet. Nu forstår testingeniøren, at fejlrettelsen i modul D har påvirket nogle funktioner i Modul A og modul C . Derfor tester testingeniøren først modul D, hvor fejlen er blevet rettet, og kontrollerer derefter nedslagsområderne i Modul A og modul C . Derfor er denne test kendt som Regional regressionstest.
Mens vi udfører den regionale regressionstest, kan vi stå over for nedenstående problem:
Problem:
I den første build sender klienten nogle ændringer i krav og ønsker også at tilføje nye funktioner i produktet. Behovene sendes til begge teams, dvs. udvikling og test.
Efter at have fået kravene, begynder udviklingsteamet at lave modifikationen og udvikler også de nye funktioner baseret på behovene.
Nu sender testledningen mail til klienterne og beder dem om, at alle er de påvirkningsområder, der vil blive berørt, efter at de nødvendige ændringer er blevet udført. Derfor vil kunden få en idé, som alle funktioner er nødvendige for at blive testet igen. Og han/hun vil også sende en mail til udviklingsteamet for at vide, hvilke alle områder i applikationen der vil blive påvirket som følge af ændringer og tilføjelser af nye funktioner.
Og på samme måde sender kunden en mail til testteamet for en liste over påvirkningsområder. Derfor vil testlederen også indsamle effektlisten fra klienten, udviklingsteamet og testteamet.
Det her Indvirkningsliste sendes til alle testingeniører, der ser på listen og tjekker, om deres funktioner er ændret, og hvis ja, så gør de det regional regressionstest . Påvirkningsområderne og ændrede områder er alle testet af de respektive ingeniører. Hver testingeniør tester kun deres funktioner, der kunne være blevet påvirket som følge af ændringen.
Problemet med denne ovenstående tilgang er, at testlederen muligvis ikke får hele ideen om påvirkningsområderne, fordi udviklingsteamet og klienten måske ikke har så meget tid til at returnere hans/hendes mails.
Løsning
For at løse ovenstående problem vil vi følge nedenstående proces:
Når en ny build kommer sammen med de seneste funktioner og fejlrettelser, vil testteamet arrangere mødet, hvor de vil tale om, om deres funktioner påvirker på grund af ovenstående modifikation. Derfor vil de lave en omgang af Effektanalyse og generere Indvirkningsliste . I denne særlige liste forsøger testingeniøren at omslutte de maksimalt sandsynlige stødområder, hvilket også mindsker chancen for at få defekterne.
Når en ny build kommer, vil testteamet følge nedenstående procedure:
- De vil lave røgtest for at kontrollere den grundlæggende funktionalitet af en applikation.
- Så vil de teste nye funktioner.
- Derefter vil de kontrollere de ændrede funktioner.
- Når de er færdige med at kontrollere de ændrede funktioner, vil testingeniøren teste fejlene igen.
- Og så vil de tjekke nedslagsområdet ved at udføre den regionale regressionstest.
Ulempe ved at bruge enheds- og regional regressionstest
Følgende er nogle af ulemperne ved at bruge enheds- og regional regressionstest:
- Vi savner muligvis et nedslagsområde.
- Det er muligt, at vi kan identificere det forkerte påvirkningsområde.
Bemærk: Vi kan sige, at det store arbejde, vi udfører på den regionale regressionstest, vil føre til, at vi får flere defekter. Men hvis vi vil udføre den samme dedikation til at arbejde med den fulde regresserende test, vil vi få færre defekter. Derfor kan vi her fastslå, at forbedring af testindsatsen ikke vil hjælpe os med at få flere defekter.
3) Fuld regressionstest [FRT]
Under den anden og tredje udgivelse af produktet beder klienten om at tilføje 3-4 nye funktioner, og også nogle defekter skal rettes fra den tidligere udgivelse. Derefter vil testteamet lave effektanalysen og identificere, at ovenstående modifikation vil få os til at teste hele produktet.
Derfor kan vi sige, at test af ændrede funktioner og alle de resterende (gamle) funktioner kaldes Fuld regressionstest .
Hvornår udfører vi fuld regressionstest?
Vi udfører FRT, når vi har følgende betingelser:
- Når ændringen sker i produktets kildefil. For eksempel , JVM er rodfilen til JAVA-applikationen, og hvis der skal ske en ændring i JVM, vil hele JAVA-programmet blive testet.
- Når vi skal udføre n-antal ændringer.
Bemærk:
Den regionale regressionstest er den ideelle tilgang til regressionstest, men problemet er, at vi kan gå glip af en masse defekter, mens vi udfører den regionale regressionstest.
Og her skal vi løse dette problem ved hjælp af følgende tilgang:
- Når ansøgningen er givet til testen, vil testingeniøren teste den første 10-14 cyklus og udføre RRT .
- Så for den 15. cyklus laver vi FRT. Og igen, for den næste 10-15 cyklus, gør vi det Regional regressionstest , og i den 31. cyklus laver vi fuld regressionstest , og vi vil fortsætte sådan.
- Men i de sidste ti cyklusser af udgivelsen vil vi kun optræde komplet regressionstest .
Derfor, hvis vi følger ovenstående tilgang, kan vi få flere defekter.
Ulempen ved at udføre regressionstest manuelt gentagne gange:
- Produktiviteten vil falde.
- Det er et vanskeligt arbejde at udføre.
- Der er ingen konsistens i testudførelsen.
- Og testudførelsestiden øges også.
Derfor vil vi gå efter automatiseringen for at komme over med disse problemer; når vi har n-tal af regressionstestcyklussen, vil vi gå efter automatiseringsregressionstestproces .
Automatiseret regressionstestproces
Generelt går vi efter automatisering, når der er flere udgivelser eller flere regressionscyklusser, eller der er den gentagne opgave.
Automatiseringsregressionstestprocessen kan udføres i følgende trin:
Bemærk 1:
Processen med at teste applikationen ved at bruge nogle værktøjer er kendt som automatiseringstest.
Antag, at hvis vi tager et eksempel på en Login modul , så hvordan vi kan udføre regressionstesten.
Her kan login gøres på to måder, som er som følger:
Manuelt: I dette vil vi kun udføre regression én og to gange.
Automatisering: I dette vil vi udføre automatiseringen flere gange, da vi skal skrive testscripts og udføre udførelsen.
Note2: I realtid, hvis vi har stået over for nogle problemer såsom:
Problemer | Håndter ved |
---|---|
Nye funktioner | Manuel testingeniør |
Regresserende testfunktioner | Automationstestingeniør |
Resterende (110-funktion + udgivelsesnummer 1) | Manuel testingeniør |
Trin 1
Når den nye udgivelse starter, går vi ikke efter automatiseringen, fordi der ikke er noget koncept for regressionstest og regressionstestcase, som vi forstod dette i ovenstående proces.
Trin 2
Når den nye udgivelse og forbedringen starter, har vi to teams, dvs. det manuelle team og automationsteamet.
Trin 3
Det manuelle team vil gennemgå kravene og også identificere påvirkningsområdet og udlevere krav test suite til automationsteamet.
Trin 4
Nu begynder det manuelle team at arbejde på de nye funktioner, og automatiseringsteamet vil begynde at udvikle testscriptet og også begynde at automatisere testcasen, hvilket betyder, at regressionstestcaserne vil blive konverteret til testscriptet.
Trin 5
Inden de (automatiseringsteamet) går i gang med at automatisere testcasen, vil de også analysere, hvilke alle cases der kan automatiseres eller ej.
Trin 6
Baseret på analysen vil de starte automatiseringen, dvs. konvertere alle regressionstestcases til testscriptet.
Trin 7
Under denne proces vil de tage hjælp af Regressionssager fordi de ikke har produktkendskab så godt som værktøj og Ansøgning .
Trin 8
Når testscriptet er klar, vil de starte udførelsen af disse scripts på den nye applikation [gammel funktion]. Da testscriptet er skrevet ved hjælp af regressionsfunktionen eller den gamle funktion.
rohit shetty skuespiller
Trin 9
Når eksekveringen er afsluttet, får vi en anden status som Bestå ikke-bestå .
Trin 10
Hvis status er mislykket, hvilket betyder, at den skal genbekræftes manuelt, og hvis fejlen eksisterer, vil den rapportere til den pågældende udvikler. Når udvikleren retter den fejl, skal fejlen testes igen sammen med effektområdet af den manuelle testingeniør, og scriptet skal også genudføres af automationstestingeniøren.
Trin 11
Denne proces fortsætter, indtil alle de nye funktioner, og regressionsfunktionen vil blive bestået.
Fordele ved at lave regressionstest ved hjælp af automatiseringstesten:
- Testscriptet kan genbruges på tværs af flere udgivelser.
- Selvom antallet af regressionstesttilfælde øger udgivelsen pr. udgivelse, og vi ikke behøver at øge automatiseringsressourcen, da nogle regressionstilfælde allerede er automatiseret fra den forrige udgivelse.
- Det er en tidsbesparende proces fordi udførelsen altid er hurtigere end den manuelle metode.
Hvordan vælger man testcases til regressionstest?
Det blev fundet ved industriinspektion. De adskillige defekter, som kunden har rapporteret, skyldtes fejlrettelser i sidste øjeblik. Det er en kunst, ikke en let opgave at skabe bivirkninger og dermed vælge testcasen til regressionstestning.
Regressionstest kan udføres ved at:
- En testcase med hyppige defekter
- Funktioner, der er mere synlige for brugerne.
- Testcases verificerer produktets kerneegenskaber.
- Alle integrationstestcases
- Alle komplekse testcases
- Grænseværdi testcases
- Et eksempel på vellykkede testcases
- Fejl i testcases
Værktøjer til regressionstest
Hvis softwaren gennemgår hyppige ændringer, stiger omkostningerne til regressionstest også. I disse tilfælde øger manuel udførelse af testcases testudførelsestiden såvel som omkostningerne. I så fald er automatiseringstest det bedste valg. Varigheden af automatisering afhænger af antallet af testtilfælde, der forbliver genanvendelige i successive regressionscyklusser.
Følgende er de væsentlige værktøjer, der bruges til regressionstest:
Selen
Selen er et open source-værktøj. Dette værktøj bruges til automatiseret test af en webapplikation. Til browserbaseret regressionstest anvendes selen. Selen bruges til regressionstest på UI-niveau til webbaseret applikation.
Ranorex Studio
Alt i én regressionstestautomatisering til desktop-, web- og mobilapps med indbygget Selenium Web Driver. Ranorex Studio inkluderer fuld IDE plus værktøjer til kodeløs automatisering.
Quick Test Professional (QTP)
QTP er et automatiseret testværktøj, der bruges til regression og funktionel test. Det er et datadrevet, søgeordsbaseret værktøj. Det brugte VBScript-sprog til automatisering. Hvis vi åbner QTP-værktøjet, ser vi de tre knapper, som er Optag, afspil og stop . Disse knapper hjælper med at registrere hvert klik og hver handling, der udføres på computersystemet. Den optager handlingerne og afspiller den.
Rational Functional Tester (RTF)
Rationel funktionel tester er et Java-værktøj, der bruges til at automatisere testcases af softwareapplikationer. RTF bruges til at automatisere regressionstestsager, og den integrerer også med den rationelle funktionstester.
For mere information om regressions- og automatiseringstestværktøjer henvises til nedenstående link:
https://www.javatpoint.com/automation-testing-tool
Regressionstest og konfigurationsstyring
Konfigurationsstyring i regressionstesten bliver bydende nødvendigt i agile miljøer, hvor en kode løbende ændres. For at sikre en gyldig regressionstest skal vi følge trinene:
- Ændringer er ikke tilladt i koden under regressionstestfasen.
- Et regressionstesttilfælde skal være upåvirkede udviklerændringer.
- Databasen, der bruges til regressionstestning, skal være isoleret; ændringer er ikke tilladt i databasen.
Forskelle mellem gentest og regressionstest
Gentestning af test betyder at teste funktionaliteten eller fejlen igen for at sikre, at koden er rettet. Hvis det ikke er indstillet, behøver defekter ikke genåbnes. Hvis det er rettet, lukkede defekten.
Gentestning er en type test, der udføres for at kontrollere, at de testsager, der var mislykkede i den endelige udførelse, er bestået, efter at defekterne er repareret.
Regressionstest betyder test af softwareapplikationen, når den gennemgår en kodeændring for at sikre, at ny kode ikke har påvirket andre dele af softwaren.
Regressionstest er en type test, der udføres for at kontrollere, om en kode ikke har ændret applikationens eksisterende funktionalitet.
Forskellene mellem gentestning og regressionstest er som følger:
Gentestning | Regressionstest |
---|---|
Gentest udføres for at sikre, at de testsager, der fejler i den endelige udførelse, består efter at fejlene er rettet. | Regressionstest udføres for at bekræfte, om kodeændringen ikke har påvirket de eksisterende funktioner. |
Gentest virker på fejlrettelser. | Formålet med regressionstest er at sikre, at koden ændres negativt ikke påvirker den eksisterende funktionalitet. |
Fejlbekræftelse er en del af gentestningen. | Regressionstest inkluderer ikke fejlbekræftelse |
Prioriteten af gentest er højere end regressionstest, så det udføres før regressionstesten. | Baseret på projekttypen og tilgængeligheden af ressourcer kan regressionstest være parallelt med gentestning. |
Re-Test er en planlagt test. | Regressionstest er en generisk test. |
Vi kan ikke automatisere testcaserne til gentestning. | Vi kan lave automatisering til regressionstestning; manuelle test kan være dyrt og tidskrævende. |
Gentest er for mislykkede test-cases. | Regressionstest er for beståede test-cases. |
Gentest sikre, at den oprindelige fejl er rettet. | Regressionstest kontrollerer for uventede bivirkninger. |
Gentestning udfører defekter med de samme data og det samme miljø med forskellige input med en ny build. | Regressionstest er, når der er en ændring eller ændringer bliver obligatoriske i et eksisterende projekt. |
Gentestning kan ikke udføres før start af test. | Regressionstest kan hente testcases fra funktionsspecifikationen, brugervejledninger og manualer og fejlrapporter med hensyn til det korrigerede problem. |
Fordele ved regressionstest
Fordele ved regressionstest er:
- Regressionstest øger produktets kvalitet.
- Det sikrer, at eventuelle fejlrettelser eller ændringer ikke påvirker produktets eksisterende funktionalitet.
- Automatiseringsværktøjer kan bruges til regressionstest.
- Det sikrer, at de løste problemer ikke opstår igen.
Ulemper ved regressionstest
Der er flere fordele ved regressionstest, selvom der også er ulemper.
- Regressionstest bør udføres for små ændringer i koden, fordi selv en lille ændring i koden kan skabe problemer i den eksisterende funktionalitet.
- Hvis automatisering ikke bruges i projektet til test, vil det være tidskrævende og kedelig opgave at udføre testen igen og igen.
Konklusion
Regressionstest er et af de væsentlige aspekter, da det hjælper med at levere et kvalitetsprodukt, som sparer organisationer tid og penge. Det hjælper med at levere et kvalitetsprodukt ved at sikre, at enhver ændring i koden ikke påvirker den eksisterende funktionalitet.
Til automatisering af regressionstestsager er der flere automatiseringsværktøjer tilgængelige. Et værktøj skal have evnen til at opdatere test suite da regressionstestdragten skal opdateres hyppigt.