Das Testen von langjährig im Einsatz befindlicher Software erfordert eine sorgfältige Planung, Kommunikation und Anpassung. Die Software wird somit aktualisiert und verbessert, um den sich ändernden Anforderungen gerecht zu werden. Eine enge Zusammenarbeit mit Entwicklern, Benutzern und anderen Stakeholdern ist entscheidend, um dabei erfolgreich zu sein. Die Schaffung einer robusten Testumgebung und die Aktualisierung der (falls) vorhandenen Tests sind unabdingbar für gute Testergebnisse.
Das Testen von Software, die bereits seit langer Zeit im Einsatz ist, bringt besondere Herausforderungen mit sich.
Hier einige Beispiele:
- Mangelnde Spezifikationen:
Wenn keine ausreichenden Spezifikationen verfügbar sind, ist es unerlässlich, in enger Zusammenarbeit mit Entwicklern und Benutzern zu arbeiten. Der Dialog hilft dabei, die Funktionalitäten zu ermitteln und zu klären, was die Software können sollte. Dabei ist es sehr wichtig, die Anforderungen aus der Perspektive der Benutzer zu verstehen.
- Fehlende Tests:
Es kommt häufig vor, dass Tests fehlen, veraltet sind oder nicht mehr reproduzierbar sind. In solchen Fällen ist es erforderlich, die Testbasis neu zu erstellen. Das bedeutet, vorhandene Tests zu aktualisieren oder neue zu erstellen, um sicherzustellen, dass die Software wie erwartet funktioniert.
- Mangelnde Testumgebung:
Eine fehlende oder veraltete Testumgebung kann die Testarbeit erheblich behindern. Hier ist es notwendig, die Testumgebung neu zu erstellen oder zu aktualisieren, um realistische Tests durchführen zu können.
- Unterschiedliche Programmierstile/-sprachen:
In bestehenden Softwareprojekten können unterschiedliche Programmierstile und -sprachen verwendet worden sein. Es ist wichtig, diese Unterschiede zu berücksichtigen und sie zu verstehen, bzw. zu beherrschen.
- Gewachsene Architekturen:
Bestehende Software kann mit veralteten Technologien und Programmiersprachen entwickelt worden sein. Dies erfordert ein Verständnis für die zugrunde liegende Architektur und die Planung von Aktualisierungen, falls erforderlich.
- Mehrere Entwicklungslinien:
In Organisationen, in denen verschiedene Kunden unterschiedliche Versionen der Software verwenden, ist es wichtig, die verschiedenen Entwicklungslinien zu verfolgen und zu testen. Dies erfordert eine sorgfältige Planung und Koordination.
Meine bisherige berufliche Reise im Bereich des Software-Testens von bestehender Software war von verschiedenen Erfahrungen geprägt, die meine Fähigkeiten und Kenntnisse erweitert haben. Eine Schlüsselerfahrung war meine vorherige Tätigkeit in einer anderen Abteilung des Unternehmens. Dies ermöglichte mir einen tieferen Einblick in das Produkt, was sich als äußerst vorteilhaft beim Erstellen von Tests und beim Verständnis der Dokumentation erwies.
Zudem erwies sich meine mathematische Begabung als äußerst vorteilhaft in meiner Rolle. In den beiden E-Commerce-Projekten, die von mir getestet werden, spielen Preisberechnungen, komplexe Formeln und umfangreiche Zahlenanalysen eine entscheidende Rolle und können für Menschen, die mit Zahlen nicht gut umgehen können, eine weitere große Herausforderung darstellen.
Beim Erstellen von Tests für bestehende Softwareprojekte stieß ich auf Herausforderungen aufgrund einer unzureichenden Produktspezifikation. Dies führte zu Unklarheiten und erforderte zeitaufwändige Klärungen. Zeit ist bekanntermaßen bares Geld, und diese Erfahrung verdeutlichte die Bedeutung einer fundierten Produktdokumentation.
Die Umstellung der Produktdokumentation von einfachen Google Sheets auf ein Git-Repository erwies sich als äußerst positiv. Dadurch konnten Änderungen und Updates effizienter verwaltet werden, und die Versionskontrolle ermöglichte eine klare Nachverfolgung sämtlicher Modifikationen.
Als meine anfänglichen Programmierkenntnisse begrenzt waren und ich mich mit einem neuen Testwerkzeug vertraut machen musste, investierte ich viel Zeit in die Aktualisierung meiner Programmiersprachenkenntnisse und in das Erlernen eines völlig mir fremden Tools. Diese Anstrengungen zahlten sich aus und verbesserten meine Fähigkeiten erheblich.
Die von mir getesteten Anwendungen haben sich im Laufe der Zeit kontinuierlich weiterentwickelt, und bei jeder Veränderung stellte dies eine kleine Herausforderung dar.