Seminare der PW-Akademie

Testprozess

Was ist ein Testprozess?

Grundsätzlich gibt es nicht den einen universellen Testprozess, sondern vielmehr eine Reihe von gebräuchlichen, sinnvollen Testaktivitäten, die innerhalb eines Testprozess Ablaufs durchgeführt werden sollten. Die Gesamtmenge einzelner Testaktivitäten bildet entsprechend den Testprozess.

Natürlich gibt es auch globale Standards, welche die sinnvollen Test-Aktivitäten in einem standardisierten Testprozess Ablauf definiert haben. Dazu zählen beispielsweise das ISTQB – das International Software Testing Qualifications Board – oder die ISO29119.
Die Verwendung der Testprozess Definitionen dieser Standards sind beim Software Testen sehr sinnvoll, denn ohne die Durchführung bestimmter Aktivitäten werden auch festgelegte Ziele beim Testen mit einer weit geringeren Wahrscheinlichkeit erreicht, was häufig einen negativen Einfluss auf die Qualität der Testobjekte hat.

Wie der geeignete, spezifische Softwaretestprozess in einer bestimmten Organisation oder einem konkreten Projekt aussieht, hängt jedoch auch von der vorgegebenen Situation und vielen weiteren Faktoren ab. Den einheitlichen Rahmen dafür können jedoch Standards wie der ISTQB-Testprozess schaffen.

Welche Testaktivitäten gibt es im fundamentalen Testprozess nach ISTQB?

Testprozess
Abbildung 1: Darstellung des fundamentalen Testprozesses nach ISTQB

In unserer ISTQB-Schulung zum Certified Tester Foundation Level lernen Sie alle Aktivitäten und die Testprozess Methodik ausführlich, sowie mit vielen Praxisbeispielen versehen, kennen. Für fortgeschrittene Tester, die einen Fokus auf die Automobilbranche legen, empfiehlt sich die Schulung CTFL®- AuT. Einen Überblick über den Testprozess ISTQB CTFL erhalten sie in Abbildung 1 und den nachfolgenden Abschnitten.

Testplanung

Der ISTQB-Testprozess beginnt grundsätzlich mit der Planung der Tests. In dieser Phase werden die Ressourcen, Werkzeuge und Zeitschienen für die Durchführung der Tests und die wesentlichen Testziele bestimmt. Diese Informationen werden in einem Testkonzept festgehalten.

Testüberwachung und -steuerung

Die Einhaltung der Testplanung wird dann während des gesamten Testprozesses überwacht und gesteuert. Falls nötig, muss korrigierend eingegriffen werden.

Testanalyse

Nach der Planung startet die Testanalyse, bei der festgelegt wird, was überhaupt getestet werden soll. Beispielsweise werden hier bestimmte Test Features, die es zu testen gilt, oder die Testumgebung an sich niedergeschrieben. Man spricht hierbei auch von Testbedingungen (engl. test conditions).

Testentwurf

Diese Testbedingungen werden anschließend in sogenannte Testfälle (engl. test cases) überführt. Das heißt, im Testentwurf wird durch die Testfälle beschrieben, wie getestet wird. Idealerweise ist dabei jeder Testfall bidirektional rückverfolgbar zu den Testbedingungen, die der jeweilige Testfall abdecken soll.

Testrealisierung

In der Testrealisierung werden ausführbare Testfälle und deren Ablauf (z.B. manuell oder automatisch), sowie die dazu benötigten Testmittel (z.B. Prüfstände) beschrieben. Diese Informationen werden in einem Testausführungsplan festgehalten. Diese Phase dient dazu, die erfolgreiche Durchführung der Tests vorzubereiten und einen gesicherten Ablauf zu gewährleisten. Konkret stellt sich in der Testrealisierung die Frage: Ist alles bereit für die Testdurchführung?

Testdurchführung

Die letzte Aktivität im Testprozess Ablauf stellt die Testdurchführung dar. Hier werden die Testfälle schließlich ausgeführt, häufig in Form von Test-Suiten, also Reihen von verschiedenen (meist automatisierten) Testfällen. Besonders wichtig ist anschließend die Protokollierung und Dokumentation der erhobenen Daten. Die Ist-Ergebnisse werden mit den erwarteten Ergebnissen verglichen und Abweichungen werden analysiert. Bei Testfällen, die eine Fehlerwirkung erkannt haben, wird ein Fehlerbericht erstellt und die entsprechenden Ursachen geprüft. Abhängig von der Auswertung müssen die Tests erneut durchgeführt werden, um eine erfolgreiche Fehlerbehebung zu beweisen (Fehlernachtest). Zudem wird mit einem weiteren Test überprüft, ob durch die Veränderung weitere Fehlerwirkungen in anderen Funktionalitäten entstanden sein könnten (Regressionstest).

Testabschluss

