-
Notifications
You must be signed in to change notification settings - Fork 0
Frontend Testen mit geeignetem Tool
Das Frontend soll automatisiert getestet werden. Hierfür sollen ganze User Stories durchgespielt werden.
Als Erstes wurde Selenium als Testtool vorgeschlagen. Nach weiteren Recherchen wurden wir auf das Testtool Protractor aufmerksam. In diesem Abschnitt stellen wir beide Tools gegenüber und wählen eins von beiden aus. Gestartet wird mit Selenium.
Die Selenium - Familie besteht aus mehreren Tools in der Testautomatisierung. Insbesondere das Framework Selenium WebDriver hat einen sehr guten Ruf. Außerdem ist Selenium der Marktführer im Bereich automatisierte Tests von Webapplikation. Seit Juni 2018 ist Selenium offizieller W3C Standard für automatisierte Tests von Webapplikationen. Alle Tools von Selenium sind Open Source. Weiterhin ist das Framework für verschiedenen Language Bindings, z.B. Java, Phyton und C# verfügbar. Daher kann man Selenium in der Programmiersprache nutzen, die man am besten kann. Zusätzlich gibt es viele Tools Plugins und Erweiterungen für Selenium, beispielsweise "Selenium für Jenkins" (zur Steuerung eines Selenium Grid-System) oder "Taurus" (zur Verbindung von Lasttests unter JMeter)(Quelle 1.1).
Abschließend werden die Vor- und Nachteile von Selenium aufgelistet.
Die Nachteile von Selenium sind (Quelle 1.2):
- Keine automatische Synchronisation von GUI Elementen
- Direkte Bearbeitung der aufgezeichneten Schritte nicht möglich
Die Vorteile von Selenium sind (Quelle 1.1):
- Plattformunabhängig
- Browserübergreifend
- Skalierbar
- Open Source
- W3C Standard (World Wide Web Consortium)
- Bessere Dokumentation und Nachvollziehbarkeit der Tests
- Hohe Ersparnis von Zeit und Kosten
Protractor ist ein End - zu - End Testtool für Angular. Das Werkzeug ist eine Node.js Anwendung, welche auf WebDriverJS basiert. Es verwendet das Test - Framework "Jasmine". Ist man mit JavaScript vertraut, soll man einen leichten Einstieg haben. Das Vorgehen ist ähnlich einfach. Es wird meistens ein Use Case orientiertes Vorgehen durchgeführt. Ist ein Use Case durchgängig testbar, kann mit der Test - Implementierung begonnen werden. Das bedeutet, wenn alle zugehörigen User Stories umgesetzt worden sind.
Nun werden die technischen Vorraussetzungen gezeigt.
Zunächst muss die Anwendung lauffähig sein, nur dann kann Protractor die Tests ausführen. Außerdem sollten die Elemente im Projekt gut und logisch mit ID und Name benannt werden (Quelle 2.1).
Zum Schluss werden Vor- und Nachteile von Protractor ausgelistet.
Die Nachteile von Proctractor sind (Quelle 2.1):
- keine Recording Funktion
- es gibt Methoden im Framework, die nicht implementiert sind (Stand Februar 2018)
Die Vorteile von Proctractor sind (Quelle 2.1):
- die Anwendung wird vor dem Start von Tests synchronisiert
- wenn man weiß, wie es geht, dann funktioniert es ganz gut
- Protractor wartet auf den Browser, falls dieser noch offene Aufgaben hat und arbeitet anschließend automatisch weiter (Quelle 2.2)
Zwar überwiegen die Vorteile von Selenium in unserem Vergleich. Trotzdem werden wir zunächst Proctractor ausprobieren, da es für Angular Anwendungen entwickelt worden ist. Jedoch werden wir das Testtool wechseln, wenn wir auf großartige Probleme stoßen oder das Einrichten zu viel Zeit in Anspruch nimmt.
- Selenium:
1.1 https://www.qytera.de/testing-solutions/selenium-testautomatisierung letzte Nutzung: 24.01.2020
1.2 https://www.qfs.de/qf-test/web-testen/testautomatisierung-selenium-vs-qf-test.html letzte Nutzung: 24.01.2020 - Proctractor:
2.1 https://www.solvistas.com/blog/wie-funktioniert-e2e-testing-fuer-angular/ Stand: Februar 2018, letzte Nutzung: 20.01.2020
2.2 https://www.protractortest.org/#/ letzte Nutzung: 27.01.2020