Sonntag, 29.11.2015 · Daniel Andersen (TESTACON GmbH & Co. KG)

Effektive Softwaretests in IT-Projekten

Wie können Sie Ihre Softwaretests pünktlich und mit Qualität abschließen? Ein Erfahrungsbericht aus dem Projektalltag eines Testmanagers.

Seit über 19 Jahren bin ich in branchenübergreifenden IT-Projekten als Softwaretest-Analyst und Testmanager tätig und kann eines mit Sicherheit sagen: Ganz losgelöst davon, ob es sich um ein IT-Projekt mit 20 Projektmitarbeitern oder ein komplexes und zeitkritisches Projekt mit bis zu 3.000 Projektmitarbeitern und einer IT-Infrastruktur mit 2.000 Applikationen handelt – Softwaretests sind eine Wissenschaft für sich. Dabei entsteht mir immer wieder der Eindruck der zentralen Frage: Sind Softwaretests wirklich so ernst zu nehmen?

Die Realität in meinem Projektalltag zeigt oft, dass Aufwände für Softwaretests äußerst unterschätzt werden. Wie zeitintensiv und wichtig Tests sind, wird vielen Stakeholdern in der Regel erst bewusst, wenn Tests begonnen haben – somit viel zu spät. Daraus folgt, dass geplante oder gesetzlich vorgegebene Fristen gerissen oder Softwarelösungen mit kritischen Fehlern ausgerollt werden. Die Konsequenzen: Image-Schaden, frustrierte Anwender, Vertragsstrafen und mehr. Doch was ist nun das Rezept für erfolgreiche Softwaretests in IT-Projekten?

Beginnen wir mit dem Klassiker: Die Zeit zur Erstellung fachlicher Anforderungen oder zur Entwicklung von Softwarelösungen verbraucht mehr Zeit als geplant war. Kompensiert wird dieser Zeitverzug häufig durch Kürzung der Zeit für wichtige Testphasen, wie System-, Integrations- oder Abnahmetests. Dadurch lässt man die Tatsache außer Acht, dass die Behebung von Fehlern exponentiell teurer wird, je später man die Fehler entdeckt. Entwickeln Sie also frühzeitig unter Einbezug aller relevanten Projektbeteiligten einen realistischen Aufwandsplan – obersterstes Gebot: Genug Zeit für die Planung nehmen, dabei Abstand von Glaskugeln halten und bewährte Schätzmodelle verwenden. Sollten dennoch alle Stricke reißen, empfehle ich risikobasierte Softwaretests mit klaren Prioritäten durchzuführen.

Ein weiterer Erfolgsfaktor für effektive Softwaretests ist die Besetzung der Rollen. Hierbei ist Vorsicht geboten. Auch wenn es das Budget zulässt, empfiehlt es sich nicht alle möglichen Rollen für Softwaretests vorneweg zu besetzen. Ein überladenes Testteam bringt die Gefahr eines ineffektiven Testverlaufs mit sich. Test-Analysten und ein Testmanager mit mehreren Jahren Erfahrung sollten jedoch zur Basis gehören. Prüfen Sie im Einzelfall, ob letzterer auch Aufgaben als Defectmanager und Testkoordinator mit abdecken kann oder begründeter Bedarf für zusätzliche Mitarbeiter besteht.

Ebenso ist ein durchdachtes Testkonzept ein Muss. Berücksichtigen Sie dabei: Das Testkonzept wird wahrscheinlich über mehrere Projekte pro Jahr durch interne und besonders externe Mitarbeiter gelebt. Ihre Mitarbeiter werden keine Luftsprünge machen, wenn das Konzept fünfzig und mehr Seiten umfasst, gepackt mit jede Menge Best-Practices. Derartige Konzepte sind unnötig komplex und führen häufig dazu, dass Projekte irgendwann ihr eigenes Testvorgehen entwickeln. Ein gutes Testkonzept beansprucht knapp 15 Seiten, ist simpel und orientiert sich an die wichtigsten Standards. Projektspezifisch benötigen Sie noch einen ergänzenden Testplan – fünf bis sieben Seiten genügen hier. Stellen Sie anschließend einige wenige aber praktische Vorlagen, wie Testkalender und Teststatus-Ticker, bereit.

Damit sich die oben genannten Empfehlungen anwenden lassen, ist ein Test-Tool erforderlich. Versuchen Sie in Entwicklungs- und Test-Teams mit mehr als einer Handvoll Mitarbeiter nicht am Test-Tool zu sparen. Das endet für gewöhnlich im Chaos. Investieren Sie in ein Tool, das Ihre Anforderungen auch langfristig abdeckt und anwenderfreundlich ist. Ansonsten bezahlen Sie hohe Lizenzgebühren für ein Testwerkzeug das in Ihren Projekten keine Akzeptanz finden wird.

Last but not least kann ineffektive und ineffiziente Kommunikation zwischen IT- und Fachbereich in einem Fiasko für das Projekt enden. Geben Sie den Teams klare Verhaltensregeln im Umgang miteinander und verwenden Sie kollaborative Tools.

Viel Erfolg und happy Testing!