Die Testdurchführung ist der sichtbarste Teil des Testens. Um effektiv und effizient zu sein, müssen Testkonzepte darüber hinaus aber Zeit vorsehen, um die Tests zu planen, Testfälle zu spezifizieren und die Testdurchführung vorzubereiten, sowie die Testergebnisse zu bewerten.

Der fundamentale Testprozess besteht aus den folgenden Hauptaktivitäten:

  • Testplanung und Steuerung
  • Testanalyse und Testentwurf
  • Testrealisierung und Testdurchführung
  • Bewertung von Endekriterien und Bericht
  • Abschluss der Testaktivitäten

Auch wenn sie hier logisch sequentiell aufgelistet sind, können all diese Testprozessaktivitäten in der Praxis zeitlich überlappend oder parallel stattfinden. Gewöhnlich ist es nötig, Ausprägungen und Reihenfolge dieser Hauptaktivitäten jeweils dem zu testenden System oder dem Projekt anzupassen.

 

Testplanung und Steuerung

Zur Testplanung gehören folgende Aktivitäten: die Definition der Testziele und die Festlegung der Testaktivitäten, die notwendig sind, um Aufgabenumfang und Testziele erreichen zu können.

Teststeuerung ist die fortlaufende Aktivität, den aktuellen Testfortschritt mit dem Plan zu vergleichen und den Status, einschließlich eventueller Abweichungen, zu berichten. Dazu gehört gegebenenfalls auch das Einleiten von Korrekturmaßnahmen. Um Tests steuern zu können, ist es notwendig, projektbegleitend geeignete Fortschrittsdaten zu ermitteln. Die Testplanung muss Feedback aus solchen Überwachungs- und Steuerungsaktivitäten berücksichtigen und die Pläne entsprechend fortschreiben.

 

Testanalyse und Testentwurf

Testanalyse und -entwurf ist die Aktivität, in der die allgemeinen Testziele zu konkreten Testbedingungen und Testfällen verfeinert werden.

Dies umfasst die folgenden Hauptaufgaben:

  • Review der Testbasis (z.B. Anforderungen, Software Integrity Level2 (Risikoausmaß), Risikoanalysebericht, Architektur, Design, Schnittstellenspezifikation)
  • Bewertung der Testbarkeit von Testbasis und Testobjekten • Identifizierung und Priorisierung der Testbedingungen auf Grundlage der Testobjektanalyse, der Spezifikation, des Verhaltens und der Struktur der Software
  • Entwurf (Design) und Priorisierung von abstrakten Testfällen
  • Identifizierung benötigter Testdaten, um Definition von Testbedingungen und Testfällen zu unterstützen Entwurf des Testumgebungsaufbaus und Identifikation der benötigten Infrastruktur und Werkzeuge
  • Erzeugen (bzw. Sicherstellung) der Rückverfolgbarkeit zwischen Testbasis und Testfällen in beiden Richtungen

 

Testrealisierung und Testdurchführung

Testrealisierung und –durchführung ist die Aktivität, bei der unter Berücksichtigung aller anderen Informationen, die zur Testdurchführung nötig sind, Testabläufe und Testskripte spezifiziert werden, indem Testfälle in einer besonderen Reihenfolge kombiniert werden. Des Weiteren wird die Testumgebung in dieser Phase entsprechend konfiguriert und genutzt.

Testrealisierung und –durchführung umfassen die folgenden Hauptaufgaben:

  • Endgültige Festlegung, Realisierung und Priorisierung von Testfällen (einschließlich Festlegung der Testdaten)
  • Erstellung und Priorisierung des Testablaufs, Erstellung der Testdaten, der Testszenarien und optional Vorbereitung der Testrahmen und Entwicklung von Skripten zur Testautomatisierung
  • Erstellung von Testsuiten basierend auf dem Testablauf, um die Testdurchführung möglichst effizient zu gestalten
  • Kontrolle, ob die Testumgebung korrekt aufgesetzt wurde und Sicherstellung der richtigen Konfigurationen
  • Überprüfung und Aktualisierung der Rückverfolgbarkeit zwischen Testbasis und Testfällen in beide Richtungen
  • Ausführung von Testabläufen (manuell oder automatisiert) unter Einhaltung des Testplans (Reihenfolge, Testsuiten etc.)
  • Protokollierung der Testergebnisse und Dokumentation der genauen Version des jeweiligen Testobjekts und der eingesetzten Testwerkzeugen und Testmittel
  • Vergleich der Ist-Ergebnisse mit den vorausgesagten Ergebnissen
  • Festhalten und Analyse der gefundenen Fehlerwirkungen oder Abweichungen, um den Grund eines Problems festzustellen (z.B. Fehler im Code, in spezifizierten Testdaten, im Testdokument oder Fehler bei der Durchführung passiert)
  • Alle Testfälle, die eine Fehlerwirkung aufgedeckt haben, müssen nach der Behebung der jeweiligen Ursachen nochmals getestet werden (Fehlernachtest). Ein Fehlernachtest wird durchgeführt, um sicherzustellen, dass eine Fehlerbehebung in der Software den gewünschten Erfolg gebracht hat. Darüber hinaus sind weitere Testwiederholungen (Regressionstest) nötig, um sicherzustellen, dass die Fehlerbehebung bzw. Softwareänderung keinen negativen Einfluss auf bereits bestehende Funktionalität hatten, oder dass nicht weitere (bisher maskierte) Fehlerzustände freigelegt wurden.

 

Bewertung von Endekriterien und Bericht  

Mit der Bewertung der Endekriterien/Testauswertung werden die Testaktivitäten auf ihre Ziele hin untersucht. Diese Phase sollte in jeder Teststufe abgehandelt werden.

Zu Testauswertung und -bericht gehören folgende Hauptaufgaben:

  • Auswertung der Testprotokolle in Hinblick auf die im Testkonzept festgelegten Endekriterien
  • Entscheidung, ob mehr Tests durchgeführt oder die festgelegten Endekriterien angepasst werden müssen
  • Erstellung des Testabschlussberichts für die Stakeholder

 

Abschluss der Testaktivitäten

Während des Abschlusses der Testaktivitäten werden Daten von abgeschlossenen Aktivitäten vorangegangener Testphasen gesammelt und konsolidiert (Erfahrungen, Testmittel, Fakten, Zahlen). Testabschlussaktivitäten finden im Rahmen von Projektmeilensteinen statt; beispielsweise, wenn eine Software in Betrieb genommen wird, ein Testprojekt abgeschlossen oder abgebrochen wird, ein Meilenstein erreicht wird oder ein Wartungs-Release abgeschlossen ist.

Der Abschluss der Testaktivitäten umfasst folgende Hauptaufgaben:

  • Kontrolle, welche der geplanten Arbeitsergebnisse geliefert wurden,
  • Schließung der Fehler-/Abweichungsberichte oder Erstellung von Änderungsanforderungen für weiter bestehende Fehler/Abweichungen
  • Dokumentation der Abnahme des Systems
  • Dokumentation und Archivierung der Testmittel, Testumgebung und der Infrastruktur für spätere Wiederverwendung
  • Übergabe der Testmittel an die Wartungsorganisation
  • Analyse und Dokumentation von „lessons learned“, um nötige Änderungen für spätere Projekte abzuleiten
  • Nutzung der gesammelten Informationen, um die Testreife zu verbessern

Pin It on Pinterest

Shares