vad vi lär oss om det här inlägget

programvarutestning är processen att kontrollera programvara för fel. Det är inte bara avgörande för en produkts framgång utan också för själva utvecklingsprocessen. Det kan dock vara utmanande för många människor eftersom mjukvarutestning kräver olika färdigheter och tekniker än andra områden inom mjukvaruutveckling som kodning eller analys. Den här artikeln kommer att täcka hur vi närmar oss mjukvarutestning i samband med vår teststrategi och hur vi följer upp testresultat.

undrar du någonsin om det är nödvändigt att testa programvara igen? Det gör jag verkligen! Vi vet alla att kostnaden för mjukvaruutveckling kan vara hög. Vad vi inte vet är hur ofta vi ska testa vår kod för att se till att den fortfarande fungerar. Tja, den här artikeln kommer att förklara begreppet retesting i mjukvarutestning och kommer att ge några anledningar till att testa din kod efter varje utgåva kanske inte är så dålig.

Vad är Retesting?

Retesting är den övergripande processen att testa något (i det här fallet programvara) igen för att se till att allt fungerar som förväntat och en bra att använda om du vill identifiera problem med ett program eller datorsystem. Det kan användas på olika sätt under mjukvaruutvecklingscykeln, men det är ofta mest användbart när det gäller buggfixning.

testa din programvara efter varje release är mycket vanligt i världen av mjukvaruutveckling. Det kan dock inte vara nödvändigt för alla – särskilt om du arbetar med ett litet projekt eller med enkla kodbaser. När allt kommer omkring är det i de flesta fall ganska enkelt att fixa buggar och förbättra befintliga funktioner utan mycket ansträngning: skriv bara nya testfall som verifierar det korrekta beteendet hos Ny implementerad funktionalitet och se till att de passerar!

det kan dock finnas tillfällen då vissa testaktiviteter kräver mer tid än att bara skriva nya tester (och till och med fixa dem senare). Dessa situationer inkluderar buggfixar gjorda av en teammedlem som ännu inte är bekant med kodbasen eller nya funktioner som kräver omfattande testning och dokumentation.

När Ska Du Använda Retesting?

så, hur bestämmer vi när omtestning behövs? Först och främst beror det på din projektstorlek (och vilka element som är värda att testa). Till exempel: om du har en stor produktlinje spridd över flera produkter bör omtestning vara en del av din vanliga process eftersom varje utgåva kan påverka andra delar av systemet på olika sätt.

tänk också på att varje buggfixad kommer att leda till att ytterligare tester skapas av utvecklare – vilket innebär att de kan spendera mer tid på att skriva testfall än att fixa fel. Dessutom finns det situationer när även om du är säker på din kodbas är det fortfarande nödvändigt att testa vissa delar av systemet efter varje release.

till exempel: ny funktionalitet kan införa inkonsekvenser och oväntade beteenden som kan vara svåra att upptäcka först om de inte blir uppenbara under testning eller på användarnas feedback (och detta bör vara en vanlig del av din QA-process). Tänk också på fall där testautomatisering ännu inte har implementerats – dessa tester kommer att visa problem först efter att den extra ansträngningen har gjorts för att få dem att passera igen!

i sådana situationer är det bra att behålla skepticism om nyintroducerade buggar-varför ska vi lita på vår kodbas om det redan har bevisats att testning kan vara opålitlig?

bästa praxis om du testar om

nu, Vilka är de bästa metoderna när du bestämmer dig för att testa om och hur gör du det?

här är några riktlinjer:

  • varje gång du begår en buggfix, inkludera tillräckligt med information om situationen där problemet infördes så att människor kommer att kunna reproducera det och testa igen. Om ditt QA-team har mer än ett par ögon som arbetar med en fråga kan de ofta göra det snabbare än utveckling (glöm inte att utvecklare har sitt eget ansvar – viktigast av allt att lära av misstag och fixa buggar). Kolla också in supportforum ibland när det händer färre saker i dem.
  • när du utvecklar nya eller gamla funktioner, se till att alla tester passerar innan de släpps är redo för testning av QA-teamet. Om de inte gör det – be ditt QA-team att testa dem och se till att buggarna är fixade, kom ihåg att även om det är möjligt för dig att fixa en bugg själv (med hjälp av automatiserade tester eller manuell testning), finns det alltid en chans att göra misstag medan du gör det.
  • när du utvecklar den nya versionen av en befintlig funktion, försök att inkludera så många regressionstester som möjligt i din kodbas – detta kommer åtminstone att minska riskerna för att fixa regressioner orsakade av ändringar som gjorts under utvecklingen av andra funktioner ovanpå den.
  • när du släpper en betaversion av produkten se till att det är fullt fungerande och att alla buggar har rättats (detta är särskilt viktigt för buggfixar som gjorts under utveckling eller testning ovanpå denna nya funktion).
  • när du släpper stabila versioner se till att alla buggar har rättats. Detta är särskilt viktigt för buggfixar som gjorts under utvecklingen av andra funktioner ovanpå den släppta funktionen – om de inte ingick i deras motsvarande utgåvor då när människor försöker använda dessa nya versioner kan de stöta på problem som orsakas av dessa förändringar. Om det fortfarande finns några återstående problem, se till att de är fixade så snart som möjligt.

Retesting vs Regression Testing

först och främst är retesting och regression testing båda typerna av programvalidering du kan välja att genomföra under din utvecklingsprocess. De är dock inte samma sak: retesting görs i slutet av en viss arbetsfas, ofta när du har en arbetsprodukt men måste se till att den inte fortfarande är riddled med buggar eller fel från tidig testning. Regressionstestning är en typ av programvaruvalidering som görs på olika punkter under hela utvecklingsprocessen för att se till att vissa aspekter av din kod fungerar korrekt.

i vissa fall kan omtestning utföras helt enkelt genom att läsa igenom tidigare testresultat eller rapporter och kontrollera eventuella problem som du vet har åtgärdats. Om du vill ha ännu mer grundliga resultat kan du kolla in tidigare problem en efter en för att se till att de har tagits hand om. En IT-testare kan till och med gå så långt som att testa delar av programvaran som aldrig testats tidigare.

i andra situationer kan regressionstestning göras genom att ta en testplan och köra den på varje version eller uppdatering av din applikation, från och med den senaste. På detta sätt kan du se till att varje ändring i din ansökan testas tillräckligt.

ett ord om Dubbletttestning med omtestning kommer möjligheten att duplicera testning. Detta händer när någon testar ett element i din programvara och hittar ett problem med det, men då görs ingenting för att korrigera det eller se till att det inte händer igen. För att se till att detta inte händer kan du skapa en databas eller checklista med problem från tidigare testning så att testare enkelt kan använda den för att undvika dubbeltestning.

det är bra att ha någon typ av dokumentation på plats för varje programvaruprodukt du arbetar med; om människor testar om äldre produkter kan du be dem att gå igenom originaldokumentationen och uppdatera den med eventuella ändringar de hittar.

en av de viktigaste aspekterna av retesting är att hålla reda på vad problemen var, hur de hittades och vad som gjordes för att fixa dem. Om ett problem inte är fixat men istället skapas nya problem genom att fixa ett annat problem kommer det att bli svårt för dig eller ditt team att veta vad som gick fel.

även om omtestning kan vara tidskrävande är det en mycket viktig del av programvaruvalidering och är särskilt användbar när den används tillsammans med andra testtekniker. Så länge problemen som hittades under omtestning löses kan du fortsätta göra omtestning på äldre produkter för att se till att ditt senaste arbete inte har orsakat några problem.