Impactanalyse bij het testen van software
⚡ Slimme samenvatting
Impactanalyse in softwaretesten evalueert hoe een voorgestelde wijziging doorwerkt in de vereisten, het ontwerp, de code, de tests en het leveringsschema.ping Teams schatten de benodigde inspanning in, geven prioriteit aan regressietests en voorkomen onbedoelde defecten vóór de release.
Wat is impactanalyse?
Impactanalyse is het proces waarbij de impact van wijzigingen aan een geïmplementeerd product of applicatie wordt geanalyseerd. Het identificeert de onderdelen van het systeem die mogelijk worden beïnvloed wanneer een bepaald onderdeel of een bepaalde functie van de applicatie wordt gewijzigd.
De impact wordt beoordeeld aan de hand van de vereisten, het ontwerp en... ArchiStructuur, test en het leveringsschema.
Wanneer er nieuwe functies aan een applicatie of product worden toegevoegd, is het essentieel om te controleren hoe die wijzigingen de prestaties en stabiliteit van het systeem beïnvloeden. Impactanalyse wordt om die reden uitgevoerd.
Waarom wordt een impactanalyse van veranderingen uitgevoerd?
- Om inzicht te krijgen in de mogelijke gevolgen van de implementatie van de wijziging. Het toevoegen van te veel functionaliteit aan een product kan de algehele prestaties verminderen.
- Om alle bestanden, documenten en modellen te identificeren die mogelijk moeten worden aangepast als het team besluit de wijziging door te voeren.
- Om de benodigde inspanning voor de implementatie van de verandering in te schatten.
- Om de taken te identificeren die nodig zijn om de verandering door te voeren.
- Om de afhankelijkheden van het specifieke element dat wordt gewijzigd weer te geven.
Wat is een impactanalysedocument?
Een impactanalyse kan worden gebruikt als checklist om een wijzigingsverzoek te evalueren voordat het team ermee aan de slag gaat. Het document moet details bevatten zoals:
- Een korte beschrijving van het probleem.
- Een uitleg of voorbeeld van hoe het defect leidt tot falen of inefficiëntie.
- Een inschatting van de complexiteit.
- Een schatting van de kosten en de benodigde tijd voor de reparatie.
- De functionaliteit die getest moet worden.
- De nieuwe testgevallen die voor de wijziging zijn aangemaakt.
- Referentiedocumenten zoals de technische specificatie of bijbehorende ontwerpnotities.
Voorbeeld:
Impactanalysedocument.
- Wijzigingsverzoek-ID:
- Titel:
- Description:
- Datum bereid:
- Prioriteitsschatting:
- Relatief voordeel
- Relatieve straf
- Relatieve kosten
- Relatief risico
- Geschatte totale inspanning: ______ uur
- Geschatte verloren tijd: ______ uur
- Geschatte impact op de planning: ______ dagen
- Kwaliteit beïnvloed:
- Overige getroffen vereisten:
- Andere betrokken taken:
- Integratieproblemen:
Hoe presenteer je het invloedniveau van de impactanalyse?
Een impactanalyse kan worden weergegeven met een kleurcode die de kritische aard van de wijzigingen in het systeem aangeeft. Een veelgebruikte kleurcode is hieronder weergegeven:
- Rood — Sterke impact
- Geel — Matige impact
- Groen — Zwakke impact
De bovenstaande tabel illustreert de impact van de doorgevoerde wijzigingen:
- Kenmerken die rood zijn gemarkeerd, zijn de belangrijkste kenmerken die veranderd worden. Kenmerken die geel zijn gemarkeerd, worden minder beïnvloed door de verandering. Kenmerken die groen zijn gemarkeerd, worden het minst beïnvloed.
- De verticaal opgesomde kenmerken zijn de kenmerken die worden gewijzigd. De horizontaal opgesomde kenmerken zijn de kenmerken die door de wijziging kunnen worden beïnvloed. In het bovenstaande voorbeeld heeft een wijziging in kenmerk 1 invloed op kenmerk 3.
- Bij een groter project met veel functies en functionaliteiten is de bovenstaande tabel mogelijk niet praktisch. In dat geval wordt een andere aanpak gekozen waarbij de ontwikkelaar direct de mate van invloed van de wijzigingen in de belangrijkste functies aangeeft, zoals hieronder weergegeven, waar de impact van de hoofdfunctie wordt aangegeven ten opzichte van elke subfunctie.
Voorbeelden van vragen die aan bod kunnen komen bij het uitvoeren van een impactanalyse:
- Wat zijn de nadelige bijwerkingen of risico's van het doorvoeren van de voorgestelde wijziging?
- Moet er een nieuw hulpmiddel worden aangeschaft om de wijziging te implementeren en te testen?
- Als de wijziging wordt geaccepteerd, hoeveel van de reeds geïnvesteerde inspanningen gaan dan verloren?
- Hebben de voorgestelde wijzigingen een negatieve invloed op de prestatie-eisen?
- Is er aanvullende input van de gebruiker nodig om de voorgestelde wijziging te verifiëren?
- Verhoogt de verandering de productkosten?
- Beschikken de huidige medewerkers over de kennis en vaardigheden om de voorgestelde verandering te realiseren?
- Legt de voorgestelde verandering een onaanvaardbaar beslag op welke computerbron dan ook?
Beste werkwijzen voor impactanalyse van veranderingen
- Voordat u met de impactanalyse begint, moet u ervoor zorgen dat in het testverzoek elk onderdeel van het project wordt vermeld dat door de wijzigingen wordt beïnvloed.
- Continue communicatie tussen ontwikkelaar en tester is essentieel om ervoor te zorgen dat geen enkele noodzakelijke wijziging in het eindproduct over het hoofd wordt gezien.
- Bepaal of er wijzigingen, verwijderingen of toevoegingen aan de gebruikersinterface nodig zijn.
- Schat het aantal acceptatie-, systeem- en integratietestgevallen dat nodig zal zijn.
- Identificeer de impact van de voorgestelde wijziging op het projectplan, het configuratiebeheerplan of het kwaliteitsborgingsplan.
Soorten impactanalyse in softwaretesten
Impactanalyse van veranderingen is geen op zichzelf staande techniek. Professionals gebruiken doorgaans een van de drie complementaire typen om verschillende vragen over een voorgestelde verandering te beantwoorden.
- TracImpactanalyse op de arbeidsgeschiktheid: Gebruikt de vereisten TracEen geschiktheidsmatrix en ontwerpkoppelingen brengen elke vereiste in kaart ten opzichte van de modules, tests en documenten die deze implementeren. Wanneer een vereiste verandert, toont de matrix alle downstream-artefacten die moeten worden bijgewerkt of opnieuw getest.
- Impactanalyse van afhankelijkheid: Bestudeert de gespreksgrafieken, gegevensstromen en interfacecontexten.tracts binnen de codebase. Een wijziging in één module is tracvia directe bellers, indirecte bellers en gedeelde datastructuren, zodat verborgen domino-effecten aan het licht komen voordat de verandering wordt doorgevoerd.
- Experimentele (historische) impactanalyse: Het analyseert historische wijzigingsgegevens – eerdere defecten, mislukte sprints en regressieproblemen – om te voorspellen hoe de huidige wijziging zich zal gedragen. Moderne tools combineren het analyseren van de versiebeheerhistorie met statistische modellen of machine learning-modellen om het risico van elke wijziging te beoordelen.
De meeste teams combineren minstens twee van deze types. TracEability laat zien welke documenten worden beïnvloed, dependency analysis laat zien welke code wordt beïnvloed en historical analysis laat zien hoe riskant de wijziging waarschijnlijk is.
Populaire tools voor impactanalyse van veranderingen
Moderne impactanalyses van veranderingen worden zelden in een spreadsheet uitgevoerd. Teams combineren een tool voor requirementsmanagement met een tool voor codeanalyse en een tool voor testmanagement die een gemeenschappelijke basis hebben. traceability wervelkolom.
- Jama Connect, IBM DEUREN, Modern Requirementsen Visure-vereisten: Leg vereisten vast, handhaaf basiswaarden en genereer impactrapporten voor gekoppelde vereisten, tests en risico's wanneer een wijziging wordt voorgesteld.
- Atlassian Jira met Xray of Zephyr: Track gebruikersverhalen, defecten en testgevallen. Impactrapporten tonen elk verhaal en elke test die door een voorgestelde wijziging binnen een sprint of releasetrein wordt beïnvloed.
- SonarQube, Begrijpen met SciTools en Structure101: Analyseer de afhankelijkheden in de broncode en genereer oproepgrafieken en koppelingsrapporten, zodat de engineer kan zien welke code verderop in de keten door een wijziging wordt beïnvloed.
- Lanceerbaar, Testim Automatisch herstel, en TestGrid: Gebruik machine learning om te voorspellen welke tests de grootste kans hebben om defecten te detecteren die door een wijziging zijn geïntroduceerd. Dit maakt een slimme testselectie en snellere regressietests mogelijk.
- Microsoft Excel of Google sheets: Het wordt nog steeds veel gebruikt voor het initiële impactanalysedocument, de kleurgecodeerde invloedstabel en het logboek met wijzigingsverzoeken bij kleinere projecten.
De juiste combinatie hangt af van de omvang van de codebase, de regelgeving en de leveringsmethode. Gereguleerde sectoren vertrouwen op JAMA of DOORS voor controleerbare traceability, terwijl agile productteams op Jira vertrouwen, SonarQubeen een testimpacttool.



