<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=1195114&amp;fmt=gif">

Mendix ATS – Die Lösung für Ihre Probleme beim manuellen Testen

Joris van der Heijden
Joris van der Heijden

Bei der agilen Entwicklung von Anwendungen werden manuelle Testverfahren den Anforderungen einfach nicht mehr gerecht. Neue Funktionen während eines agilen Sprints zu testen ist vielleicht noch unproblematisch. Richtig kompliziert wird es allerdings, wenn diese Funktionen und jedes bereits zuvor entwickelte Element der Anwendung erneut getestet werden müssen – in sogenannten Regressionstests. Die Herausforderung für die meisten Entwicklungsteams: Mit wachsender Größe der Anwendung fehlt die Zeit, um alle nötigen Regressionstests mit manuellen Testprozessen durchzuführen.

Die einzig effektive Lösung für dieses Problem ist es, Testprozesse, soweit dies praktisch möglich ist, zu automatisieren. Das spart nicht nur viel Zeit bei der Durchführung der Tests, es ermöglicht den Anwendungstestern auch, sich auf wichtigere Aufgaben zu konzentrieren.

Mendix Application Test Suite (ATS)

Angesichts des Bedarfs zur Automatisierung einer immer größer werdenden Anzahl von Tests ist es nicht überraschend, dass Tools zur Testautomatisierung eine der aktuell wichtigsten Kategorien in der gesamten Anwendungsentwicklung sind. Die Auswahl bei diesen Testtools ist groß. Wenn Ihr Unternehmen allerdings das Testen von in Mendix erstellten Low-Code-Anwendungen automatisieren will, überzeugen wir Sie gerne davon, dass die Mendix Application Test Suite (ATS) sich von der Konkurrenz abhebt, sowohl in der Qualität der durchführbaren Tests als auch durch die Einfachheit, mit der diese konstruiert werden können.

Test Automation Tools

Um den einzigartigen Funktionsumfang der Mendix ATS besser einschätzen zu können, sehen wir uns zunächst einmal die aktuelle Lage bei den Tools für Anwendungstests an. Die meisten Testtools, die Tests auf der Ebene der grafischen Benutzeroberfläche ausführen, können grob in zwei Kategorien eingeteilt werden.

testsuite-details
Die erste Kategorie umfasst Tools wie Selenium Webdriver, die Programmierkenntnisse zur Einrichtung und Konfiguration eines Frameworks sowie zur Analyse, zum Debuggen und zur Pflege von Testfällen erfordern. Solche Tools stehen normalerweise kostenlos über Open-Source-Projekte zur Verfügung. Sie bieten dem Nutzer viel Freiheit bei der Art der Tests, die konstruiert werden können. Allerdings erfordern ihre Einrichtung und Pflege auch sehr viel Arbeit. Die meisten Unternehmen müssen Spezialisten mit der Pflege der so erstellten Testumgebungen betrauen. Das geht nicht nur ins Geld, Unternehmensführungen, Endbenutzer und andere nicht-technische Beteiligte werden in Code entwickelte Testfälle wahrscheinlich auch nicht verstehen können, geschweige denn dazu beitragen, dass sie auf sinnvolle Weise erstellt und ausgeführt werden.

Am anderen Ende des Spektrums stehen Testtools wie Ranorex, Tosca und TestComplete, die den Tests durch eine höhere Abstraktionsebene einen Großteil ihrer Komplexität nehmen. Diese kommerziellen Tools werden in der Regel von einem Anbieter unterstützt, der eine sofort einsetzbare Testumgebung entwickelt hat. Sie erfordern bei der Einrichtung nur minimale Fähigkeiten und sind auch für nicht-technische Benutzer besser zugänglich, da sie beim Testen auf High-Level-Funktionen zurückgreifen. Der Nachteil ist allerdings, dass die meisten dieser Tools nicht für eine bestimmte Plattform optimiert sind. Tatsächlich ist die Zahl der unterstützten Testfunktionen oft begrenzt. Erweiterungen zur Optimierung der Tools oder zum Testen bestimmter Funktionen in Anwendungen speziell für eine Plattform wie Mendix erfordern entweder einen Programmierer oder einen Tester mit Programmierkenntnissen, um sie zu entwickeln. Das Paradoxe ist, dass einige dieser Tools trotz ihrer begrenzten Zahl an unterstützten Funktionen so viele Konfigurationsmöglichkeiten bieten, dass es ungefähr so ist, als würde man einen Laien in ein Flugzeug-Cockpit setzen!

