
Vad är regressionstestning?
REGRESSION TESTING definieras som en typ av programvarutestning för att bekräfta att ett nyligen ändrat program eller kod inte har påverkat befintliga funktioner negativt.
Regressionstestning är inget annat än ett helt eller delvis urval av redan utförda testfall som körs om för att säkerställa att befintliga funktioner fungerar bra.
Denna testning görs för att säkerställa att nya kodändringar inte får biverkningar på de befintliga funktionerna. Det säkerställer att den gamla koden fortfarande fungerar när de senaste kodändringarna är gjorda.
I den här handledningen lär vi oss
- Behov av regressionstestning
- Hur man gör regressionstestning
- Välja testfall för regressionstest
- Verktyg för regressionstest
- Regressionstestning och konfigurationshantering
- Skillnad mellan omprövning och regressionstest
- Utmaningar vid regressionstestning
- Praktisk tillämpning av exempel på regressionstest med en video
Behov av regressionstestning
Den Behov av regressionstestning uppstår främst när det finns krav på att ändra koden och vi behöver för att testa om det ändrade koden påverkar den andra delen av programmet eller inte. Dessutom behövs regressionstestning när en ny funktion läggs till i programvaran och för fixning av fel såväl som fixering av prestandaproblem.
Hur man gör regressionstestning
För att kunna göra regressionstestningsprocessen måste vi först felsöka koden för att identifiera buggarna. När buggarna har identifierats görs nödvändiga ändringar för att fixa det, sedan görs regressionstestningen genom att välja relevanta testfall från testpaketet som täcker både modifierade och berörda delar av koden.
Programvaruunderhåll är en aktivitet som inkluderar förbättringar, felkorrigeringar, optimering och radering av befintliga funktioner. Dessa ändringar kan få systemet att fungera felaktigt. Därför blir regressionstest nödvändigt. Regressionstestning kan utföras med följande tekniker:


Testa om alla
- Detta är en av metoderna för regressionstestning där alla testerna i den befintliga testutrustningen eller sviten ska köras om. Detta är mycket dyrt eftersom det kräver enorm tid och resurser.
Val av regressionstest
Regression Test Selection är en teknik där vissa utvalda testfall från testpaket körs för att testa om den modifierade koden påverkar programvaran eller inte. Testfall klassificeras i två delar, återanvändbara testfall som kan användas i ytterligare regressionscykler och föråldrade testfall som inte kan användas i efterföljande cykler.
Prioritering av testfall
- Prioritera testfallet beroende på affärspåverkan, kritiska och ofta använda funktioner. Val av testfall baserat på prioritet kommer att kraftigt minska regressionstestpaketet.
Välja testfall för regressionstest
Det framgick av branschdata att ett stort antal defekter som rapporterats av kunder berodde på felkorrigeringar i sista minuten som skapade biverkningar och att välja testfall för regressionstest är en konst och inte så lätt. Effektiva regressionstester kan göras genom att välja följande testfall -
- Testfall som har frekventa defekter
- Funktioner som är mer synliga för användarna
- Testfall som verifierar produktens kärnfunktioner
- Testa fall av funktioner som har genomgått fler och senaste förändringar
- Alla fall för integrationstest
- Alla komplexa testfall
- Gränsvärde testfall
- Ett urval av framgångsrika testfall
- Ett urval av fall i testtest
Verktyg för regressionstest
Om din programvara genomgår frekventa förändringar kommer kostnaderna för regressionstest att öka. I sådana fall ökar manuellt utförande av testfall samt kostnader för testgenomförande. Automatisering av fall med regressionstest är det smarta valet i sådana fall. Omfattningen av automatisering beror på antalet testfall som förblir återanvändbara för successiva regressionscykler.
Följande är de viktigaste verktygen som används för både funktionell och regressionstest inom programvaruteknik:
Selen : Detta är ett open source-verktyg som används för att automatisera webbapplikationer. Selen kan användas för webbläsarbaserad regressionstestning.
Quick Test Professional (QTP) : HP Quick Test Professional är automatiserad programvara som är utformad för att automatisera fall av funktionella och regressionstest. Den använder VBScript-språk för automatisering. Det är ett datadrivet, sökordsbaserat verktyg.
Rational Functional Tester (RFT) : IBM: s rationella funktionella testare är ett Java-verktyg som används för att automatisera testfall för programvaruapplikationer. Detta används främst för att automatisera fall av regressionstest och det integreras också med Rational Test Manager.
Regressionstestning och konfigurationshantering
Konfigurationshantering under regressionstestning är absolut nödvändigt i agila miljöer där en kod ändras kontinuerligt. Följ följande för att säkerställa effektiva regressionstester:
- Koden som regressionstestas bör vara under ett konfigurationshanteringsverktyg
- Inga ändringar får tillåtas att koda under regressionstestfasen. Regressionstestkod måste hållas immun mot utvecklare.
- Databasen som används för regressionstest måste vara isolerad. Inga databasändringar måste tillåtas
Skillnad mellan omprövning och regressionstest:
Omprövning innebär att testa funktionaliteten eller buggen igen för att säkerställa att koden är fixad. Om det inte är fixat måste Defect öppnas igen. Om det är fixat är Defekt stängt.
Regressionstestning innebär att testa din programvara när den genomgår en kodändring för att säkerställa att den nya koden inte har påverkat andra delar av programvaran.
Se också hela listan över skillnader här.
Utmaningar vid regressionstestning:
Följande är de största testproblemen för att göra regressionstest:
- Med successiva regressionskörningar blir testsviter ganska stora. På grund av tids- och budgetbegränsningar kan inte hela regressionstestpaketet köras
- Det är fortfarande en utmaning att minimera testpaketet samtidigt som maximal testtäckning uppnås
- Det är en utmaning att bestämma frekvensen för regressionstest, det vill säga efter varje modifiering eller varje build-uppdatering eller efter en massa bugfixar.
Praktisk tillämpning av exempel på regressionstest med en video
Klicka här om videon inte är tillgänglig
Slutsats:
En effektiv regressionsstrategi, vilket sparar organisationer både tid och pengar. Enligt en av fallstudierna inom banksektorn sparar regression upp till 60% tid i felkorrigeringar (som skulle ha fångats av regressionstester) och 40% i pengar