Softwareentwicklung IT-Management Technische Beratung
Softwareentwicklung IT-Management Technische Beratung
Clevere IT-Lösungen
mit Augenmaß
Testmanagement
 
 
 
 
 

Chance zur Qualitätssteigerung oder lästiges Übel

Obwohl es unstrittig ist, neue Software vor der Produktivsetzung gründlich zu testen, haben sich zum systematischen Test komplexer Systeme mit planbarem und vertretbarem Aufwand kaum Vorgehensweisen etabliert.

Tests werden eher als lästiges Übel betrachtet, denen zu selten die notwendige Aufmerksamkeit und Priorität beigemessen wird. Vor allem wenn gegen Projektende die Zeit knapp zu werden droht, werden meist Abstriche an den Tests vorgenommen.

Erfolgsfaktoren

Ohne die notwendige Systematik und Sorgfalt bei der Testplanung und -durchführung bleiben jedoch zu viele Fehler unentdeckt, die später den Produktivbetrieb unnötig behindern und hohe Folgekosten verursachen können.

Im Laufe unserer langjährigen Erfahrung haben sich folgende wichtige Stellhebel für Tests herauskristallisiert:

  • Fokussierung der Tests auf die wirklich geschäftskritischen Vorfälle,
  • Festlegen grundlegender k.o.-Kriterien vor Testbeginn, die eine Freigabe verhindern,
  • gründliche Vorbereitung der Tests ebenfalls vor Testbeginn sowie
  • flexibler und schneller Umgang mit unerwarteten Situationen im Testverlauf

Bessere Tests durch bewährtes Vorgehensmodell

Ein Testablauf gliedert sich grundsätzlich in die drei Phasen Vorbereitung, Durchführung und Auswertung. Durch mehrere Testläufe für Funktions-, Integrations- und Abnahmetests lassen sich unliebsame Überraschungen kurz vor der Inbetriebnahme vermeiden und Fehler werden frühzeitig entdeckt.

Wir bei Dynaware unterstützen die Planung und Durchführung der drei Phasen mit Hilfe von Checklisten, die jeweils an die konkreten Projektanforderungen angepasst werden:

  • Testvorbereitung
    Die gründliche Vorbereitung der Tests wird häufig unterschätzt und wichtige Aspekte vergessen. Die Folge sind enorme Reibungsverluste im Testablauf und Vergeudung der meist vorneweg knappen Zeit des Testpersonals. Wichtig ist, dass die Vorbereitungsphase vor Testbeginn komplett abgeschlossen ist und folgende Punkte definiert und abgestimmt wurden:

    • beteiligte Systeme und Fachabteilungen,
    • Doku-Standards für Testfälle und Ergebnisse,
    • Testfälle (inklusive der erwarteten Ergebnisse und Mindest-Abnahmekriterien),
    • Testteams (insbesondere Fachbereichsanwender sind eine knappe Ressource),
    • Testdaten (realitätsnah, aus Altsystemen oder synthetisch generiert, Datenvolumen),
    • Toolumgebung für Test, Doku und Fehlertracking sowie
    • Zeitplan, Meetingstruktur und Eskalationswege.

    Auch der Aufbau der Testsysteme, Testdaten und Toolumgebung sowie die Einweisung bzw. Schulung des Testpersonals gehören zur Vorbereitungsphase.

  • Testdurchführung
    Während der Durchführung der Tests besteht großer Bedarf an Testkoordination, da bei der Testplanung nicht abzuschätzen ist, wo welche Fehler auftreten, welche Auswirkungen sie auf den weiteren Testverlauf haben und wie gut das Testpersonal mit dem System zu Recht kommt. Mit viel Organisations- und Improvisationsgeschick muss flexibel auf den aktuellen Testverlauf reagiert werden. Außerdem sind alle Testergebnisse sauber zu dokumentieren.
    Die Testkoordination umfasst:

    • die Organisation und Moderation von Test-Kick-Offs,
    • die Koordination des Testteams,
    • die Koordination von Fehlerbehebungen und Testwiederholungen,
    • die Eskalation und Entscheidungsfindung bei kritischem Testverlauf,
    • die Qualitätssicherung bei der Testdurchführung und Dokumentation der Ergebnisse
      (u.U. relevant für Wirtschaftsprüfer und Aufsichtsbehörden) sowie
    • das Tracking und die Eingrenzung von Fehlern.
  • Testauswertung
    Die Auswertung überlappt sich mit der Testphase, da sie auch wichtige Erkenntnisse zum weiteren Testverlauf liefert.
    Die maßgeblichen Aufgaben sind:

    • aufbereiten und bewerten der Testergebnisse,
    • vorbereiten der Entscheidungsfindung bei Abbrüchen oder Wiederholungen von Tests,
    • konsolidieren der Testergebnisse und erstellen einer Entscheidungsvorlage zur weiteren Vorgehensweise.

Regressionstest

Mit Regressionstests soll vor jedem Releasewechsel nachgewiesen werden, dass die vormals verifizierte Funktionalität weiterhin gewährleistet ist.

Es bietet sich daher an, bereits frühzeitig, d.h. bereits bei Funktions-, Integrations- und Abnahmetests auf die Reproduzierbarkeit und Automatisierung der Tests durch den Einsatz von Testtools zu achten. Dabei muss auch die Wiederherstellbarkeit des Ausgangszustandes und eine saubere Dokumentation sichergestellt sein.

Links