IDEALE PRÜFUMGEBUNG

Unserer Meinung nach sollte eine Testumgebung idealerweise Folgendes tun:
  • Eeinfach eine schnelle Erstellung, Einrichtung und Ausführung von Testfällen ermöglichen;
  • Einfach genug sein, sodass jeder im Entwicklungsteam sie verstehen und nutzen kann;
  • Die Zeit zur Pflege der Testfälle auf ein absolutes Minimum reduzieren.

Sehen wir uns einmal an, wie Mendix ATS diese Anforderungen erfüllt. Als cloudbasierter Service reduziert Mendix ATS die zur Einrichtung und Konfiguration einer Testumgebung benötigte Zeit erheblich. Es werden keine teuren Spezialisten benötigt, die wochenlang ein Test-Framework einrichten. Entwicklungsteams können buchstäblich innerhalb von Minuten mit der Erstellung und Ausführung von Testfällen beginnen. Verbesserungen, Fehlerbehebungen und die Pflege des gesamten Frameworks werden automatisch über regelmäßig angesetzte Updates bereitgestellt.

Ein in Mendix ATS eingebauter Recorder erleichtert die Erstellung von Testfällen. Ganz im Gegensatz zu anderen Aufzeichnungs- und Wiedergabetools führen die in Mendix ATS entstandenen Aufzeichnungen zur Erstellung eines Skripts, das aus mendixspezifischen High-Level-Funktionen besteht, die Widgets ansteuern. Natürlich können diese Funktionen auch zur manuellen Erstellung von Skripten genutzt werden, falls Ihnen das lieber ist. Die Funktionen auf Widget-Level vereinfachen allerdings den Prozess. Sie müssen nicht erst einen robusten Locator für ein bestimmtes Web-Element erstellen, dann etwas Code schreiben, um dieses Element anzusteuern – wie z.B. das Anklicken des Widgets oder das Festlegen eines Wertes – und anschließend abwarten, wie lange die Seite braucht, bis sie für den nächsten Testschritt bereit ist. Funktionen wie „Widget anklicken“ oder „Wert festlegen“ erfordern nur ein paar wenige Parameter, die Sie entweder aus einer Aufzeichnung oder durch manuelle Eingabe hinzufügen und schon können Sie loslegen! Ein weiterer Vorteil: All diese Funktionen verfügen über einen eingebauten intelligenten Wartemechanismus, sodass Tests nicht direkt fehlschlagen oder, schlimmer noch, viel zu lange zur Ausführung brauchen.

 

 

Durch diese High-Level-Funktionen entstehen außerdem Skripte, die auch für die weniger technisch Versierten im Team leicht verständlich sind. Dies trägt sehr viel dazu bei, die Zusammenarbeit im gesamten Entwicklungsteam zu verbessern.

Mendix ATS reduziert außerdem Zeit und Aufwand, die in die Pflege der Testfälle investiert werden müssen. Jeder Spezialist für Testautomatisierung, der schon einmal mit Mendix gearbeitet hat, kennt die Frustration, wenn man einen Testfall in Betrieb nimmt und dann entdeckt, dass ein bestimmtes Widget durch ein Upgrade des Mendix Modelers technisch verändert wurde. Funktion und Aussehen in der Anwendung scheinen unverändert, aber im Hintergrund wurde eindeutig etwas überarbeitet. Testfälle scheitern und es muss wieder ganz von vorne mit der Entwicklung begonnen werden. Die Analyse des Problems und das Erstellen neuer Locators, und all das für jeden Anwendungsfall dieses Widgets, sind unglaublich nervtötend. Zum Glück bietet Mendix ATS zwei Möglichkeiten, dieses Problem zu umgehen.

Zum Ersten sind die Funktionen in Mendix ATS abwärts- und aufwärtskompatibel mit der Mendix-Plattform. Wenn Sie eine Funktion nutzen, die ein bestimmtes Widget anspricht, arbeitet diese Funktion in allen offiziell von Mendix unterstützten Versionen der Mendix Runtime* für dieses Widget mit denselben Parametern. Sie wollen auf einen neuen Modeler upgraden? Sie nutzen unterschiedliche Modeler-Versionen in verschiedenen Umgebungen? Alles kein Problem, Ihr Skript funktioniert in jeder Version

 

