Effizienz durch Testautomatisierung

Effizienz durch Testautomatisierung

Automatisierte Tests können, wenn sie richtig eingesetzt werden, den Aufwand im Projekt deutlich reduzieren und können insbesondere bei größeren Softwareprojekten die Entwicklung schneller vorantreiben. Testautomatisierung ist dabei ein mächtiges Werkzeug, was die Qualität im Softwareentwicklungsprozess sicherstellt, indem es diesen auf korrekte Funktionsweise überprüft und Fehler, Hinweise auf Schwachstellen im Programmcode, sonstige Probleme oder Seiteneffekte findet.

Die Alternative sind manuelle Tests, die aber bei einer regelmäßigen Weiterentwicklung sehr zeitaufwändig werden. Ziel der Testautomatisierung ist es daher, den Menschen bei den ständigen Wiederholungen zu entlasten und nur bei echten „Treffern“ (sprich Tests die fehlgeschlagen sind) zu informieren. So kann im Zweifel auch die Entwicklung angehalten bzw. die Inbetriebnahme (Deployment) verhindert werden. Dabei sind die Tests jederzeit wiederholbar und können effizient gestaltet werden. So lässt sich sicherstellen, dass die Software einen gewissen Qualitätsstandard erreicht hat, bevor sie ausgeliefert wird.

Das Feld der Testautomatisierung ist umfangreich und weitläufig. Dem Scrum-Entwicklungsteam stehen dabei viele Tools und Frameworks bei der Qualitätssicherung zur Seite. Das von ETECTURE entwickelte Tool Testron erleichtert es den Entwicklern, Seiten in diversen Anwendungsszenarien mithilfe von Screenshots abzugleichen. Dabei handelt es sich um ein Tool, mit dem Entwickler effizient und qualitätskonform prüfen können, ob es in der Browserdarstellung Schwachstellen oder Abweichungen gibt.

CMP_1163-1280x1024_anonTypische Anwendungsszenarien für automatisch erstellte Screenshot-Vergleiche sind zum Beispiel Tests auf Seiteneffekte bei der Erweiterung des Funktionsumfangs auf neue Komponenten oder Elemente. Dies stellt eine typische Situation in der agilen Web-Anwendungsentwicklung dar. Die bereits bestehenden Komponenten und Elemente sollen weiterhin fehlerfrei funktionieren. Im Rahmen der Strukturverbesserung der Quelltexte (Refactoring) kann so überprüft werden, ob dies ohne unerwünschte Seiteneffekte durchgeführt wurde. Hier wäre also die Erwartung, dass die Screenshots bereits zuvor entwickelter Komponenten beim Vergleich von SOLL (Referenz) und neuem IST identisch sind.

Weitere Beispiele sind Fehlerbeseitigung (Bugfix) bestehender Elemente oder Anpassungen für die Unterstützung neu auf den Markt gekommener Endgeräte (z.B. neue Smartphones oder Tablets). Hier wäre entsprechend die Erwartung, dass die Screenshot-Vergleiche zwischen alter Referenz (vor dem Bugfix oder der Weiterentwicklung) gegenüber dem neuem IST-Zustand abweichen. Die Abweichungen lassen sich dann einfach durch einen Entwickler oder auch durch einen entsprechend versierten Tester durchschauen.

Natürlich sind automatisiert erstellte Screenshot-Vergleiche neben weiteren Tests (Unittests, Lasttests, explorative Tests) nur eine Komponente, aber dennoch stellen sie eine spannende und sinnvolle Ergänzung dar – speziell in einem Umfeld, in dem viel im Bereich CSS/JavaScript, CMS mit Anwendungsintegration und Endgeräten stattfindet.

Redaktion
von