Auswirkungsanalyse im Softwaretest

โšก Intelligente Zusammenfassung

Die Folgenabschรคtzung im Softwaretest bewertet, wie sich eine vorgeschlagene ร„nderung auf Anforderungen, Design, Code, Tests und den Lieferplan auswirkt.ping Die Teams schรคtzen den Aufwand ein, priorisieren die Regressionsabdeckung und verhindern unbeabsichtigte Fehler vor der Verรถffentlichung.

  • ๐Ÿ” Definition: Die Wirkungsanalyse untersucht, welche Teile eines eingesetzten Produkts betroffen sind, wenn ein Abschnitt, eine Funktion oder eine Anforderung geรคndert wird.
  • ๐Ÿ“„ Lieferbar: Das Dokument zur Wirkungsanalyse dient als Checkliste und umfasst Problembeschreibung, Aufwandsschรคtzung, Komplexitรคt und neue Testfรคlle.
  • ๐Ÿšฆ Einflussstufen: Eine farbcodierte Tabelle (rot, gelb, grรผn) visualisiert die Stรคrke der Wechselwirkung zwischen verรคnderten Merkmalen und abhรคngigen Merkmalen.
  • ๐Ÿงญ Drei Typen: TracFunktionalitรคt, Abhรคngigkeit und historische Analyse beantworten gemeinsam die Frage, welche Dokumente, Codes und Risiken von einer ร„nderung betroffen sind.
  • ๏ธ Tools: Jama Connect, IBM Tรผren, Jira mit Xray, SonarQubesowie Launchable unterstรผtzt Wirkungsberichte und eine intelligente Testauswahl.
  • โœ… Best Practices: Die kontinuierliche Kommunikation zwischen Entwicklern und Testern, die รœberprรผfung von ร„nderungen an der Benutzeroberflรคche und die Aktualisierung von Projekt-, Konfigurations- und Qualitรคtssicherungsplรคnen gewรคhrleisten eine zuverlรคssige Analyse.

Auswirkungsanalyse im Softwaretest

Was ist Wirkungsanalyse?

Die Wirkungsanalyse ist der Prozess der Untersuchung der Auswirkungen von ร„nderungen an einem bereits eingesetzten Produkt oder einer Anwendung. Sie identifiziert die Bereiche des Systems, die betroffen sein kรถnnen, wenn ein bestimmter Abschnitt oder eine bestimmte Funktion der Anwendung geรคndert wird.

Die Auswirkungen werden anhand von Anforderungen, Design und ArchiArchitektur, Test und Lieferplan.

Wird einer Anwendung oder einem Produkt eine neue Funktion hinzugefรผgt, ist es unerlรคsslich zu prรผfen, wie sich diese ร„nderungen auf die Leistung und Stabilitรคt des Systems auswirken. Aus diesem Grund wird eine Wirkungsanalyse durchgefรผhrt.

Warum wird eine Verรคnderungsfolgenanalyse durchgefรผhrt?

  • Um die mรถglichen Folgen der ร„nderung zu verstehen: Zu viele zusรคtzliche Funktionen kรถnnen die Gesamtleistung eines Produkts beeintrรคchtigen.
  • Um alle Dateien, Dokumente und Modelle zu identifizieren, die mรถglicherweise angepasst werden mรผssen, falls das Team beschlieรŸt, die ร„nderung umzusetzen.
  • Um den Aufwand abzuschรคtzen, der zur Umsetzung der ร„nderung erforderlich ist.
  • Um die zur Umsetzung der Verรคnderung erforderlichen Aufgaben zu ermitteln.
  • Um die Abhรคngigkeiten des jeweiligen Elements aufzulisten, das geรคndert wird.

Was ist ein Wirkungsanalysedokument?

Ein Dokument zur Folgenabschรคtzung kann als Checkliste verwendet werden, um einen ร„nderungsantrag zu bewerten, bevor das Team mit der Bearbeitung beginnt. Das Dokument sollte Details wie die folgenden erfassen:

  • Eine kurze Beschreibung des Problems.
  • Eine Erklรคrung oder ein Beispiel dafรผr, wie der Defekt zu Fehlern oder Ineffizienz fรผhrt.
  • Eine Schรคtzung der Komplexitรคt.
  • Eine Kosten- und Zeitschรคtzung fรผr die Reparatur.
  • Die zu testende Funktionalitรคt.
  • Die fรผr die ร„nderung erstellten neuen Testfรคlle.
  • Referenzdokumente wie die technische Spezifikation oder zugehรถrige Konstruktionshinweise.