test-runs

Zum Zweiten können Teile eines Testfalls in Mendix ATS mit nur wenigen Mausklicks modularisiert werden. Diese sogenannten extrahierten Aktionen unterstützen Eingabe- und Ausgabeparameter und können einfach in vielen Testfällen genutzt werden. Gibt es Änderungen in der Art, wie Ihre Aktion die Anwendung ansprechen soll, muss dieses Problem nur in der extrahierten Aktion selbst gelöst werden. Jeder Testfall, der diese Aktion nutzt, ist dann ebenfalls korrigiert.

So großartig das alles auch klingt, es gibt ein weiteres schwieriges Problem, auf das Entwicklungsteams selbst innerhalb von Mendix ATS stoßen könnten: Möglicherweise erkennt der Recorder Ihr speziell erstelltes Widget nicht oder Sie benötigen eine Funktion, die Mendix ATS noch nicht auf Widget-Level ansteuert. Um diesem Problem zu begegnen, beschränkt sich Mendix ATS nicht nur auf Funktionen auf (Standard-)Widget-Level, sondern ermöglicht Entwicklungsteams auch das Erstellen eigener Funktionen. Dies kann entweder mit den Standard-Bausteinen der Plattform erfolgen oder Sie können sich mit Aktionen auf Selenium-Level oder mit JavaScripts austoben.

Mendix ATS ist zweifellos ein vielseitiges Tool, das einfach zu nutzen und zu pflegen ist und das gleichzeitig wahrscheinlich fast alle Funktionen beinhaltet, die ein Testteam jemals benötigen wird. Oder wie wir gerne sagen: „Wenn ein Benutzer die Funktion im Browser ausführen kann, kann man es mit ATS testen“.

*Fazit

Da Mendix ATS speziell für das Testen von Mendix-Anwendungen optimiert ist, bietet es wirklich einzigartige Funktionen, die auf keiner anderen Plattform verfügbar sind. Dazu gehören:
1. kontextbewusste Funktionen auf Widget-Level, die mit allen Mendix-Versionen kompatibel sind,
2. intelligente Wartemechanismen, die sicherstellen, dass Testskripte bei langsamer Reaktion der Test-App nicht fehlschlagen,
3. Unterstützung der Aufzeichnungs- und Wiedergabefunktion für eine Vielzahl von Standard- und Mendix-App-Store-Widgets.

Noch mehr Informationen zu Mendix ATS finden Sie im dazugehörigen Referenzleitfaden. Unter  erfahren Sie außerdem, wie Sie einen bestimmten Test implementieren können. Wir sind uns sicher: Sie werden es zu schätzen lernen, wie schnell und einfach Sie Ihre Tests ausführen können, ohne Abstriche bei der Qualität der Anwendung hinnehmen zu müssen.
New call-to-action

Joris van der Heijden

Joris van der Heijden

Joris van der Heijden is a Test Consultant and Trainer at Mansystems. As a Test Consultant he oversees the Scrum process, helps to create high-quality user stories, is responsible for test design, execution and automation at all relevant levels and aids customers in the design and execution of user acceptance tests. As a Trainer, he teaches Agile/Scrum, Software Testing Fundamentals and Test Automation and Performance Testing using tools developed by Mansystems.

Zusammenhängende Posts

Warum Mendix plus Siemens mehr ist, als die Summe der IoT-Teile

Nach ein paar Anlaufschwierigkeiten steigt die Zahl der Organisationen, die in IoT-Projekte (Internet of Things) investieren, um digital zu ...

Lesen Sie mehr

Mit Low Code die Time To Market massiv verbessern

Sascha Wendt ist als Customer Innovation Lead bei Mansystems in zahlreichen Digitalisierungs-Initiativen involviert. Im Vorfeld von IDEE 2019, wo ...

Lesen Sie mehr

Die Louwman Group, Exp Realty und die Stadtverwaltung von Rotterdam berichten auf der Mendix World 2019 von ihren Erfahrungen

Die Mendix World 2019 wird am 16. und 17. April 2019 im Ahoy Rotterdam stattfinden. Die Organisatoren erwarten mehr als 3.000 Besucher. Bei der ...

Lesen Sie mehr