Nicht oder nicht ausreichend strukturiert zu testen wurde schon in der Vergangenheit bestraft. In der heutigen Zeit digitaler Ökosysteme, mit einer Vielzahl durch APIs verknüpfter Systeme und kurzer Release-Zyklen, ist Testing unumgänglich.
Die technische Komplexität der Lösungen, Live-Deployments in kurzer Taktung und damit notwendige Regressions-, Last- und „end – to – end“-Tests inklusive valider Testdaten erzwingen eine Standardisierung im Testing. Die standardisierte Erstellung von Testdaten bildet eine strukturierte Grundlage, auf der alle weiteren Tests aufsetzen können. Diese Standardisierung ist insbesondere in agilen Projekten entscheidend, da standardisierte Tests der Basis-Funktionalitäten mehr Kapazitäten für komplexere Problemstellungen schaffen.
Dieser Ansatz muss projektseitig finanziert werden. Ein Ansatz der sich lohnt, da die Kosten zur Behebung eines kritischen Fehlers in der Produktion, im Vergleich zur Beseitigung in der Design-Phase, exponentiell steigen können. Würde die Behebung eines Fehlers in der Designphase beispielsweise 100€ kosten, so könnten sich die Kosten pro Fehler laut IBM Systems Sciences Institut schnell verzehnfachen, wenn der Fehler erst in der Produktionsphase gefunden wird. Nach einer Studie der Steria Mummert Consulting werden ca. 50% der in produktiven Umgebungen gefundenen Fehler auf mangelnde Tests zurückgeführt. Dieses Ergebnis unterstreicht die Notwendigkeit eines standardisierten Testmanagements.
Unsere Greenlight Experten unterstützen Sie mit einem einheitlichen Testmanagement, das ein standardisiertes Testvorgehen mit Testphasen und den dafür notwendigen Ressourcen und Rollen sicherstellt. Durch eine klar definierte Testmethodik sowie standardisierte Verfahrensweisen und Definitionen unterstützt unser Testmanagement die Testaktivitäten in Ihren Projekten und stellt so die Qualität Ihrer Prozesse sicher.
Innerhalb der agilen Projektumgebung verwenden wir moderne Softwarelösungen, um die perfekte Testplanung und -durchführung bis hin zur Testautomatisierung sicher zu stellen.
Durch die Verknüpfung von Testzyklen und Entwicklungsständen können die unterschiedlichen Releasestände einer Software regelmäßig getestet und Fehler schnell identifiziert werden.
Die Testergebnisse fließen in die Sprints der agilen Projektarbeit ein. Diese Ergebnisse bilden die Basis für eine Verfeinerung der Softwareanforderungen und den nächsten Testzyklus. Somit wird eine enge Verzahnung von Anforderungen und Testergebnissen sichergestellt.
Alle gängigen Testmanagement Softwares bieten ein integriertes Reporting um die Anforderungen, die Testergebnisse und die Softwarefehler stets im Überblick zu behalten.
Sind im Rahmen des Testmanagement die Abläufe klar, bietet es sich an über eine Testautomatisierung nachzudenken. Hier können Ihre gesamten Prozesse von der Testfallerstellung und -durchführung bis hin zur -auswertung automatisiert werden. Durch den Einsatz von Unit-Test-Tools können alle Funktionen und Oberflächen vollautomatisch auf Code Ebene geprüft werden.
Für den Ablauf des Testmanagements orientieren wir uns dabei am Behavior-Driven Development Ansatz (BDD). Bei dieser Entwicklungsmethode werden das Verhalten und die Ziele des Nutzers als Basis verwendet, um das Grundgerüst des Testfalls zu definieren. Somit wird im Sinne des Qualitätsmanagements bereits bei der Anforderungsphase Ziel und Nutzen der Software in einem später automatisierten Test definiert.
Das klassische Testmanagement wird als V-Modell geplant. Das bedeutet, dass das Testmanagement in den Entwicklungsprozess integriert wird und die Teststufen parallel zur Entwicklung durchlaufen werden. Im ersten Schritt werden hierfür die Anforderungen definiert. Im Folgenden wird das funktionale, dann das technische System entworfen. Im Anschluss werden die Komponenten spezifiziert und abschließend implementiert – linke Seite des V-Modells. Um das System in den einzelnen Stufen zu testen, werden die Teststufen – die rechte Seite des V-Modells – gezeichnet:
Die vier Teststufen laufen sequentiell ab. Im Kern des klassischen Verfahrensweise steht die Steuerung und die Überprüfung des Testmanagements.
V-Modell:
Die Besonderheit des agilen Testmanagements? Das agile Team organisiert sich, entsprechend der Scrum Vorgehensweise, selbst. Es werden keine externen Projektmanager oder Testmanager in den Prozess involviert, da die Rollen innerhalb des agilen Teams übernommen werden. Identisch dem klassischen Testmanagement, werden im agilen Testmanagement dieselben Aufgaben gelöst. Entgegen des klassischen Testmanagements laufen alle Aufgaben nicht nacheinander, sondern parallel in einer Iteration ab. Des Weiteren werden dieselben klassischen Teststufen auch innerhalb des agilen Testmanagements angewendet. Somit greift klassische und agile Projekte auf gleiche Testwerkzeuge und –methoden zurück.