JMeter für Lazy Tester – Proxy

jmeter-logoMittlerweile ist das Testen an jeder Ecke, man testet dies, man testet das, es gibt für jeden Einsatzzweck ein eigenes Tool und trotzdem machen alle das gleiche und zwar testen, testen und wieder testen. Manche Tools machen das Leben einfacher andere wiederum schwerer, sobald die Menge an Tests einen erschlägt und man nicht mehr den Code refactored sondern die Tests, vllt. wird es irgendwann soweit kommen, dass man Tests für die Tests anfängt zu schreiben 🙂
Na ja, wie auch immer, heute will ich euch den JMeter näher bringen, wie man mit seiner Hilfe, ganz einfache Tests für eine bestehende Webanwendung schreiben kann, ohne viel Aufwand dafür aufbringen zu müssen.
Zunächst besorgen wir uns JMeter Binaries, nachdem wir es entpackt haben, führen wir die ( jmeter.sh | jmeter.bat ) im Ordner /bin aus, in wenigen Sekunden sollten wir vor unseren Augen die GUI zu sehen bekommen:
Apache-JMeter-Testplan
Als Erstes, wechseln wir die Sprache von Deutsch auf Englisch unter Optionen > Wählen Sie eine Sprache > English, gleich danach mit einem geschickten Maus-Rechtsklick auf den Testplan > Add > Threads (Users) > Thread Group und belasen alles so wie es ist.
Nun folgt ein weiterer Maus-Rechtsklick, diesmal aber auf den WorkBench > Add > Non-Test Elements > HTTP(S) Test Script Recorder und jetzt ändern wir hier ein paar Sachen ab:

  • Global Settings > Port = 8090
  • Test plan content > Target Controller = Testplan > Thread Group
  • URL Patterns to Include > Add = .*

Wir sind fast soweit, wir brauchen jetzt nur noch einen View Results Tree – Listener, also wieder Maus-Rechtsklick auf den Testplan > Add > Listener > View Results Tree.
Das Ganze sieht am Ende dann so aus:
Apache-JMeter-2
Als letzten Schritt müssen wir jetzt nur noch den Proxy im Browser eintragen als Host: localhost und Port: 8090 und die Tests-Aufzeichnung kann beginnen, sobald wir auf den Start Button klicken beim HTTP(S) Test Script Recorder.
Was wollen wir aber testen? Nun, ich habe mich für Icinga Web 2 entschieden, wegen den vielen Requests die im Hintergrund so passieren und folgendes kleines Szenario überlegt:

  • aufrufen der Startseite
  • anmelden
  • nach test-flap-10 suchen
  • test-flap-10 Host aufrufen
  • System Configuration aufrufen
  • History Notifications aufrufen
  • Dashboard Landingpage aufrufen
  • abmelden

Jetzt drücken wir auf den Start Button und rufen im Browser http://localhost:8080/icingaweb auf und gehen das Szenario durch und wenn wir fertig sind, können wir die Test-Aufzeichnung im JMeter über den Stop Button beenden.
Das wars auch schon, die Thread Group wurde mit allen Requests gefüllt die so alles entstanden sind während der Test-Aufzeichnung und können nun auch von JMeter abgespielt werden.
Apache-JMeter-3
Die Requests Ergebnisse können nach dem Abspielen im View Results Tree ausgewertet werden.
Apache-JMeter-4
Sollte kein Request fehlgeschlagen haben, so können wir davon ausgehen, dass die Kommunikation zwischen dem Front- und Backend funktioniert.
Im Großen und Ganzen wie man sieht, lässt sich mit JMeter sehr schnell und einfach ein Test aufzeichnen, abspielen und auswerten und jetz kommt das ABER …
… dafür gibt’s weiter unten die Kommentare 😉
P.S. Humor …

Webinar-Video zum Puppet-Webinar vom 17.10.2013 ist nun online

logo_PuppetWie bereits gestern im Webinar versprochen, haben wir uns um einen schnellen Schnitt und eine rasche Konvertierung des Webinar-Videos gekümmert. Das Video vom Puppet-Webinar ist ab sofort auf YouTube und unserer Webinar-Archivseite zu sehen. Außerdem haben wir die Präsentationsfolien auf slideshare zur Verfügung gestellt.
Alles beides zusammen gibt’s schön aufgeräumt auf unserer Webinar-Seite.

Jetzt schon für die nächsten Webinare registieren:

  • Graphite – 06.11.2013 – 14:00 Uhr
  • Icinga 2 – 13.11.2013 – 14:00 Uhr
Georg Mimietz
Georg Mimietz
Lead Senior Systems Engineer

Georg kam im April 2009 zu NETWAYS, um seine Ausbildung als Fachinformatiker für Systemintegration zu machen. Nach einigen Jahren im Bereich Managed Services ist er in den Vertrieb gewechselt und kümmerte sich dort überwiegend um die Bereiche Shop und Managed Services. Seit 2015 ist er als Teamlead für den Support verantwortlich und kümmert sich um Kundenanfragen und die Ressourcenplanung. Darüber hinaus erledigt er in Nacht-und-Nebel-Aktionen Dinge, für die andere zwei Wochen brauchen.

Nicht vergessen! Donnerstag findet unser Puppet Webinar statt

logo_PuppetAuch diese Woche werden wir unsere Interessenten wieder mit einem Webinar von unseren Produkten überzeugen. Am Donnerstag, 17.10.2013 findet um 14:00 Uhr unser Webinar zum Thema Puppet statt. Wir werden dabei sowohl auf die Open-Source als auch auf die Enterprise-Lösung eingehen. Die Teilnahme am Webinar ist natürlich für Jedermann kostenfrei möglich. Weitere Details und die Registrierungseite sind auf der NETWAYS-Seite unter Webinare zu finden.
Das Webinar wird von Markus Waldmüller und Georg Mimietz geführt.
Übrigens: In 3 Wochen, am 06.11.2013 findet unser GraphiteWebinar statt. Also nicht verpassen und gleich registrieren.

Georg Mimietz
Georg Mimietz
Lead Senior Systems Engineer

Georg kam im April 2009 zu NETWAYS, um seine Ausbildung als Fachinformatiker für Systemintegration zu machen. Nach einigen Jahren im Bereich Managed Services ist er in den Vertrieb gewechselt und kümmerte sich dort überwiegend um die Bereiche Shop und Managed Services. Seit 2015 ist er als Teamlead für den Support verantwortlich und kümmert sich um Kundenanfragen und die Ressourcenplanung. Darüber hinaus erledigt er in Nacht-und-Nebel-Aktionen Dinge, für die andere zwei Wochen brauchen.