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: