Testmanagement im Software Testing

Die Testplanung ist eine wesentliche Aufgabe des Testmanagements und ist, zumindest in leitender Funktion, vom Testmanager wahrzunehmen. Die Testplanung ist eine sehr frühe Aktivität innerhalb des fundamentalle Testprozesses mit dem Ziel der Erstellung oder Fortschreibung des Testkonzepts für das Softwareprojekt. Die Testplanung sollte in enger Abstimmung mit der Softwareentwicklung und den Mitarbeitern des Testteams erfolgen. Die Testplanung erfolgt dabei auf unterschiedlichen Abstraktionsebenen.

High-Level

Auf dieser höchsten Ebene der Testplanung ist zu klären, wie viel Testaufwand für das akutelle Projektüberhaupt angemessen ist. Für jedes Testobjekt ist die Intensität der durchzuführenden Tests und die Auswahl der zu überprüfenden Qualitätsmkermale individuell festzulegen. (Beispiel: Brauchen wir einen Performancetest? Wenn ja, für welche Komponenten?).

Medium-Level

Hier geht es hauptsächlich um die Frage, wie in den einzelnen Teststufen zu testen ist und wer die jeweiligen Tests durchführt. Konkret ist zu klären, wie der Testentwurf zu gestalten ist, wie deteilliert die Dokumentationsführung sein soll, wie viele Testzyklen vorzusehen sind, welche Matriken und Reports für die Teststeuerung benötigt werden, welche unterstützendes Tools einzusetzen sind, etc.

Low-Level

Auf der untersten Ebene erfolgt eine deteillierte Planung, was in den nächsten 1-4 Wochen zu tun ist. Insbesondere werden Testaktivitäten gemäß des aktuellen Projektstatus priorisiert. Die Testplanungen im High und Medium Level sollten möglichst früh im Projektzeitplan erfolgen. Die Planungsergebnisse werden mit jedem neuen Zyklus entsprechend dem aktuellen Entwicklungsstand angepasst. Darauf besierend erfolgt auch die Aufwandsschätzung.

Testmanagement im Software Test

Aktivitäten der Testplanung

Die Testplanung umfasst eine Reihe von Aktivitäten, deren Abarbeitung vom Testmanager zu kontrollieren ist:

  • Identifizierung und Kategorisierung der Risikobereiche der zu testenden Software
  • Definition der Testziele und der Abnahmekriterien
  • Entwicklung einer Teststrategie und einer passenden Testvorgehensweise
  • Erstellung eines Zeitplans für die Testaktivitäten
  • Festlegung der Testobjekte, des Testfokus (Qualitätsmerkmale), des Testumfangs und der Testintensität
  • Festlegung, was explizit nicht zu testen ist
  • Integration der Testaktivitäten in den Softwarelebenszyklus
  • Planung der weiteren Stufen des fundamentalen Testprozesses (Testentwurfs und Testanalyse, Testimplementierung, -Ausführung und -Bewertung)
  • Organisation der für die Tests notwendigen Testumgebung und Ressourcen
  • Definition des Umfangs, des Detaillierungsgrads, der Struktur und ggf. der Vorlagen für die Testdokumentation
  • Identifizierung von Art und Umfang der Testautomatisierung sowie Organisation der dafür notwendigen Tools
  • Bestimmen des Detaillierungsgrads für Testablaufspezifikationen (um die Reproduzierbarkeit sicherzustellen)
  • Festlegung der Eingangs- und Endkriterien für die einzelnen Teststufen.
  • Definition von Kriterien für einen Testabbruch sowie für die Testwiederaufnahme
Software Testmanagement und Testplanung

A. Eingangskriterien

Eingangskriterien sind Bedingungen, die erfüllt sein müssen, um den jeweiligen Test zu starten. Ein einfaches Beispiel wäre, dass die Teststufe des Systemtests erst gestartet werden darf, wenn alle Integrationstests erfolgreich abgeschlossen sind.

Weitere Beispiele:

  • Die Testumgebung ist einsatzbereit
  • Alle Testwerkzeuge stehen in der Testumgebung bereit.
  • Die zu testende Version ist erfolgreich installiert.
  • Alle notwendigen Testdaten sind eingespielt.

B. Endekriterien

Endekriterien sind Bedingungen, die erfüllt sein müssen, um den jeweiligen Test abzuschließen. Grundlage für Endekriterien können Intensitätsmaße (Codeüberdeckung, etc.), Maxima nicht behobener Fehlerzustände, Kosten oder auch Zeitpläne sein.

Beispiele für Endekriterien:

  • überdeckungsgrad (codebasiert oder anforderungsbasiert)
  • Testlauf ohne Fehler der Klasse-1 + Klasse 2
  • Fehlerfindungsrate nach investierter Testzeit
  • Zeit oder Kosten

Testkonzept

Die Ergebnisse der Testplanung finden Ihren Niederschlag im Testkonzept. Es kann in Form eines für alle Teststufen gültigen Mastertestkonzepts oder in Form mehrerer Stufentestkonzepte, jeweils gültig für eine einzelne Teststufe, erstellt werden.
Eine mögliche Gliederung für ein Testkonzept kann dem Standard ‘Standard for Software Test Documentation’ (IEEE Std 829-1998) entnommen werden.

  • 1. Testkonzeptbezeichnung
  • 2. Einführung
  • 3. Testobjekte
  • 4. Zu testende Leistungsmerkmale
  • 5. Leistungsmerkmale, die nicht getestet werden
  • 6. Teststrategie
  • 7. Abnahmekriterien
  • 8. Kriterien für Testabbruch und Testfortsetzung
  • 9. Testdokumentation
  • 10. Testaufgaben
  • 11. Testumgebung
  • 12. Verantwortlichkeiten/Zuständigkeiten
  • 13. Personal, Einarbeitung, Ausbildung
  • 14. Zeitplan, Arbeitsplan
  • 15. Planungsrisiken und Unvorhergesehenes
  • 16. Genehmigung, Freigabe

Sollte eine Testrichtlinie der zu testenden Organisation existieren, so sollte diese während der Testplanung berücksichtigt werden und im Testkonzept Niederschlag finden. Testplanung ist eine kontinuierliche Aktivität, das Testkonzept ein lebendes Dokument. Erfahrungen aus den einzelnen Testaktivitäten sind zu nutzen, um ändernde Risiken und Randbedingungen zu erkennen und diese durch Fortschreiben des Testkonzepts angemessen zu berücksichtigen.

Teststrategie, Testvorgehensweise

Bei der Teststrategie handelt es sich um eine abstrakte Beschreibung der vorgesehenen Teststufen und der Art und Weise, wie innerhalb dieser Teststufen vorzugehen ist.

Die konkrete Umsetzung einer Teststrategie in einem spezifischen Projekt geht aus der Testvorgehensweise hervor. Die Testvorgehensweise enthält die getroffenen Entscheidungen zur Erreichung der (Test-)Projektziele, die Ergebnisse der Risikoanalyse, die Testentwurfsverfahren, die Endekriterien und die geplanten durchzuführenden Tests (Testarten).

Die Wahl einer geeigneten Testvorgehensweise ist abhängig vom Kontext. Die Auswahl wird beeinflusst durch Faktoren wie Risiken, verfügbare Ressourcen und Kompetenzen, die Technologie, Art des Systems (z.B. maßgeschneidert oder kommerzielle COTS-Software), Testziele und Vorschriften. Die Teststrategie und Testvorgehensweise werden in den Testkonzepten definiert. Im Testentwurf werden diese dann weiter konkretisiert und verfeinert.

Zu den gängigen Testvorgehensweisen zählen:

Analytische Vorgehensweisen

Wie das risikoorientierte Testen, in dem das Testen auf die Bereiche der größten Risiken ausgerichtet ist

Modellbasierte Vorgehensweisen

Wie das stochastische Testen, das statistische Informationen über Ausfallraten (beispielsweise Zuverlässigkeitswachstumsmodelle) oder Systembenutzung (beispielsweise Benutzungsprofile) nutzt

Methodische Vorgehensweisen

Wie das ausfallbasierte (einschließlich intuitiver Testfallermittlung und Fehlerangriff), erfahrungsbasierte, checklistenbasierte und qualitätsmerkmalbasierte Testen

Prozess- oder standardkonforme Vorgehensweisen

Spezifiziert durch Industriestandards oder die verschiedenen agilen Methoden

Dynamische und heuristische Vorgehensweisen

Wie das explorative Testen, bei dem das Testen weniger vorgeplant ist und stärker auf Ereignisse reagiert und Durchführung und Auswertung parallel laufen

Beratende Vorgehensweisen

In denen die Testüberdeckung primär durch Hinweise und Beratung von Technologie- und/ oder Geschäftsbereichsexperten außerhalb des Testteams getrieben wird

Wiederverwendungsorientierte Vorgehensweisen

Bei denen man vorhandene Tests und Testumgebungen (aus früheren Projekten), umfangreiche Automatisierung von funktionalen Regressionstests und Standardtestsuiten als Ausgangsbasis übernimmt. Ziel ist, die Tests schnell und pragmatisch aufzusetzen

Unterschiedliche Ansätze können kombiniert werden, beispielsweise zu einer risikoorientierten dynamischen Vorgehensweise.

Trusted Shops
Sehr gut
4.79 / 5.00