dummies
 

Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur ebooks mit Firmenlizenz anzeigen:

 

Ruby on Rails für JEE-Experten - Umfassender Einstieg in Rails und JEE-Integration mit JRuby

Michael Johann

 

Verlag Carl Hanser Fachbuchverlag, 2008

ISBN 9783446417526 , 488 Seiten

Format PDF, OL

Kopierschutz Wasserzeichen

Geräte

49,90 EUR

Für Firmen: Nutzung über Internet und Intranet (ab 2 Exemplaren) freigegeben

Derzeit können über den Shop maximal 500 Exemplare bestellt werden. Benötigen Sie mehr Exemplare, nehmen Sie bitte Kontakt mit uns auf.


 

3 Testgetriebene Entwicklung (S. 101-102)
3.1 Einführung
Ruby on Rails erlaubt sehr agile Vorgehensweisen. Agile Prozesse sind in aller Munde und in mittleren bis großen Projekten gewinnbringend eingesetzt worden. Grob zusammengefasst, stellt die agile Softwareentwicklung eine wesentlich flexiblere Variante eines Entwicklungsprozesses dar als die üblicherweise sehr langfristig und weitgehend geplanten klassischen Projektvorgehensweisen.

Bereits aus dem Bereich des XP (eXtreme Programming) sind viele Konzepte entstanden wie beispielsweise die Iterationen und Inkremente sowie die starke Integration des Kunden und seine Verantwortlichkeit im gesamten Prozess.

Neben einigen anderen Praktiken ist ein Konzept aus der agilen Welt die testgetriebene Entwicklung. Testgetrieben bedeutet hier, dass zuerst die Tests geschrieben werden und dann die eigentliche Software, die die Funktionalitäten implementiert.

Es gibt unterschiedliche sich ergänzende Testkonzepte, die ich Ihnen hier näher vorstellen möchte. Im weiteren Verlauf des Buches werden Sie auch immer wieder sehen, dass diese Tests zuerst implementiert werden und danach erst die eigentliche Funktionalität.

Folgende Testkonzepte werden in diesem Kapitel vorgestellt:

Unittests

Funktionale Tests

Integrationstests

Spezifikationstests

User Stories

Lasttests

3.1.1 Vorteile
Vielleicht ist Ihnen noch nicht klar, warum alle von Tests reden, und Sie fragen sich, was die Vorteile sind. Einige Vorteile will ich Ihnen hier kurz erläutern.

Qualitativ besserer Code
Wenn Sie Tests schreiben, und das auch noch vor der Implementierung, werden Sie feststellen, dass die Tests vorgeben, wann eine Funktionalität komplett abgeschlossen und funktional ist.

Voraussetzung hierfür ist sicher, dass die Sinnhaftigkeit der Tests und eine adäquate Testabdeckung gegeben sind. Weil Testläufe schnell aussagen können, ob noch Fehler existieren oder bisher lauffähige Funktionen nun mit Fehlern behaftet sind, lässt sich viel schneller beurteilen, ob noch Arbeiten zu erledigen sind. Auch bei Refaktorisierungen von vorhandenem Code sagen Tests schneller aus, ob die Software immer noch so funktioniert wie vor den Umstrukturierungen.

Statistische Auswertungen von Tests aller Art sind gerne auch im Management und beim Kunden gesehen, wobei die Deutung der Ergebnisse durchaus auch zu negativen Interpretationen führen kann. Beispielsweise kann ein Kunde eine Fehlerzahl von 300 als erschreckend hoch einstufen, während die Entwickler und die Projektleitung eine positive Einschätzung abgeben.

Höhere Produktivität
Wer mehr über die Fehlersituation seiner Software weiß, wird sich schneller neuen Aufgaben widmen können. Dadurch stellt sich üblicherweise ein Gefühl der Zufriedenheit ein, was bei Projekten mit Ruby on Rails besonders zu beobachten ist. Das steigert die Motivation ungemein und erhöht wiederum die Produktivität.

Aber auch hier sind Eindrücke unterschiedlich interpretierbar. Während die Entwickler zufrieden nach Hause gehen, überlegen sich die Manager, welche zusätzlichen Features man noch mal eben einbauen könnte, die erst nachträglich mit dem Kunden diskutiert wurden.

Ziele lassen sich besser erreichen
Ziele, die vorgegeben sind, lassen sich besser erreichen. Anforderungen sind leichter zu überprüfen und bieten damit eine Grundlage für die Abnahme der beauftragten Software. Die Erreichbarkeit dieser Ziele kann durch die Tests sicher besser gemessen werden als ohne, doch sollten Kunden und Projektleitung ehrlich sein und weitere Ziele nicht einfach so von der Seite hereinreichen.

Leichtere Wartbarkeit

Tests haben die Eigenschaft, einen guten Überblick über die Schnittstellen der zu testenden Software zu bieten.