Tourniquet JUnit 0.4.6 released
Mit dem heutigen Release von Tourniquet JUnit 0.4.6 gibt es vor allem Erweiterungen des HTTP Server Mock als auch der PageObjects Bibliothek.
Mit dem heutigen Release von Tourniquet JUnit 0.4.6 gibt es vor allem Erweiterungen des HTTP Server Mock als auch der PageObjects Bibliothek.
Heute wurde ein neues Release von Tourniquet-Junit (0.4.5) veröffentlich. Tourniquet ging aus dem Projekt Scribble hervor und wird nun als eigenständiges Projekt weiterentwickelt.
In besondere beim Betrieb von Legacy Web Anwendungen gibt es häufig wiederkehrende administrativen Aufgaben. Nicht selten gibt es für derartige Anwendungen eine Administrationsoberfläche, jedoch keine für Administration nutzbare Service Schnittstelle. Dennoch können administrative Aufgaben mit einfachen Mitteln automatisiert werden, sofern die Weboberfläche aus HTML- und HTTP-Sicht gut strukturiert ist. Von Vorteil ist zusätzlich, wenn die Client-Server Interaktion nicht zu stark auf Server-seitige Session States setzt und für verschiedene Operationen auch verschiedene Einsprungpunkte liefert.
Die Discipline des Testens hat in den letzten Jahren durch agile Entwicklung und Automation ein Revival erlebt. Zwar gibts es nach wie vor noch manuelle Tests, insbesondere Smoke Tests und Usability Tests, doch der überwiegende Teil der Tests, allen voran Unit Tests, wird heutzutage automatise ausgeführt. Ein Grossteil dessen, was wir testen, sind Funktionen oder Features. Diese Funktionen und Features überführen bestimmte Eingabeparameter in ein beobachtbares Resultat.
Legacy Code ist Code, der nicht nach aktuellen Massstäben der Software-Entwicklung entwickelt wurde, nicht mehr gewartet wird und häufig nicht oder unzureichend dokumentiert wird. Aber auch externe, proprietäre closed source Libraries genügen häufig diesen Kriterien. Oftmals wird dieser Code jedoch nach wie vor betrieben und muss auch hin und wieder angepasst werden, z.B. um regulatorischen Anforderungen nachzukommen. Legacy Code kommt häufig in der Form eine CLOBs daher. Eine undefinierte Masse an Codezeilen, von der keiner mehr weiss, was er tut. Ein erster Schritt ist es, das System in seine logischen Bestandteile zu zerlegen. Nicht selten werden jedoch Umsysteme über 3rd Party Libraries eingebunden und der Zugriff darauf erfolgt von der Präsentationsschicht durch alle anderen logischen Schichten bis zum Umsystem in einer einzigen Methode. Bevor ein Refactoring einer solchen Methode geschehen kann, muss die Abhängigkeit zum Umsystem entkoppelt um einen Test der bestehenden Methode geschrieben. Ein einfaches Hilfsmittel aus dem Java Toolset zur Entkopplung des Umsystems ist der ServiceLoader. Der ServiceLoader ist ein einfacher Dependency Injection Mechanisms und Teil der Standard Edition, d.h. seit der Version 6 in jedem Java Runtime Environment verfügbar. Um den ServiceLoader zu benutzen, benötigt man drei Elemente:
© 2015-2026, DevCon5 GmbH Datenschutzerklärung
Design durch Bootstrapious. Portiert nach Hugo durch DevCows.