Test-
management
Umso früher Fehler gefunden werden,
desto geringer ist das Schadensausmaß
Bei der Produktivsetzung von IT-Systemen das Geschäftsrisiko durch Tests reduzieren
Obwohl durch systematisches Testen das Geschäftsrisiko bei der Inbetriebnahme neuer IT-Systeme und Softwarereleases deutlich gesenkt werden kann, sehen wir in der Praxis immer wieder, dass dem Thema entweder nicht von Anfang an die nötige Aufmerksamkeit geschenkt wird oder strukturiertes Testen im Lauf des Projekts aufgrund von Zeitdruck und dringenderen Themen zu kurz kommt.
Das Durchführen der Tests ist dabei jedoch nur die halbe Wahrheit, der Schlüssel für aussagekräftige Testergebnisse liegt in der zugrundeliegende Teststrategie, die es dann konsequent umzusetzen gilt. Nur ein ausgereiftes Testkonzept, das vor allem kritische Fehler systematisch und frühzeitig aufdeckt, hilft unterm Strich Zeit zu sparen und einen reibungslosen Produktivbetrieb nach dem Go-Live sicher zu stellen.
Für die Ausarbeitung und Umsetzung einer erfolgreichen Teststrategie empfiehlt sich ein Testmanagement im Projekt einzurichten
Da Testen kein Selbstläufer ist, empfehlen wir insbesondere in anspruchsvollen Software-Projekten ein eigenständiges Testmanagement zur Unterstützung des Realisierungsteams und des Projektmanagements einzusetzen.
Das Testmanagement kümmert sich um alle Belange des Testens und treibt das Thema voran, indem es
- verantwortlich ist für die Teststrategie und -umgebung,
- die rechtzeitige und vollständige Durchführung der geplanten Testzyklen sicherstellt,
- die Auswertung der Testergebnisse und die Fehlerbehebung vorantreibt.
Die Aussagekraft von Tests wird maßgeblich durch die Teststrategie bestimmt
Eine tragfähige Teststrategie muss Testzyklen mit klar definierten Zielsetzungen, Testinhalten und Verantwortlichkeiten für alle relevanten Projektphasen definieren. Das Testmanagement hat sicherzustellen, dass die Zyklen von Anfang an in den Projektplan mit entsprechenden Ressourcen und Zeit für Korrekturen und das Nachtesten einfließen. Bei Eigenentwicklungen sollte die Testbarkeit bereits bei der Spezifikation und in der Entwicklungsphase (test-driven development) berücksichtigt werden.
Auch Testumgebung, Tools, Formate und Vorgehen für die Testfallbeschreibungen, Ergebniserfassung und Fehlerbehebung, Abnahmekriterien sowie die Herkunft der Testdaten sind vorab abzustimmen und festzulegen.
Der richtige Testumfang pro Testzyklus ist ein wesentlicher Faktor einer erfolgreichen Teststrategie
Der abzudeckende Funktionsumfang der Testfälle ist der maßgebliche Faktor für die Aussagekraft und den Aufwand von Tests. Eine vollständige Überprüfung des Gesamtsystems ist mit vertretbarem Aufwand in der Regel nicht möglich, deshalb sollte der Fokus beim Testen auf den drei folgenden Bereichen liegen:
- Standard-Funktionalität (oft benötigen 80% der Geschäftsfälle nur 20% der Funktionalität),
- besonders geschäftskritische Abläufe (risk based testing),
- besonders komplexe Rechen- oder Ablauflogiken.
Neben dem Testinhalt unterscheiden sich auch Zielsetzung, Verantwortlichkeit und Testumfang je nach Testzyklus bzw. -art.
Die gängigsten funktionalen Testarten sind:
- Unittests zur Sicherstellung der korrekten Funktionsweise kleiner funktionaler Einheiten sehr früh im Projekt,
- Integrations- und Systemtests zur Überprüfung des Zusammenspiels der Komponenten,
- User Acceptance Tests zur Abnahme durch die Fachabteilung vor dem Go-Live.
Je nach Art und Umfang des Projektes können weitere Testzyklen wie spezielle Funktions-, Regressions- oder Schnittstellentests sowie nicht-funktionale Tests wie Last- oder Stresstests sinnvoll sein.
Oft vergessen wird die rechtzeitige Klärung, wie Testdaten bereitzustellen sind
Zu einer ausgereiften Teststrategie gehört auch, sich vorab Gedanken über die Herkunft der Testdaten zu machen. Ein wichtiger Aspekt hierbei ist die Reproduzierbarkeit von Tests, wenn Daten beim Testen "verbraucht" werden. Dann muss sichergestellt werden, dass entdeckte Fehler nachgestellt, korrigierte Fehler nachgetestet und Regressionstests wiederholt ausgeführt werden können.
Testdaten können beispielsweise
- manuell oder per Skript generiert werden,
- sich durch entsprechende Abfolgen der Testfälle automatisch ergeben (z.B. anlegen, ändern und löschen eines Kundenstammsatzes) oder,
- vom Produktivsystem kopiert werden, soweit dieses, z.B. bei einem Release-Wechsel, bereits eingesetzt wurde.
Bei Verwendung von Produktivdaten ist aus Datenschutzgründen je nach involviertem Testteam zu klären, ob eine Anonymisierung der Daten erforderlich ist.
Diese Punkte sind vom Testmanagement bereits als Teil der Teststrategie festzulegen.
Unser Ansatz
Wir bei Basycon verstehen unter Testmanagement bei anspruchsvollen IT-Projekten eine neutrale Rolle als eigenständiges Team im Projekt.
Hierbei ist das Testmanagement für folgende Aufgaben verantwortlich:
- Erarbeiten einer Teststrategie, in der je Projektphase die erforderlichen Testzyklen mit dem jeweiligen Testscope und die Verantwortlichkeiten festgelegt werden.
- Sicherstellen, dass bereits bei der Erstellung des Projektplans die benötigten Testzyklen und der hierfür erforderlichen Ressourcen mit ausreichend Puffer zur Fehlerbehebung und zum Nachtesten vorgesehen werden.
- Aufbau der Testumgebung mit entsprechender Toolunterstützung und der Definition von Formaten für die Testfallbeschreibungen und Dokumentation der Testergebnisse.
- Unterstützung bei der Testvorbereitung, z.B. bei der Auswahl des Testumfangs, beim Schnitt der Testfälle, beim Erstellen der Testfallbeschreibungen, bei der Klärung der Testdatenherkunft, bei der Definition der benötigten Testrollen und entsprechenden Benutzerkonten.
- Ermittlung des Schulungsbedarfs der Fachabteilung für die Durchführung der Tests, falls erforderlich.
- Koordination und Unterstützung bei der zeitgerechten Durchführung der Tests.
- Schaffen von Transparenz über den Projektfortschritt durch Auswertung der Testergebnisse und deren statistische Aufbereitung.
- Sicherstellen, dass alle Fehler dokumentiert und ein gemeinsames Verständnis hinsichtlich deren Kategorisierung zwischen Fachabteilung, Projektmanagement und IT hergestellt wird.
- Nachverfolgen der Fehlerbehebung und der Nachtests.
Unsere Erfahrung
Klienten
Wir waren bei einer Vielzahl von Kunden für das Testmanagement in anspruchsvollen Softwareprojekten im SAP- und non-SAP-Umfeld verantwortlich.
Hierunter befanden sich:
- weltweit agierende DAX-, ATX- und SMI-Konzerne
- Banken aus dem öffentlich-rechtlichen, genossenschaftlichen und privaten Sektor
- Finanzdienstleiter
- große Mittelständler aus unterschiedlichen Branchen (z.B. in der Bekleidungsindustrie oder aus dem Rohstoffsektor)
Unsere Kunden erhalten gezielte Unterstützung für effizientes Testen mit aussagekräftigen Ergebnissen.
Projekte
Wir waren als Testmanager u.a. verantwortlich für die Teststrategie sowie die Organisation und Durchführung der Testzyklen in unterschiedlichsten Projekten:
- bei weltweiten SAP-Einführungen, Rollouts von SAP-Templates und Migrationen von Stammdaten,
- bei der Einführung und Abnahme verschiedener Bankensysteme,
- beim Aufbau von Datawarehouses,
- bei der Implementierung von B2B-Web-Applikationen.
Des Weiteren haben wir unsere Kunden bei der Definition und Automatisierung von Regressionstests sowie dem Aufsetzen und der Durchführung von Last- und Stresstests unterstützt.
Berater
Unsere Kunden profitieren von unserer langjährigen Erfahrung im Testmanagement, die durch unsere umfangreichen Kenntnisse im Projektmanagement und der Softwareentwicklung ergänzt wird:
- fundierte Planung und Vorbereitung der benötigten Testzyklen,
- methodisches Vorgehen zur Ermittlung des jeweils sinnvollen Testumfangs,
- zielgerichtete Organisation und Durchführung der Tests,
- Moderation von Abstimmungsrunden zur Fehlerkategorisierung,
- sicherer Umgang mit den gängigen Testmanagement-Tools wie z.B. HP-ALM oder SAP Solution Manager,
- managementgerechte Aufbereitung und Präsentation der Testergebnisse.
Unser Beratungsangebot
Wir bieten Ihnen Unterstützung beim Testen in Ihren Projekten in unterschiedlicher Form an:
- Beratung zur Strukturierung und Organisation von Tests in Ihrem Vorhaben, z.B. Erstellung des Testkonzepts
- Übernahme des Projektmanagements mit integriertem Testmanagement in IT-Vorhaben mittlerer Größe
- Übernahme des Testmanagements als eigenständige, neutrale Projektrolle zur Unterstützung der Projektleitung, der Fachabteilungen und des Implementierungspartners bei der Erstellung und Umsetzung der Teststrategie.
Gerne würden wir auch Sie in Ihrem Projekt unterstützen.