Ejemplo:

Dokument zur Wirkungsanalyse.

  1. ร„nderungsanforderungs-ID:
  2. Titel:
  3. Beschreibung:
  4. Datum der Vorbereitung:
  5. Priorisierungsschรคtzung:
    • Relativer Nutzen
    • Relative Strafe
    • Relative Kosten
    • Relatives Risiko
  6. Geschรคtzter Gesamtaufwand: ______ Stunden
  7. Geschรคtzter Arbeitsaufwand: ______ Stunden
  8. Geschรคtzte Auswirkungen auf den Zeitplan: ______ Tage
  9. Qualitรคt beeintrรคchtigt:
  10. Weitere betroffene Anforderungen:
  11. Weitere betroffene Aufgaben:
  12. Integrationsprobleme:

Wie man die Wirkungsanalyse prรคsentiert: Einflussniveau

Die Folgenabschรคtzung kann mithilfe eines Farbcodes dargestellt werden, der die Kritikalitรคt der ร„nderungen fรผr das System anzeigt. Ein gรคngiger Farbcode ist unten dargestellt:

  • Rot โ€“ Starke Auswirkung
  • Gelb โ€“ MรครŸige Auswirkungen
  • Grรผn โ€“ Schwache Auswirkungen

Auswirkungsanalyse beim Softwaretesten

Die obige Tabelle erlรคutert die Auswirkungen der umgesetzten ร„nderungen:

  • Die rot markierten Merkmale sind die Hauptmerkmale, die sich รคndern. Die gelb markierten Merkmale sind weniger stark von der ร„nderung betroffen. Die grรผn markierten Merkmale werden am wenigsten beeinflusst.
  • Die vertikal aufgelisteten Merkmale sind diejenigen, die geรคndert werden. Die horizontal aufgelisteten Merkmale sind diejenigen, die von der ร„nderung beeinflusst werden kรถnnen. Im obigen Beispiel beeinflusst eine ร„nderung von Merkmal 1 Merkmal 3.
  • Bei grรถรŸeren Projekten mit zahlreichen Funktionen und Features ist die obige Tabelle mรถglicherweise nicht praktikabel. In diesem Fall wird ein anderer Ansatz gewรคhlt, bei dem der Entwickler den Einfluss der ร„nderungen an den Hauptfunktionen direkt markiert, wie unten dargestellt. Dort wird die Auswirkung der Hauptfunktion fรผr jede Unterfunktion angegeben.

Auswirkungsanalyse beim Softwaretesten

Beispielhafte Fragen, die bei der Durchfรผhrung einer Wirkungsanalyse zu berรผcksichtigen sind:

  • Was sind die nachteiligen Nebenwirkungen oder Risiken der vorgeschlagenen ร„nderung?
  • Muss fรผr die Implementierung und das Testen der ร„nderung ein neues Tool angeschafft werden?
  • Wenn die ร„nderung akzeptiert wird, wie viel der bereits investierten Anstrengungen geht dann verloren?
  • Beeintrรคchtigen die vorgeschlagenen ร„nderungen die Leistungsanforderungen?
  • Ist eine zusรคtzliche Benutzereingabe erforderlich, um die vorgeschlagene ร„nderung zu รผberprรผfen?
  • Erhรถht die ร„nderung die Produktkosten?
  • Verfรผgt das derzeitige Personal รผber das Wissen und die Fรคhigkeiten, um die vorgeschlagene Verรคnderung umzusetzen?
  • Stellt die vorgeschlagene ร„nderung eine inakzeptable Belastung der Computerressourcen dar?

