Skip to content
This repository has been archived by the owner on Sep 7, 2020. It is now read-only.

Frontend Testen mit geeignetem Tool

Dburgart edited this page Jan 27, 2020 · 5 revisions

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.

Testtool 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

Testtool Protractor

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)

Fazit

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.

Quellen

  1. 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
  2. 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