Eine Webanwendung läuft - und das ist gerade der große Benefit - nicht ausschließlich in einem Webbrowser auf einem Desktop Gerät.
Mit zunehmend anspruchsvolleren Anwendungen müssen diese Rahmenbedingungen von Plattform und Displayformat bei Tests mit berücksichtigt werden.
Für Anwender zähle nämlich schon lange nicht mehr rein funktionale Gesichtspunkte, sondern auch nichtfunktionale Anforderungen wie Geschwindigkeit und eine gute Bedienbarkeit spielen eine Rolle.
In dem vierten Teil seiner Artikelserie rund um Testing von Web Anwendungen betrachtet Karsten Sitterberg nun spezielle Szenarien:
Dabei werden Fragen beantwortet, die sich um das Testen von HTML5 Anwendungen, Web-Anwendungen auf mobilen Endgräten beantwortet.
Zudem wird erklärt, wie mit Devices in der Cloud getestet werden kann, wie sich eine Anwendung auf einer speziellen Plattform und dem zugehörigen Display-Format verhält.
Geschrieben von Thomas Kruse am 25. September 2019
In der Softwareentwicklung sollte es selbstverständlich sein, das Verhalten einer Anwendung stets basierend auf der fachlichen Spezifikation zu implementieren. Um sicherzustellen zu können, dass die fachlichen Vorganben eingehalten werden, werden Integrations- und auch Ende-zu-Ende-Tests (E2E-Tests) geschrieben.
Aufgrund ihrer jeweiligen Komplexität befinden sich die E2E-Tests in der Testpyramide über den Integrationstests, diese befinden sich über den Unit-Tests.
Somit sollten sowohl Integrations- als auch E2E-Tests einen geringeren Anteil am geschriebenen Testcode haben als Unit-Tests.
Im dritten Teil seiner Artikelserie hat Karsten Sitterberg beschrieben, mit welchem Vorgehen und welchen Tools bei der Erstellung eben solcher E2E- und Intergations-Tests vorgegangen werden kann.
Bei Web Anwendungen stellt sich die Frage nach einer guten Testbarkeit und auch nach einer guten Vorgehensweise bei Web Tests.
Als grundlegende Metrik, um Aufwand und Menge der Tests abzuschätzen, hat sich die Testpyramide eingebürgert.
Auf der untersten Ebene befinden sich die Unit-Tests, die sich durch eine eher geringe Komplexität auszeichnen, dafür jedoch den Großteil der Tests ausmachen.
Wie das Vorgehen bei der Erstellung von Unit-Tests aussehen kann, und welche Libraries und Frameworks bei Unit Tests für Webanwendungen helfen können, hat Karsten Sitterberg im zweiten Teil seiner Artikelserie zum Testen von Browser Anwendungen beschrieben.
Für manche Testszenarien muss auch ein Dateidownload mit getestet werden, z.B. um die resultierende Datei auf Korrektheit zu prüfen.
Für Ende-zu-Ende Tests gibt es diverse Werkzeuge, eins davon ist das von Google entwickelte Puppeteer.
Mit Puppeteer lässt sich aktuell der Chrome Browser fernsteuern, eine Erweiterung auf Mozilla Firefox ist ebenfalls in Arbeit.
In diesem Beitrag wird gezeigt, wie mit Docker und Puppeteer ein entsprechendes Testszenario umgesetzt werden kann.
Seitdem Frameworks wie Angular und React zusammen mit TypeScript die Möglichkeit eröffnen, komplexe Frontend Anwendungen zu erstellen, kommt auch die Frage auf, wie diese langfristig wartbar und erweiterbar konzipiert werden können.
Als Antwort auf diese Frage liefert Karsten Sitterberg die bereits bei Backend-Anwendungen bewährte Herangehensweise des Test-Driven-Development (TDD) für Browser Anwendungen.
Im ersten Teil seiner Artikel Serie führt Karsten Sitterberg die grundlegenden Begriffe und Motivation für Tests von Webanwendungen ein und liefert einen Fahrplan für eine optimale Entwicklung einer gut getesteten Anwendung.
Dabei werden sowohl die Bedürfnisse der Entwickler klassischer (MVC) Webanwendungen, als auch von Single Page Application (SPA) berücksichtigt.
Geschrieben von Karsten Sitterberg am 26. Mai 2019
Das Angular-CLI richtet mit Angular 8 einen erweiterten Support für SVG-Grafiken ein.
Dies wollen wir zum Anlass nehmen, den SVG-Support von Angular einmal genauer zu beleuchten.
Karsten Sitterberg stellte auf der Jax 2019 in Mainz in seinem Vortrag "Effektives Testen von Browseranwendungen" Technologien und Frameworks vor.
Der Überblick wurde dabei durch Tipps und Best-Practices für die Erstellung von wartbaren Tests ergänzt.
Bei der Java User Group Münster stellte Karsten Sitterberg Technologien und Frameworks zum Testen von Browser-Anwendungen vor.
Der Überblick wurde dabei durch Tipps und Best-Practices für die Erstellung von wartbaren Tests ergänzt.
Geschrieben von Philipp Löpenhaus am 20. November 2018
Debugging ist ein wichtiges Werkzeug in der Softwareentwicklung.
Aus klassischen Umgebungen, wie Java oder .net ist Debugging in Entwicklungsumgebung (IDEs) wie beispielsweise Visual Studio, NetBeans oder Eclipse bekannt.
Debugging bietet dem Entwickler die Möglichkeit, Schritt für Schritt durch den Quellcode seiner Anwendung zu gehen.
Dabei kann e…
Geschrieben von Thomas Kruse am 26. September 2018
Das seit Angular 6 als Beta verfügbare Feature "Angular Elements" wird mit Angular 7 erweitert und für den produtkiven Einsatz stabilisiert.
Mit Angular Elements lassen sich mit dem Angular-Framework leichtgewichtige Web-Components entwickeln, die sich in unterschiedlichen Kontexten einsetzen lassen.
Karsten Sitterberg stellt in seinem Artikel "Architektur mit Angular Elements" vor, wie sich bereits mit Angular in Version 6 die Entwicklung von Web-Components gestalten lässt und welche Konsequenzen sich für die Architektur von Anwendungen durch die neuen Möglichkeiten ergeben.