© saicle/Shutterstock.com
PHP Magazin
DalekJS erlaubt es, Tests in JavaScript in einer jQuery-ähnlichen Umgebung zu schreiben

DIY-Testing-Tool

Machen wir uns nichts vor, in den vergangenen Jahren hat sich die Komplexität der von uns gestalteten Frontends vervielfacht. Dabei ist nicht nur die Codekomplexität ein Thema, auch die zu bedienenden Zielplattformen haben sich durch den Zuwachs in der Familie der mobilen Endgeräte und die immer kleiner werdenden Intervalle zwischen Browserversionen exponentiell vermehrt. Was dadurch vor allem in kleineren Projekten auf der Strecke bleibt, ist die Qualitätskontrolle.

Sebastian Golasch


Verdeutlichen wir die Situation doch erst mal an einer Problemstellung, die jedem von uns sicherlich schon einmal so oder so ähnlich begegnet ist: Nehmen wir mal an, wir sind einer der Frontend-Entwickler in einem Team, das ein Onlineshopsystem betreut. Eines der meist genutzten Features ist die prominente Artikelsuchmaske, die auf jeder Seite zu finden ist. Ein kritisches Feature ist es zudem, denn funktioniert die Suchmaske nicht, ist der potenzielle Kunde nicht in der Lage, eine Auswahlliste geeigneter Produkte angezeigt zu bekommen und findet dadurch auch nicht den Weg auf die Detailseite eines Produkts. So weit, so gut. Jetzt aber kommt der Chef mit einem neuen Feature, das augenscheinlich gar nichts mit der Suchmaske zu tun hat, jedoch zwei, drei Änderungen am bestehenden Code nötig macht. Wir entwickeln das Feature und nach einem kurzen Check scheint alles perfekt zu funktionieren, die Unit Tests laufen durch. Alles geht seinen geregelten Gang, wir committen den Code ins Repository, der Continous-Deployment-Prozess greift automatisch, wir holen uns einen Kaffee, kommen an den Schreibtisch zurück und da steht er, der Chef. Mit grimmigem Gesichtsausdruck wird uns berichtet, dass keiner der Kunden über Chrome die Suchmaske nutzen kann. Zeit für einen Rollback, allerdings hat in der Zwischenzeit der Kollege auch einen anderen Fix eingespielt, also versuchen wir zu mergen, nichts läuft mehr … Okay, Zeit, dieses Horrorszenario zu verlassen – wie eingangs erwähnt: Viele von uns hatten sicherlich schon mal solch ein Erlebnis in ihrer Karriere.

Von anderen Bereichen lernen

Wie auch unser hypothetisches Shoppingportalteam haben wir uns dann Gedanken gemacht, wie wir solche Probleme in Zukunft vermeiden können. Ein bewährtes Mittel, bekannt unter anderem aus dem Pilotenhandwerk, sind Checklisten. Bevor wir, beziehungsweise unser Code „abhebt“, versichern wir uns, dass alles funktioniert:

Schritt 1: Öffne Firefox.Schritt 2: Tippe %Produktname% ins Suchfeld.Schritt 3: Klicke den „Suchen“-Button.Schritt 4: Prüfe, ob das Testprodukt in der Liste auftaucht.Schritt 5 bis 257: Wiederhole dies in allen möglichen unterstützten Betriebssystemen und Browservarianten.

Klar, für Piloten mag dies ein probates Mittel sein – für die Webentwicklung ist es gänzlich ungeeignet, da extrem zeitaufwändig und, durch die menschliche Komponente, auch fehleranfällig. Im Umkehrschluss brauchen wir also etwas, dass uns die Arbeit abnimmt. Etwas, auf das wir uns verlassen können, etwas, wa...

PHP Magazin
DalekJS erlaubt es, Tests in JavaScript in einer jQuery-ähnlichen Umgebung zu schreiben

DIY-Testing-Tool

Machen wir uns nichts vor, in den vergangenen Jahren hat sich die Komplexität der von uns gestalteten Frontends vervielfacht. Dabei ist nicht nur die Codekomplexität ein Thema, auch die zu bedienenden Zielplattformen haben sich durch den Zuwachs in der Familie der mobilen Endgeräte und die immer kleiner werdenden Intervalle zwischen Browserversionen exponentiell vermehrt. Was dadurch vor allem in kleineren Projekten auf der Strecke bleibt, ist die Qualitätskontrolle.

Sebastian Golasch


Verdeutlichen wir die Situation doch erst mal an einer Problemstellung, die jedem von uns sicherlich schon einmal so oder so ähnlich begegnet ist: Nehmen wir mal an, wir sind einer der Frontend-Entwickler in einem Team, das ein Onlineshopsystem betreut. Eines der meist genutzten Features ist die prominente Artikelsuchmaske, die auf jeder Seite zu finden ist. Ein kritisches Feature ist es zudem, denn funktioniert die Suchmaske nicht, ist der potenzielle Kunde nicht in der Lage, eine Auswahlliste geeigneter Produkte angezeigt zu bekommen und findet dadurch auch nicht den Weg auf die Detailseite eines Produkts. So weit, so gut. Jetzt aber kommt der Chef mit einem neuen Feature, das augenscheinlich gar nichts mit der Suchmaske zu tun hat, jedoch zwei, drei Änderungen am bestehenden Code nötig macht. Wir entwickeln das Feature und nach einem kurzen Check scheint alles perfekt zu funktionieren, die Unit Tests laufen durch. Alles geht seinen geregelten Gang, wir committen den Code ins Repository, der Continous-Deployment-Prozess greift automatisch, wir holen uns einen Kaffee, kommen an den Schreibtisch zurück und da steht er, der Chef. Mit grimmigem Gesichtsausdruck wird uns berichtet, dass keiner der Kunden über Chrome die Suchmaske nutzen kann. Zeit für einen Rollback, allerdings hat in der Zwischenzeit der Kollege auch einen anderen Fix eingespielt, also versuchen wir zu mergen, nichts läuft mehr … Okay, Zeit, dieses Horrorszenario zu verlassen – wie eingangs erwähnt: Viele von uns hatten sicherlich schon mal solch ein Erlebnis in ihrer Karriere.

Von anderen Bereichen lernen

Wie auch unser hypothetisches Shoppingportalteam haben wir uns dann Gedanken gemacht, wie wir solche Probleme in Zukunft vermeiden können. Ein bewährtes Mittel, bekannt unter anderem aus dem Pilotenhandwerk, sind Checklisten. Bevor wir, beziehungsweise unser Code „abhebt“, versichern wir uns, dass alles funktioniert:

Schritt 1: Öffne Firefox.Schritt 2: Tippe %Produktname% ins Suchfeld.Schritt 3: Klicke den „Suchen“-Button.Schritt 4: Prüfe, ob das Testprodukt in der Liste auftaucht.Schritt 5 bis 257: Wiederhole dies in allen möglichen unterstützten Betriebssystemen und Browservarianten.

Klar, für Piloten mag dies ein probates Mittel sein – für die Webentwicklung ist es gänzlich ungeeignet, da extrem zeitaufwändig und, durch die menschliche Komponente, auch fehleranfällig. Im Umkehrschluss brauchen wir also etwas, dass uns die Arbeit abnimmt. Etwas, auf das wir uns verlassen können, etwas, wa...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang