In grauer Software Historie, man sollte es heute kaum für möglich halten, war das Berufsbild des Testers nicht existent. Das Bewusstsein für den Software Test als eigene Disziplin war noch nicht vorhanden.
Mittlerweile ist obsolet geworden, die Unabdingbarkeit der Integration des Software Tests in den Prozess der Software Entwicklung zu argumentieren. Viel zu hoch ist dafür der Stellenwert einer qualitätsgesicherten Software, in technischer wie in wirtschaftlicher Hinsicht. Was nun unseren Fokus verdient, ist der Zeitpunkt an dem Software Test ins Spiel kommt, wie dieser optimiert werden kann und wie sich das auf die Softwareentwicklung an sich auswirkt.
Das "klassische" Modell der Software Entwicklung sieht einen linearen Ablauf der einzelnen Phasen vor - der Test und auch dessen Management beginnen, wenn die Entwicklung fertig ist und ebnen den Weg zur Abnahme. Mit der Testplanung erst nach Beendigung der Entwicklungsarbeit anzufangen, bringt Problemstellungen mit sich: zur Spezifikation der Testfälle wird noch einmal Analysetätigkeit nötig, die weiteren Aufwand an Zeit und Mitteln bedeutet. Mangelhafte oder für Tester nur begrenzt hilfreiche Anforderungsdokumente führen außerdem dazu, dass Testfälle aus den entstandenen Lösungen generiert werden müssen. Die Gefahr besteht dabei, in Tautologie zu verfallen.
Eine Möglichkeit zur Verbesserung besteht darin, mit der Testplanung zeitgleich mit der Entwicklung zu beginnen, sodass nach deren Beendigung bereits spezifizierte Testfälle vorliegen und mit der Durchführung begonnen werden kann. Dies ist der erste Schritt, Testen als integrierte Disziplin des Software Prozesses zu verstehen und seinen Nutzen daraus zu ziehen.
Im Zuge dessen werden aber immer wieder Fragen auftauchen, deren Beantwortung die Entwicklung selbst beeinflussen. Nun dachte ANECON einen Schritt weiter, genauer gesagt einen Schritt nach vor und kam zu dem Ergebnis, dass der Schulterschluss von Analyse / Software Entwicklung und dem Software Test noch früher zum Tragen kommen müsse, nämlich schon bei der Erstellung der Anforderungsdokumente.
Was tut ein Tester in der Analyse?
Kurz gesagt, Anforderungen schärfen und Aufwände reduzieren. Denn die Fragen, die ein Tester bereits zur Erstellung der Anforderungsdokumente stellt, tragen zur Erhöhung deren Genauigkeit bei und helfen die Analyseergebnisse deutlich zu schärfen. Gleichzeitig können die nötigen Inputs zur Testfallerstellung direkt an der "Quelle" abgeholt werden: Gleich und im direkten Austausch mit dem Anforderer, ein weiterer ressourcenschonender Aspekt. So kann "vorne" gleich erledigt werden, was "hinten" noch einmal zum Aufwand würde.
Die Miteinbeziehung des Testmanagements von Anfang an bringt zahlreiche Vorteile für den gesamten weiteren Entwicklungsprozess mit sich:
Was bedeutet das für unsere Kunden?
Neben einem optimierten Software Prozess, bei dem Synergien genützt und so Durchlaufzeiten verringert werden können, ist es vor allem der wirtschaftliche Aspekt, der diesen Ansatz so interessant macht. Aufwände können reduziert werden, wenn Analyse-Ergebnisse gleich zu Beginn eingearbeitet werden. Passiert dies ebenfalls schon in Hinsicht auf die zu generierenden Testfälle, kann gegen Ende der Timeline auch deutlich an Testaufwänden gespart werden.
Eine Antwort auf die Frage nach der Effizienz eines Projektes wird also sinnvollerweise die frühzeitige Verschränkung von Software Entwicklung und Test sein. Ein Ansatz, der die Synergien von Test Spezialisten und Analytikern für das gesamte Entwicklungsprojekt nutzbar macht.