Erfolg oder Misserfolg eines Projekts zur Anwendungsentwicklung hängen fast immer von der Performance der Anwendung ab. Egal wie nützlich oder cool eine Anwendung ist, wenn ihre Ausführung zu lange dauert, werden die Endbenutzer sie nicht nutzen. Monate, manchmal sogar Jahre des Programmierens waren vielleicht vergebens.
Diese grundlegende Tatsache der Anwendungsentwicklung ist der Grund, warum wir bei Mansystems Performance für so wichtig halten. Wir wollen sicherstellen, dass alles schon beim ersten Anlauf richtig gemacht wird – und das jedes Mal. Darum bin ich als Mendix Performance Specialist besonders begeistert von Dingen wie den Lasttest-Tools, die das Forschungs- und Entwicklungsteam des Bereichs Application Performance Management (APM) entwickelt hat.
Dieser Blog-Artikel erläutert die entscheidende Rolle von Lasttests, wenn es darum geht, das Erreichen und Erhalten eines großartigen Nutzungserlebnisses in der Anwendung sicherzustellen.
Was sind Performance-Tests?
Performance-Tests sind wichtig, da sie Einblicke in das Verhalten und die Leistung einer Anwendung bieten. Sie ermöglichen den Entwicklungsteams, Reaktionszeiten, Verarbeitungszeiten und Durchsatz zu testen. Außerdem helfen Performance-Tests Entwicklungsteams zu bestimmen, ob die Kapazität der verfügbaren Infrastruktur ausreichend ist, um ein gesetztes Performance-Ziel zu erreichen.
Natürlich gibt es verschiedene Arten von Performance-Tests, die verschiedene Aspekte der Anwendung abdecken. In diesem Blog-Artikel wollen wir uns allerdings speziell mit dem Bereich Lasttests beschäftigen.
Was sind Lasttests?
Bei Lasttests wird eine Anwendung, ein System oder ein Gerät mit zusätzlichen Anfragen konfrontiert und die Reaktion gemessen. Dabei wird die Last auf das System immer weiter erhöht, bis ein Wert erreicht ist, der bei der Bereitstellung in einer Produktionsumgebung zu erwarten wäre. Mit steigender Last auf die Anwendung liefern Lasttest-Tools wertvolle Erkenntnisse über Ressourcennutzung, Schwellenwerte und Gesamtdurchsatz der Anwendung.
Um den Generierungsprozess dieser Lasten zu automatisieren, hat die Forschungsabteilung bei Mansystems einen Lastgenerator-Bot entwickelt, der speziell für mit der Mendix-Plattform entwickelte Low-Code-Anwendungen erstellt wurde. Dieses Tool zeichnet nicht nur Protokollmeldungen auf, die zwischen dem Browser und der Mendix Runtime gesendet werden, sondern speist auch Daten in die Mendix-APM-Plattform ein.
So können Entwicklungsteams genau kontrollieren, wie Lasten generiert werden und sogar Lastskripte aufzeichnen und wiedergeben. Alles ist automatisiert: von der Mendix Login-Sicherheit und Mendix 7 Objekt-Hashes bis hin zur Zuordnung von Mendix-Bezeichnern aus Antworten zu Anfragen. Lasttests können entweder auf Basis der Benutzerzahl oder des Durchsatzes durchgeführt werden. Während des Tests können wir interaktiv die Zahl der Benutzer oder den angeforderten Durchsatz ändern. Ein Timer verknüpft mehrere Protokollmeldungen mit den von den Benutzern angeklickten Links, um die User Experience nachverfolgen zu können. Timer werden automatisch mit demselben im Browser laufenden Agent erstellt, der die Aufzeichnung startet.
Und das Beste daran: Da wir überall denselben Agent verwenden, können wir unseren mandantenfähigen Cloud-Manager nutzen, um eine Verbindung zu Bots herzustellen, die lokal oder in der Cloud laufen. Der Agent beinhaltet außerdem unsere Bot-Software, die es Entwicklungsteams ermöglicht, zu Entwicklungs- und Testzwecken die Aufzeichnung und Wiedergabe in ihrem eigenen Modeler vorzunehmen, ohne dafür jemals selbst einen Bot konfigurieren zu müssen.
Über Lasttests hinaus
Lasttests werden oft mit Dauerlasttests, Volumentests, Skalierbarkeitstests, Lastspitzentests oder Stresstests in einen Topf geworfen. Auch wenn viele Testarten Lasttests beinhalten, sollten Entwicklungsteams separate Prozesse für verschiedene Testszenarien haben. Dazu gehören zum Beispiel:
- Dauerlasttests, bei denen Lasttests über einen längeren Zeitraum durchgeführt werden, um z. B. Speicherlecks zu erkennen,
- Volumentests, bei denen mit großen Datenmengen getestet wird,
- Skalierbarkeitstests, die die Fähigkeit der Anwendung messen, je nach aufgerufener Funktion vertikal oder horizontal zu skalieren,
- Lastspitzentests, die auf Lasttests zur Überprüfung der Anwendungsstabilität bei zunehmender Systemaktivität und steigender Zahl der gleichzeitigen Benutzer beruhen.
- Stresstests, bei denen das Verhalten der Anwendung jenseits von Spitzenlast und normalen Bedingungen simuliert wird.
Was können Sie von uns erwarten?
In diesem Blog-Artikel haben wir die Bedeutung von Performance aufgezeigt, haben die verschiedenen Arten von Performance-Tests vorgestellt und demonstriert, wie wir mit den Mendix-Apps Lasttests durchführen können. Entwicklungsteams können sich natürlich auch immer an einen Performance Specialist von Mansystems wenden, der dann jede gewünschte Art von Performance-Test für sie durchführt. Wir verwenden selbstverständlich agile Testmethoden, um so Qualität, Wiederholbarkeit und möglichst geringe Kosten sowie genaue Schätzungen des Testaufwands zu gewährleisten. Denken Sie bis dahin daran: Testen Sie oft und frühzeitig!
{{cta('2f02e1f5-db6d-4298-a6a5-96f6b6e6112e')}}
Finden Sie heraus, wie CLEVR die Wirkung Ihres Unternehmens steigern kann
Frequently Asked Questions
Can't find the answer to your question? Just get in touch