• 5
  •  
  •  
  •  
  •  
    5
    Shares
Testing und Tools

Softwarequalität im Web

Um die Qualität von Web-Anwendungen zu gewährleisten, muss bei der Entwicklung auf allen Ebenen mit entsprechender Sorgfalt programmiert und getestet werden. Unser Experte Patrick Ineichen sagt, wo man bei der Qualitätssicherung ansetzen muss.

04.10.2018Text: tnt-graphics0 Kommentare
Softwarequalität
  • 5
  •  
  •  
  •  

Softwarefehler, langsame Ladezeiten oder mangelhaftes Web-Design können die Nutzung von Webseiten stören oder gar verunmöglichen. Eine hohe Qualität der Web-Applikation ist deshalb von Anfang an und auch während der Entwicklung stets zu berücksichtigen. Manche Elemente können automatisiert getestet werden, andere wiederum werden besser von Experten, aber auch von Endnutzern getestet und danach optimiert. Patrick Ineichen, Senior Softwareentwickler bei bbv, nennt drei Bereiche in der Softwareentwicklung, bei denen mit viel Optimierungspotenzial an der Qualität geschraubt werden kann: Bei der Code-Basis, an den Schnittstellen (Bindings) und im Design.

1. Code-Basis

Auf der untersten Ebene der einzelnen Aufgaben, die in einer Web-Applikation durchgeführt werden, können die Codes isoliert getestet werden. Dies geschieht vorzugsweise automatisiert mit Hilfe von Tools. «Typischerweise finden auf dieser Ebene die häufigsten Tests statt», erklärt Patrick Ineichen. «So wird zum Beispiel getestet, wie externe Daten, die ein API bereitstellt, von der Applikation abgerufen und für die Darstellung aufbereitet werden. Das muss schnell und automatisiert gehen.» Werden diese Abläufe korrekt ausgeführt, folgen die Optimierungen im sogenannten Binding.

2. Bindings testen und Ladezeiten optimieren

Während der Datenfluss und einzelne Programmlogiken in der ersten Stufe quasi unter Laborbedingungen isoliert getestet werden können, geht es bei den Bindings um die Funktionalität und die Verknüpfung von Daten mit der grafischen Oberfläche, dem HTML-Template. Auch hier kommen automatisierte Tests zum Einsatz. Deren Fokus liegt allerdings mehr bei der Verifikation der gerenderten Webseite. «Typische Tests auf dieser Stufe decken die Darstellung von Daten in Listen- und Detailansichten ab. Ebenfalls können Interaktionen wie Button-Klicks und Formulareingaben sowie deren Validierung automatisiert getestet werden», sagt Ineichen. Tests auf dieser Stufe können einzelne Komponenten, Gruppen von Komponenten oder das gesamte System umfassen.

Bei JavaScript-basierten Web-Anwendungen übernimmt das Endgerät das Rendering der HTML Inhalte. Dies hat den grossen Vorteil, dass nach dem initialen Laden der Applikation nur noch wenige Daten mit dem Server ausgetauscht werden müssen. Davon profitieren sowohl Web-Applikationen im Browser, insbesondere aber auch mobile Anwendungen, da hier die Bandbreite für den Datenfluss oft beschränkt ist. Optimal programmierte Anwendungen sorgen dafür, dass sich die Ladezeiten auf allen Endgeräten auf ein Minimum reduzieren. Zusätzlich kann mittels Lazy Loading die Performance weiter optimiert werden, indem beim ersten Aufruf nur der Teil geladen wird, der für die Darstellung der ersten Seite zwingend erforderlich ist. Der Rest der Anwendung wird danach im Hintergrund geladen. Das Resultat ist eine noch schnellere initiale Verfügbarkeit der Applikation und somit eine gesteigerte User Experience.

3. User Experience und Design

Auf der HTML- und CSS-Ebene soll eine Webseite eine hohe Konsistenz aufweisen, damit sie von den End-Usern schnell, einfach und problemlos genutzt werden kann. Gleiche Elemente sollen also gleich aussehen, Unregelmässigkeiten werden ausgeglichen. Die Korrekturen einzelner Gestaltungselemente, Elementen im Layout oder auch bei der Rechtschreibung können kaum mehr automatisiert vorgenommen werden. Auch die Internationalisierung beziehungsweise die Mehrsprachigkeit muss manuell überprüft werden. Um die Qualität einer Anwendung zu testen, sollen sowohl Spezialisten als auch «echte» End-User, welche die Anwendung zuvor nie gesehen haben, einen Test vornehmen.

«Da heute Webseiten nicht mehr einmal für Desktop-Anwendungen und einmal für die mobile Nutzung programmiert werden, muss gewährleistet sein, dass eine responsive Webseite bei allen Bildschirmgrössen und mit sämtlichen gängigen Browsern richtig dargestellt wird», sagt Ineichen. Die Kombinationen aus variablem Betriebssystem, Bildschirmgrösse und Broswer sind sehr vielfältig und können einen erheblichen manuellen Testaufwand nach sich ziehen, um eine hohe Qualität für eine breite Nutzergruppe zu gewährleisten. Anders ist es, wenn die Anwendung nur für bestimmte Nutzer vorgesehen ist, wie etwa in einem Intranet eines Unternehmens, bei dem vielleicht nur ein Browser und ein Betriebssystem bei Desktop-Nutzung zugelassen sind. In diesem Fall müssen auch nur diese entsprechenden Bedingungen getestet werden.

Der Experte

Patrick Ineichen

Patrick Ineichen ist als Senior Software Engineer bei bbv tätig und setzt seit über 10 Jahren erfolgreich Visionen von Kunden in Software um. Seit mehr als 3 Jahren beschäftigt er sich zudem intensiv mit dem Bau von modernen Web-Applikationen und leitet die Web-Community von bbv.

Unser Wissen im Abo

Programmierprinzipien im Umbruch

Von der Kunst, guten Code zu schreiben

Agile Software Development
Entwicklungsprozesse optimieren

Schätzungen sind out, Prognosen sind in

Agile Software Development
Zertifizierung durch iSAQB

Ein Standard für Software-Architekten

Softwareentwicklung

Artikel kommentieren

Die E-Mail-Adresse wird nicht publiziert. Notwendige Felder sind mit einem * versehen.

Beachtung!

Entschuldigung, bisher haben wir nur Inhalte in English für diesen Abschnitt.

Achtung!

Entschuldigung, bisher haben wir für diesen Abschnitt nur deutschsprachige Inhalte.

Beachtung!

Entschuldigung, bisher haben wir nur Inhalte in English für diesen Abschnitt.

Achtung!

Entschuldigung, bisher haben wir für diesen Abschnitt nur deutschsprachige Inhalte.