Best Practices fรผr die Verรคnderungsfolgenanalyse

  • Bevor Sie mit der Wirkungsanalyse beginnen, stellen Sie sicher, dass die Testanforderung jeden Teil des Projekts identifiziert, der von den ร„nderungen betroffen ist.
  • Eine kontinuierliche Kommunikation zwischen Entwickler und Tester ist unerlรคsslich, damit keine notwendige ร„nderung am Endprodukt รผbersehen wird.
  • Prรผfen Sie, ob ร„nderungen, Lรถschungen oder Ergรคnzungen der Benutzeroberflรคche erforderlich sind.
  • Schรคtzen Sie die Anzahl der erforderlichen Akzeptanz-, System- und Integrationstestfรคlle.
  • Ermitteln Sie, welche Auswirkungen die vorgeschlagene ร„nderung auf den Projektplan, den Konfigurationsmanagementplan oder den Qualitรคtssicherungsplan hat.

Arten der Wirkungsanalyse im Softwaretest

Die Verรคnderungsfolgenabschรคtzung ist keine einheitliche Methode. Praktiker verwenden typischerweise eine von drei sich ergรคnzenden Arten, um unterschiedliche Fragen zu einer geplanten Verรคnderung zu beantworten.

  • TracAnalyse der Auswirkungen auf die Funktionsfรคhigkeit: Berรผcksichtigt die Anforderungen TracDie Machbarkeitsmatrix und die Designverknรผpfungen ordnen jede Anforderung den Modulen, Tests und Dokumenten zu, die sie implementieren. ร„ndert sich eine Anforderung, zeigt die Matrix alle nachgelagerten Artefakte an, die aktualisiert oder erneut getestet werden mรผssen.
  • Abhรคngigkeitsfolgenanalyse: Untersucht die Anrufdiagramme, Datenflรผsse und Schnittstellenkonturentracts innerhalb der Codebasis. Eine ร„nderung an einem Modul ist tracdurch direkte Anrufer, indirekte Anrufer und gemeinsame Datenstrukturen, sodass versteckte Folgeeffekte sichtbar werden, bevor die ร„nderung in Kraft tritt.
  • Experimentelle (historische) Wirkungsanalyse: Es analysiert historische ร„nderungsdaten โ€“ vergangene Fehler, fehlgeschlagene Sprints und Regressionsausbrรผche โ€“, um das Verhalten der aktuellen ร„nderung vorherzusagen. Moderne Tools kombinieren die Auswertung der Versionskontrollhistorie mit statistischen Modellen oder Modellen des maschinellen Lernens, um das Risiko jeder ร„nderung zu bewerten.

Die meisten Teams kombinieren mindestens zwei dieser Typen. TracDie Absicherungsanalyse zeigt Ihnen, welche Dokumente betroffen sind, die Abhรคngigkeitsanalyse zeigt Ihnen, welcher Code betroffen ist, und die historische Analyse zeigt Ihnen, wie riskant die ร„nderung voraussichtlich sein wird.

Gรคngige Tools zur Analyse der Auswirkungen von Verรคnderungen

Moderne ร„nderungsfolgenabschรคtzungen werden selten in Tabellenkalkulationen durchgefรผhrt. Teams kombinieren ein Anforderungsmanagement-Tool mit einem Codeanalyse-Tool und einem Testmanagement-Tool, die eine gemeinsame Basis nutzen. tracWirbelsรคule mit hoher Belastbarkeit.

  • Jama Connect, IBM TรœREN, Modern Requirementsund Visure-Anforderungen: Anforderungen erfassen, Baselines pflegen und Wirkungsberichte รผber verknรผpfte Anforderungen, Tests und Risiken erstellen, wenn eine ร„nderung vorgeschlagen wird.
  • Atlassian Jira mit Xray oder Zephyr: Track User Stories, Fehler und Testfรคlle. Wirkungsberichte zeigen jede Story und jeden Test an, der von einer vorgeschlagenen ร„nderung innerhalb eines Sprints oder Release-Trains betroffen ist.
  • SonarQube, Verstehen mit SciTools und Structure101: Analysiere die Abhรคngigkeiten im Quellcode und erstelle Aufrufdiagramme und Kopplungsberichte, damit der Entwickler den von einer ร„nderung betroffenen nachgelagerten Code erkennen kann.
  • Startfรคhig, Testim Selbstheilung und TestGrid: Durch den Einsatz von maschinellem Lernen lรคsst sich vorhersagen, welche Tests am ehesten durch eine ร„nderung hervorgerufene Fehler aufdecken. Dies ermรถglicht eine intelligente Testauswahl und schnellere Regressionszyklen.
  • Microsoft Excel- bzw Google Blรคtter: Wird nach wie vor hรคufig fรผr das erste Dokument zur Wirkungsanalyse, die farbcodierte Einflusstabelle und das ร„nderungsanforderungsprotokoll bei kleineren Projekten verwendet.

