Blog

Alle Beiträge in der Kategorie 'Fachartikel'

Sag’s durch die Blume – Behavior-Driven Development mit Jasmine

In der agilen Entwicklung von Software sind Tests eine Selbstverständlichkeit; das gilt auch für das Behavior-Driven Development.

iX 08/2013

„Sag’s durch die Blume – Behavior-Driven Development mit Jasmine“ in der aktuellen iX

In der aktuellen iX zeige ich, wie man auch JS-Code testen kann.

Dazu verwende ich Jasmine. Diese Anwendung hat keine Abhängigkeiten zum Webbrowser als Ablaufumgebung. Daher kann sie nicht nur im Browser (z.B. in einer statischen Webseite als Testumgebung), sondern auch außerhalb, z.B. auf einem Continuous Integration-Server oder einer serverseitigen Laufzeitumgebung wie Node.js verwendet werden.

Bei Jasmine handelt es sich um ein BDD-Framework, das nicht nur klassische Unit-Tests bietet, sondern den Paradigmen von „Specification by Example“ folgt.
Man kann Jasmine zum Testen von Node-Anwendungen, die nicht im Browser, sondern auf dem Server laufen, verwenden. Dazu gibt es das Modul „jasmine-node“. Auch in einem Grunt-Build lässt sich Jasmine verwenden. Verteilte Tests mit JsTestDriver lassen sich über einen Adapter ebenfalls mit Jasmine ausführen.

Jasmine ist nicht das einzige BDD-Framework für JavaScript. Zurzeit wird beispielsweise Cucumber, das De-facto-Framework für BDD, hin zu JavaScript portiert.

Das im Artikel verwendete Beispiel befindet sich auf Github, damit man es nachvollziehen kann.

Mehr Tempo für Webanwendungen

WEAVE 03/2013

Ein Artikel, der Grunt für eine automatisierte Webperformance-Optimierung nutzt, ist in der aktuellen WEAVE 03/2013 abgedruckt. Dort zeige ich, wie man einer Webanwendung durch ein flinkes Build-Script Beine machen kann.

Die WEAVE, eine Schwesterzeitschrift der PAGE, ist das Fachmagazin für Gestalter, Konzeptioner, Auftraggeber und Developer interaktiver Medien. Sie berichtet im Zwei-Monats-Takt über Trends, Projekte und Technologien.

Neben ausführlichen Case Studies, Interviews und Portraits bietet die WEAVE auch einen Workshop-Teil, der in Step-by-Step-Anleitungen Tools und Workflows vermittelt.

In einer solchen Step-by-Step-Anleitungen zeige ich, wie man einer Webanwendung durch ein flinkes Build-Script Beine machen kann.

In acht nachvollziehbaren Schritten (Software installieren und Umgebung einrichten, Projekt mit Yeoman bootstrappen, Dateien zusammenfassen, Code analysieren / Coding Conventions sicherstellen mit JSHint, Quelltext minifizieren, CSS optimieren mit Compass, HTML automatisch anpassen mit UseMin, Bilder verlustfrei re-komprimieren mit OptiPNG und JPEGTran, …) wird in diesem Tutorial ein Frontend-Projekt optimiert. Dabei kommen die Tools Grunt, Yeoman und Bower, unterstützt durch SASS, Compass, OptiPNG und JPEGTran zum Einsatz.

Ein Beispielprojekt für diesen Workflow findet man auf GitHub.

Androiden kontinuierlich integriert

Web und Mobile Developer - Ausgabe 12/2012

Web und Mobile Developer – Ausgabe 12/2012

Kontinuierlich integriert

Jan Weinschenker und Sven Bunge

web & mobile developer 12/2012

Auf diesem Blog wurde bereits in mehreren Artikeln erläutert, welche Vorteile Software-Lifecycle-Management für die professionelle Softwareentwicklung bringt. Die beschriebenen Konzepte und Verfahren lassen sich genau so auch auf die Entwicklung von Apps im Android-Umfeld anwenden.