Beim Testabschluss werden die Daten aus den beendeten Testaktivitäten genutzt, um Erfahrungen, Testmittel und andere relevante Informationen zu konsolidieren. Testabschlussaktivitäten finden an Projektmeilensteinen statt, z.B. wenn eine agile Projektiteration beendet wird oder eine Teststufe abgeschlossen wurde. Die Vorstellung der Ergebnisse der Tests bzw. die Durchführung von Lessons Learned sind wesentliche Aktivitäten der letzten Phase des Testprozesses und gewährleisten die Nutzung der gewonnenen Erkenntnisse.

Was sollte ich noch über den Testprozess wissen?

Während des gesamten Testprozess Ablaufs ist es grundlegend auf eine gute bidirektionale Rückverfolgbarkeit (engl. „traceability“) zwischen Testergebnissen und Elementen der Testbasis zu achten. Hohe Rückverfolgbarkeit unterstützt den Tester dabei zu verstehen, welche und in welchem Maß Anforderungen umgesetzt wurden sowie auf welche Testfälle sich diese zurückführen lassen. Im Testen ist das oft der Schlüssel zum Erfolg und schafft zudem die Grundlage zur Bewertung der Testüberdeckung. Des Weiteren hilft eine hohe Rückverfolgbarkeit bei der:

  • Nachvollziehbarkeit des Testens
  • Auswirkungsanalyse von Änderungen
  • Erfüllung von Governance-Kriterien
  • Verbesserung der grundsätzlichen Verständlichkeit

Testprozess2
Abbildung 2: Rückverfolgbarkeit im V-Modell

Wie erwähnt, ist der fundamentale Testprozess nach ISTQB ein Rahmenwerk und sollte abhängig von weiteren kontextabhängigen Faktoren betrachtet werden. Eine Organisation kann u.a. von folgenden Faktoren beeinflusst werden, auf die der fundamentale Testprozess angepasst werden sollte:

  • Verwendetes Softwareentwicklungslebenszyklus-Modell und Projektmethoden
  • Mögliche Teststufen und Testarten
  • Produkt- und Projektrisiken
  • Geschäftsbereich
  • Betriebliche Beschränkungen, wie Budgets, Ressourcen, Fristen
  • Vertragliche und regulatorische Anforderungen
  • Richtlinien und Praktiken des Unternehmens
  • Geforderte interne und externe Standards

In unserer Testing Schulung lernen Sie neben diesen beiden Punkten noch viele weitere hilfreiche Themen, die Sie über den Testprozess wissen sollten und hören diverse Testprozess Beispiele aus dem praktischen Erfahrungsschatz unserer Trainer.

 

Zusammenfassung

Was ist ein Testprozess?+

Grundsätzlich gibt es nicht den einen universellen Testprozess, sondern vielmehr eine Reihe von gebräuchlichen, sinnvollen Testaktivitäten, die innerhalb eines Testprozess Ablaufs durchgeführt werden sollten. Die Gesamtmenge einzelner Testaktivitäten bildet entsprechend den Testprozess. Natürlich gibt es auch globale Standards, welche die sinnvollen Test-Aktivitäten in einem standardisierten Testprozess Ablauf definiert haben. Dazu zählen beispielsweise das ISTQB – das International Software Testing Qualifications Board – oder die ISO29119.

Welche Testaktivitäten gibt es im fundamentalen Testprozess nach ISTQB?+

  • Testplanung
  • Testüberwachung und -steuerung
  • Testanalyse
  • Testentwurf
  • Testrealisierung
  • Testdurchführung
  • Testabschluss

Warum ist eine hohe Rückverfolgbarkeit im Testprozess wichtig?+

Hohe Rückverfolgbarkeit unterstützt den Tester dabei zu verstehen, welche und in welchem Maß Anforderungen umgesetzt wurden sowie auf welche Testfälle sich diese zurückführen lassen. Des Weiteren hilft eine hohe Rückverfolgbarkeit bei der:

  • Nachvollziehbarkeit des Testens
  • Auswirkungsanalyse von Änderungen
  • Erfüllung von Governance-Kriterien
  • Verbesserung der grundsätzlichen Verständlichkeit

Welche Faktoren beeinflussen den Testprozess?+

Eine Organisation kann u.a. von folgenden Faktoren beeinflusst werden, auf die der fundamentale Testprozess angepasst werden sollte:

  • Verwendetes Softwareentwicklungslebenszyklus-Modell und Projektmethoden
  • Mögliche Teststufen und Testarten
  • Produkt- und Projektrisiken
  • Geschäftsbereich
  • Betriebliche Beschränkungen, wie Budgets, Ressourcen, Fristen
  • Vertragliche und regulatorische Anforderungen
  • Richtlinien und Praktiken des Unternehmens
  • Geforderte interne und externe Standards