Björn Stahl LucaNet AG, TeamPerform

Anwendungen mithilfe von Unit- und Integrationstests zu testen, hat sich als Standard etabliert. Ein sehr vernachlässigtes Thema dagegen, vor allem außerhalb von Webanwendungen, ist das Gebiet der Performancetests.

Kristian Jantz TeamPerform

Ideal wäre es, die Nutzer ihre Aufgaben auf einem Testsystem durchführen zu lassen und dann die Stabilität und Performance zu beurteilen. Der Haken: Das ist nicht immer möglich.

Anwendungen mithilfe von Unit- und Integrationstests zu testen, hat sich als Standard etabliert. Ein sehr vernachlässigtes Thema dagegen, vor allem außerhalb von Webanwendungen, ist das Gebiet der Performancetests. In diesem Artikel wollen wir zeigen, wie wir nach dem Vorbild eines Botnets ein Framework entwickelten, mit dem man verteilte Lasttests innerhalb eines Netzwerks durchführen kann.

Die LucaNet AG hat sich auf den Bereich Finanzsoftware für die Konsolidierung, Planung, Analyse und das Reporting spezialisiert. Seit 1999 hat LucaNet die Softwarelösungen stetig weiterentwickelt und versucht den Anforderungen der Kunden gerecht zu werden sowie die bestmögliche Performance zu liefern. Da auch die Kunden selbst wachsen, stellte sich für uns immer wieder erneut die Frage, wo die Grenzen unseres Systems liegen.

Testbarkeit der bestehenden Anwendung

Die Softwarelösung der LucaNet AG ist eine Client-Server-Anwendung, in der je nach Unternehmensgröße bis zu mehrere 100 Personen parallel auf einem sehr komplexen Datenmodell arbeiten, das die ganze Zeit im Speicher gehalten wird. Beim Testen der Anwendung ist es interessant, das Zusammenspiel mehrerer Nutzer im Verlauf eines Arbeitstages zu verstehen. Ideal wäre es, die Nutzer ihre Aufgaben auf einem Testsystem durchführen zu lassen und dann die Stabilität und Performance zu beurteilen. Der Haken: Das ist nicht immer möglich.

Rich Clients

Der Client ist eine Desktopanwendung, die mit Swing entwickelt wurde. Über die Jahre hat sich der Client mit zunehmendem Funktionsumfang in eine recht komplexe Java-Anwendung verwandelt. LucaNet bietet beispielsweise ein Modul zum verteilten Erfassen von Daten in einem Unternehmen. Der Kunde kann an zentraler Stelle ein Formular definieren, das später innerhalb der Anwendung durch die Anwender bearbeitet werden kann. Die Formulardaten werden vom Server über eine REST-Schnittstelle gelesen und auf dem Client entsprechend aufbereitet, angezeigt und weiterverarbeitet. Das Formular integriert sich nahtlos in die Anwendung und verwendet Teile des Clients zur Anzeige und Auswertung. Der Speicherbedarf der Clientanwendung kann je nach Komplexität des zugrunde liegenden Datenmodells und des Formulars bis zu mehreren GB betragen. Das Datenmodell der Anwendung bildet die Unternehmensstrukturen und Geschäftsprozesse des Kunden im gewünschten Detailgrad ab.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Java Magazin 7.18 - "Coding Culture"

Alle Infos zum Heft
579844001Lasttests mit Vert.x
X
- Gib Deinen Standort ein -
- or -