Ein Werkzeug, das dabei eine zentrale Rolle einnimmt, ist der Build- oder CI-Server. Im Artikel von Jan Weinschenker und Sven Bunge wird beschrieben, wie ein solcher CI-Server mithilfe der freien Werkzeuge Jenkins und Maven speziell für die Android-Entwicklung aufgesetzt wird.

Weiterhin geht der Artikel auf die Vorteile des Software-Lifecycle-Managements, insbesondere im Hinblick auf die Testautomatisierung, ein.

Den kompletten Artikel gibt es dank freundlicher Genehmigung der Web & Mobile hier als PDF.

Maßgeschneidert oder von der Stange? Mobile Management Dashboards

Business Technology Magazin 4.2012 - Mobility

Maßgeschneidert oder von der Stange?

Mobile Management Dashboards

Kai Lüdersdorff, Malte Sörensen

Business Technology 4/12 – Mobilität

Business Activity Monitoring (BAM) stellt den aktuellen Zustand von Geschäftsprozessen anhand aussagekräftiger Leistungskennzahlen (Key Performance Indicators) dar. BAM ermöglicht dem Anwender, Abweichungen vom erwarteten Ablauf sofort zu erkennen und ihnen rechtzeitig durch adäquate Maßnahmen entgegenzusteuern. Jedoch ist die Mobilität von klassischen BAM-Lösungen eingeschränkt und sie erfordern zumeist ein aktives Überwachen durch den Benutzer. Diese Nachteile können durch den Einsatz eines Mobile Management Dashboards elegant umgangen werden. Im Artikel von Kai Lüdersdorff und Malte Sörensen werden sowohl der Nutzen als auch die Hürden von Mobile Management Dashboards für automatisierte Geschäftsprozesse beschrieben.

Zunächst beschreibt der Artikel die Nachteile und Grenzen, die sich hinsichtlich der Mobilität für die Benutzer von herkömmlichen Web-Reporting-Dashboards ergeben. Anschließend wird beschrieben, wie eine Lösung für Tablets und Smartphones diese Nachteile ganz bzw. in hohem Maße umgehen kann. Der mobile Anwender wird jederzeit und überall in der Betrachtung der Leistungskennzahlen der zugrunde liegenden Prozesse unterstützt.

Abschließend stellt der Beitrag noch die Herausforderungen und passende Lösungsansätze vor, die diese neue Art von Dashboards in den Bereichen der technischen Bereitstellung, der Aktualität und Sicherheit der angezeigten Daten mit sich bringen.

Den vollständigen Artikel lesen Sie im neuen Business Technology Magazin – Mobilität.

Agile Acceptance Testing mit BDD – Teil 2: Tests implementieren

Agile Acceptance Testing mit BDD – Teil 2:

Tests implementieren
Carl Anders Düvel, Roland Jülich
JavaSPEKTRUM Ausgabe 5/2012

Im Rahmen dieses zweiteiligen Artikels beschäftigen wir uns mit den Fragen: “Wie stellt man sicher, dass man die richtige Software entwickelt? Wie versteht man den Kunden und wie macht dieser sich am Besten verständlich? Wie kommuniziert man die Anforderungen effizient mit allen an der Entwicklung und am Testen beteiligten Kollegen?”

Vor diesem Hintergrund möchten wir Ihnen Behavior Driven Development (BDD) vorstellen. Eine Methode zum testgetriebenen Vorgehen, die sich in diesem Fall stark auf die Akzeptanzkriterien von fachlichen Anforderungen fokussiert.

Im ersten Teil des Artikels haben wir dazu anhand einer kleinen Geschichte aufgezeigt, wie zunächst anhand von „Specification-by-Example“ geeignete Szenarios ermittelt und in natürlicher Sprache erfasst werden. Diese Szenarios sollen später als Spezifikation für die zu implementierenden Akzeptanztests dienen.

Im zweiten Teil zeigen wir, wie zu dieser Spezifikation mit dem BDD-Framework Cucumber-JVM in Kombination mit Selenium WebDriver API Tests implementiert werden können, um eine Webanwendung automatisiert zu testen und gleichermaßen zu einer „ausführbaren Spezifikation“ zu gelangen. Wie genau das funktioniert, lesen Sie in unserem Artikel im aktuellen JavaSPEKTRUM.