Ausgefeiltes Test-Management sollte heute in der Softwareentwicklung der Status quo sein. Klar konzipierte Tools und Verfahren verbessern die Softwarequalität und zahlen sich schnell aus. Wichtig ist ein zentrales und strukturiertes Test-Management. [...]
Das Silk-Central-Entwicklungsteam setzt sowohl auf manuelle als auch auf automatisierte Tests. Manuelle Tests sind wichtig, da sie parallel zu den automatisierten Unit-Tests jeder neu programmierten Funktion laufen. Da es sein kann, dass eine Funktion, die in einem Entwicklungsschritt nicht komplett vollendet wird, wahrscheinlich in der folgenden Iteration erneut zu verändern ist, sind diese manuellen Tests teilweise eine Art Wegwerf-Test. Sie werden nur durchgeführt, um die Implementierung einer bestimmten Komponente der Funktionalität zu einem spezifischen Zeitpunkt sicherzustellen – dadurch wird ein Basislevel an Qualität in puncto Usability und Funktionalität gewährleistet. Die manuellen Tests unterstützen zudem die Erstellung automatisierter Tests, indem sie die neu hinzugefügte Funktion identifizieren und zeigen, wie sie mit bestehenden Funktionen interagiert. Mit Silk Central kann das Team sehr effizient planen und festlegen, welche Tests wann von welchem Tester in welcher Umgebung durchgeführt werden.
AUTOMATISIERTE TESTS
Um die Softwarequalität unmittelbar zu kontrollieren und damit zu erhöhen, verwendet Borland innerhalb einer Iteration auch verschiedene Typen von automatisierten Tests: JUnit für automatisierte Unit-Tests, Silk4J für automatisierte Funktionstests und Silk Performer für automatisierte Last- und Performancetests. Die Tools erfüllen unterschiedliche Zwecke, ermöglichen verschiedene Ausführungsintervalle sowie kontinuierliche Tests und finden daher Fehler sehr schnell.
Silk Central ist nahtlos mit allen anderen Testwerkzeugen der Silk-Produktfamilie verknüpfbar, aber durch die offene Architektur der Lösung ist auch die Integration mit Testwerkzeugen anderer Hersteller möglich. Silk Central fungiert dann als zentraler Kontrollpunkt für die komplette Testumgebung. Über offene Programmierschnittstellen kann Silk Central beispielweise auch mit Lösungen in Bereichen wie Fehlerverfolgung, Anforderungsmanagement und Versionsverwaltung integriert werden.
ZEITNAHES FEEDBACK
Durch die enge Verknüpfung mit dem Continuous-Integration-Tool (CI) Jenkins erhalten die Borland-Entwickler ein zeitnahes Feedback auf jeden Entwicklungsschritt. Das CI-Tool ist eng in die Entwicklungs- und Test-Umgebung integriert, ermöglicht die straffe Durchführung von Tests und vereinfacht das Erstellen des Source Codes. Der gesamte Vorgang wird durch Einchecken in die Versionsverwaltung automatisch ausgelöst. Damit erzeugt das CI-System ein Artefakt des Builds und löst in Silk Central spezifische CI-Tests aus, die prüfen, ob der Build funktioniert. Das Team wird dann via E-Mail informiert, ob die Tests erfolgreich waren oder der Build fehlerhaft war. Zusätzlich erzeugt das CI-System jeden Abend ein Build-Artefakt, das über Nacht intensiv getestet wird. Es repräsentiert verschiedene Konfigurationen, sprich verschiedene Kombinationen einer installierten Sprache, eines Browsers, eines Datenbank-Management-Systems und eines Webservers.
Ein zentraler Silk-Central-Vorteil ist, dass in ausführlichen und anschaulichen Reportings die aktuellen Fortschritte bei der Softwareentwicklung und beim Testen dargestellt werden. So geben Burndown-Charts Auskunft über die Arbeit, die ab dem aktuellen Tag während eines Sprints noch zu leisten ist. Auf der x-Achse werden Tage abgetragen und auf der y-Achse die Arbeit in Stunden. Da jedes Teammitglied täglich den Restaufwand seiner Tasks schätzt, ergibt sich eine von Tag zu Tag verbesserte Genauigkeit. Hieraus lassen sich Trends und Prognosen rund um den Zeitplan ableiten. Ein Personal Dashboard visualisiert Informationen über die Fortschritte beim Testen. Die Farbe Blau zeigt dabei den aktuellen Status an, vollendete und erfolgreiche Tests werden grün angezeigt.
Unternehmen sollen heute Anwendungen auf immer mehr Plattformen und am besten in kürzester Zeit und mit geringstem Aufwand bereitstellen – ohne Abstriche bei der Qualität oder Funktionalität. Daher ist in komplexen Softwareprojekten eine durchgängige Qualitätssicherung unabdingbar und vor allem auch ein zentrales und flexibles Test-Management. Denn nur dadurch lassen sich auch Softwareänderungen schnell überprüfen und Fehler frühzeitig erkennen. Dies beschleunigt die Entwicklung, minimiert die Risiken und führt in letzter Konsequenz zu einer höheren Softwarequalität.
* Joachim Fuchs und Dominique Kaiser arbeiten als Senior Solution Consultant bzw. Solution Architect bei Micro Focus.
Be the first to comment