Die richtige Kombination hรคngt von der GrรถรŸe der Codebasis, dem regulatorischen Umfeld und der Bereitstellungsmethode ab. Regulierte Branchen setzen aufgrund der Prรผfbarkeit auf Jama oder DOORS. tracE-Fรคhigkeit, wรคhrend agile Produktteams auf Jira setzen. SonarQubeund ein Test-Impact-Tool.

Hรคufig gestellte Fragen

KI-Modelle analysieren Versionskontrollhistorie, Testergebnisse und Codegraphen, um vorherzusagen, welche Module und Tests von einer ร„nderung betroffen sind. Tools wie Launchable und Testim Die Tests werden nach ihrer Wahrscheinlichkeit, Regressionen zu erkennen, geordnet, wodurch Regressionszyklen reduziert werden, ohne die Testabdeckung zu verringern.

Ja. GitHub Copilot Chat und die GPT-Modelle kรถnnen eine ร„nderungsanforderung und einen Diff in ein erstes Dokument zur Folgenabschรคtzung umwandeln, das eine Problembeschreibung, eine Aufwandsschรคtzung und mรถgliche Testfรคlle enthรคlt. Ein Tester prรผft das Dokument, bevor es an die Stakeholder verteilt wird.

Die Folgenabschรคtzung ermittelt, welche Systemteile von einer ร„nderung betroffen sein kรถnnten. AnschlieรŸend fรผhrt der Regressionstest eine ausgewรคhlte Testreihe durch, um die Funktionsfรคhigkeit dieser Teile nachzuweisen. Die Folgenabschรคtzung dient der Planung, der Regressionstest der Durchfรผhrung.

Anforderungen TracDie Abschรคtzungsmatrix verknรผpft jede Anforderung mit dem zugehรถrigen Design, Code und den Tests. ร„ndert sich eine Anforderung, zeigt die Matrix sofort alle nachgelagerten Artefakte an, die รผberprรผft, aktualisiert oder erneut getestet werden mรผssen. Dadurch wird die Folgenabschรคtzung wiederholbar und nachvollziehbar.

Eine Folgenabschรคtzung wird immer dann durchgefรผhrt, wenn ein ร„nderungsantrag, eine Fehlerbehebung oder eine neue Funktion vorgeschlagen wird, bevor das Team mit der Umsetzung beginnt. Sie wird wiederholt, wenn der ร„nderungsumfang wรคhrend der Implementierung wรคchst, damit Schรคtzungen und Testplรคne der Realitรคt entsprechen.

Hรคufige Fehler sind das Verlassen auf das Erinnerungsvermรถgen des Entwicklers anstelle eines tracFรคhigkeitsmatrix, wobei nicht-funktionale Auswirkungen wie die Leistung ignoriert werden, รผberspringenping Integrationspunkte in nachgelagerte Systeme und das Versรคumnis, das ร„nderungsprotokoll zu aktualisieren, wenn der Umfang wรคhrend der Implementierung wรคchst.

In agilen Teams fรผhren Product Owner und Business Analyst wรคhrend der Backlog-Verfeinerung eine einfache Auswirkungsanalyse durch. Betroffene User Stories, Testfรคlle und technische Schulden werden dabei entsprechend gekennzeichnet. tracker, damit die Sprint-Schรคtzung die wahren Kosten der ร„nderung widerspiegelt.

Priorisieren Sie Tests, die die durch die Analyse identifizierten Hochrisikobereiche abdecken: Module mit Abhรคngigkeiten zur ร„nderung, Tests, die mit kritischen Benutzerablรคufen verknรผpft sind, und Fรคlle mit bekannten Fehlern in der Vergangenheit. Fรผr unberรผhrte Bereiche mit geringem Risiko reichen weniger umfangreiche Smoke-Tests aus.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: