Impact Analys in Software Testing
⚡ Smart sammanfattning
Konsekvensanalys inom mjukvarutestning utvärderar hur en föreslagen förändring påverkar krav, design, kod, tester och leveransschema.ping team uppskattar insats, prioriterar regressionstäckning och förhindrar oavsiktliga defekter före lansering.
Vad är effektanalys?
Konsekvensanalys är processen att analysera effekterna av ändringar som gjorts i en distribuerad produkt eller applikation. Den identifierar de områden i systemet som kan påverkas när en viss sektion eller funktion i applikationen ändras.
Effekten bedöms utifrån Krav, Design och ArchiStruktur, test och leveransschema.
När nya funktioner läggs till i en applikation eller produkt är det absolut nödvändigt att kontrollera hur dessa förändringar kommer att påverka systemets prestanda och stabilitet. Konsekvensanalys görs av denna anledning.
Varför görs en förändringskonsekvensanalys?
- För att förstå det möjliga resultatet av att implementera förändringen. Att lägga till för mycket funktionalitet i en produkt kan minska den totala prestandan.
- Att identifiera varje fil, dokument och modell som kan behöva ändras om teamet beslutar sig för att implementera ändringen.
- Att uppskatta den ansträngning som krävs för att genomföra förändringen.
- Att identifiera de uppgifter som krävs för att genomföra förändringen.
- För att lista beroenden för det specifika element som ändras.
Vad är ett konsekvensanalysdokument?
Ett konsekvensanalysdokument kan användas som en checklista för att utvärdera en ändringsförfrågan innan teamet börjar arbeta med den. Dokumentet bör innehålla detaljer som:
- En kort beskrivning av problemet.
- En förklaring eller ett exempel på hur felet orsakar fel eller ineffektivitet.
- En uppskattning av komplexitet.
- En uppskattning av kostnad och tid för reparationen.
- Funktionaliteten som ska testas.
- De nya testfallen som skapats för ändringen.
- Referensdokument såsom den tekniska specifikationen eller relaterade konstruktionsanteckningar.
Exempel:
Effektanalysdokument.
- Ändra begäran-ID:
- Titel:
- DescriptJon:
- Datum förberedd:
- Prioriteringsuppskattning:
- Relativ nytta
- Relativt straff
- Relativ kostnad
- Relativ risk
- Uppskattad total arbetsinsats: ______ timmar
- Uppskattad förlorad ansträngning: ______ timmar
- Beräknad påverkan på schemat: ______ dagar
- Kvalitet påverkad:
- Andra krav som berörs:
- Andra uppgifter som berörs:
- Integrationsproblem:
Hur man presenterar påverkansnivån för effektanalysen
Konsekvensanalys kan representeras med en färgkod som visar hur kritiska förändringarna är i systemet. En vanlig färgkod visas nedan:
- Röd — Stark effekt
- Gul — Måttlig påverkan
- Grön — Svag påverkan
Tabellen ovan förklarar effekten av de implementerade förändringarna:
- Funktioner markerade med rött är de viktigaste funktionerna som ändras. Funktioner markerade med gult påverkas mindre av förändringen. Funktioner markerade med grönt påverkas minst.
- Funktioner som listas vertikalt är de som ändras. Funktioner som listas horisontellt är de som ändringen kan påverka. I exemplet ovan påverkar en ändring av funktion 1 funktion 3.
- I ett större projekt där funktioner och funktionaliteter är många kan tabellen ovan vara opraktisk. I så fall används en annan metod där utvecklaren direkt markerar graden av påverkan som orsakas av förändringarna i huvudfunktionerna, som visas nedan, där huvudfunktionens inverkan markeras mot varje delfunktion.
Exempel på frågor att ta upp vid konsekvensanalys:
- Vilka är de negativa biverkningarna eller riskerna med att göra den föreslagna förändringen?
- Behöver man anskaffa något nytt verktyg för att implementera och testa förändringen?
- Om förändringen accepteras, hur mycket av den redan investerade ansträngningen kommer att gå förlorad?
- Påverkar de föreslagna ändringarna prestandakraven negativt?
- Krävs ytterligare användarinmatning för att verifiera den föreslagna ändringen?
- Ökar förändringen produktkostnaden?
- Har den nuvarande personalen den kunskap och de färdigheter som krävs för att genomföra den föreslagna förändringen?
- Ställer den föreslagna förändringen några oacceptabelt krav på någon datorresurs?
Bästa praxis för förändringskonsekvensanalys
- Innan du påbörjar en konsekvensanalys, se till att testförfrågan identifierar alla delar av projektet som påverkas av förändringarna.
- Kontinuerlig kommunikation mellan utvecklare och testare är ett måste så att inga nödvändiga ändringar i slutprodukten missas.
- Identifiera om några ändringar, borttagningar eller tillägg i användargränssnittet krävs.
- Uppskatta antalet acceptans-, system- och integrationstestfall som kommer att krävas.
- Identifiera eventuella effekter av den föreslagna ändringen på projektplanen, konfigurationshanteringsplanen eller kvalitetssäkringsplanen.
Typer av konsekvensanalys inom mjukvarutestning
Förändringskonsekvensanalys är inte en enda teknik. Utövare använder vanligtvis en av tre kompletterande typer för att besvara olika frågor om en föreslagen förändring.
- TracAnalys av hållbarhetspåverkan: Använder kraven TracLänkar mellan verktygsmatris och design för att mappa varje krav till de moduler, tester och dokument som implementerar det. När ett krav ändras visar matrisen varje nedströms artefakt som måste uppdateras eller testas om.
- Analys av beroendepåverkan: Studerar samtalsgrafer, dataflöden och gränssnittskoncepttracts inuti kodbasen. En ändring av en modul är tracgenom direkta anropare, indirekta anropare och delade datastrukturer så att dolda ringeffekter uppdagas innan ändringen skickas.
- Experimentell (historisk) konsekvensanalys: Tittar på historiska ändringsdata – tidigare defekter, misslyckade sprintar och regressionsutsläpp – för att förutsäga hur den aktuella ändringen kommer att bete sig. Moderna verktyg kombinerar utvinning av versionskontrollhistorik med statistiska modeller eller maskininlärningsmodeller för att bedöma risken för varje ändring.
De flesta lag kombinerar minst två av dessa typer. Traceability visar vilka dokument som påverkas, beroendeanalys visar vilken kod som påverkas och historisk analys visar hur riskabel ändringen sannolikt är.
Populära verktyg för förändringskonsekvensanalys
Modern förändringskonsekvensanalys görs sällan i ett kalkylblad. Team kombinerar ett kravhanteringsverktyg med ett kodanalysverktyg och ett testhanteringsverktyg som delar en gemensam tracförmåga ryggrad.
- Jama Connect, IBM DÖRRAR, Modern Requirements, och synkrav: Registrera krav, underhåll baslinjer och generera konsekvensrapporter över länkade krav, tester och risker när en ändring föreslås.
- Atlassian Jira med Xray eller Zephyr: Track användarberättelser, defekter och testfall. Effektrapporter visar varje berättelse och test som en föreslagen ändring berör inom en sprint eller release-process.
- SonarQube, Förstå med SciTools och Structure101: Analysera källkodsberoenden och skapa anropsdiagram och kopplingsrapporter så att ingenjören kan se nedströmskod som påverkas av en ändring.
- Lanseringsbar, Testim Automatisk läkning, och TestGrid: Använd maskininlärning för att förutsäga vilka tester som är mest sannolikt att upptäcka defekter som introduceras av en förändring, vilket möjliggör smart testval och snabbare regressionscykler.
- Microsoft Excel eller Google ark: Används fortfarande flitigt för det inledande dokumentet för konsekvensanalys, färgkodad influenstabell och logg för ändringsförfrågningar i mindre projekt.
Rätt kombination beror på kodbasens storlek, regelverket och leveransmetoden. Reglerade branscher lutar sig mot Jama eller DOORS för granskningsbara data. traceffektivitet, medan agila produktteam förlitar sig på Jira, SonarQubeoch ett verktyg för testpåverkan.



