Technik
- Selenium
- TestNG
- Hudson
- JMeter
Idee
- kontinuierliches Testen
- regelmäßige Lasttests
- Genierung von aussagefähigen Reports
Anforderungen
- verlässliche Aussagen über die Qualität der Software
- erkennbare Trends bzgl. der Performance
- möglichst wenig Kosten / Aufwand bei maximalen Ertrag
Leistungen
Projekte
Entwicklung
Consulting
Coaching
Schulung
Support
Hosting
Lösung
Die avono AG analysierte den vorhandenen Softwareentwicklungsprozess auf Verbesserung zur Qualitätssteigerung. Bei folgenden Schwachstellen identifizierte man die Möglichkeit von Quick-Wins:
- Automatismen bei der Erzeugung von Software-Artefakten
- Erstellung von Oberflächentest
- daraus generierte Lasttests
Durch Aufsetzen eines Continuous Integration Systems (Hudson) und Erstellen aller Projektkonfigurationen werden nun die Software-Artefakte automatisiert erstellt und deren vorhanden JUnit-Tests regelmäßig ausgeführt.
Das Aufsetzen von Oberflächentests für Webanwendungen kann ein zähes und langwieriges Verfahren sein. Mit dem Einsatz des avono Testingframeworks konnte dies beschleunigt werden. Unsere Selenium DSL in Java und die Versorgung der Testmethoden durch Testdaten schafften in den größten Zeitgewinn.
Mit den schicken Reports konnten sowohl die Entwickler als auch das Management schnell ihre gewünschten Informationen gewinnen. Herausragend war die Integration von Screenshots im Fehlerfall eines Test.
Durch die intelligente Kombination von JMeter in diesen Ablauf konnte mit wenig Aufwand Lasttestskripte generiert werden.
Problem
Es stand die Aufgabe an, den Softwareentwicklungsprozess eines großen Finanzdienstleisters auf Verbesserung hinsichtlich der Qualität der ausgelieferten Software zu überprüfen.
Die Erstellung von Unittests (JUnit) ist im täglichen Ablauf schon etabliert. Die Ausführung obliegt aber dem einzelnen Entwickler. Ein zentralisiertes Buildsystem auf Basis von Ant erstellt auf Anforderung die Softwareartefakte. Eine Integrationsinstanz die in einem manuellen Schritt regelmäßig bestückt wird, steht für Gesamtintegrationstests zur Verfügung. Fazit
In enger Zusammenarbeit mit den Entwickler Team wurde eine Lösung erstellt, in der sich die einzelnen Teammitglieder wieder finden. Die Continous Integration wird nun nicht mehr als Fremdkörper gesehen, sondern als nützliches Hilfsmittel für die Auslieferung von Software mit hoher Qualität.
Beim Erstellen der Testfälle können die Entwickler in ihrer gewohnten Umgebung (Java) bleiben. Die schnelle Rückmeldung der Testergebnisse aufgrund von Änderungen hatte den größten Effekt.