Entwicklung

Im Fokus: Alternative Testmethoden

Neben etablierten Tools wie HP Quality Center oder SILK von Borland entsteht gerade eine neue Generation von Open Source-Werkzeugen, die eine intensivere Betrachtung verdienen. Denn mit agilen Software-Entwicklungsmethoden verändern sich zunehmend auch die Konzepte und Herangehensweisen der Qualitätssicherung.

 

Zuerst dem späteren Benutzer zuhören

BDD ist eines der Konzepte. Es steht für Behaviour Driven Development und bezeichnet die verhaltensgetriebene Entwicklung von Anwendungen. Dabei stehen die Anforderungen im Mittelpunkt der Softwareentwicklung, die in verständlichen "Wenn-dann"-Sätzen verfasst werden.

 

Wir unterstützen Sie bei der Einführung dieser Ansätze in Ihre Projekte und beraten, wer welche Rollen übernehmen sollte. Sprechen Sie uns an!

 

Wesentliche Merkmale des BDD sind:

 

  • Vor dem Test kommt die Spezifikation
  • Outside-In-Softwareentwicklung - es wird sehr stark auf die Spezifikation der Auftraggeber und Benutzer sowie die Erfüllung dieser Anforderungen geachtet
  • textuelle Beschreibung des Verhaltens anhand von Fallbeispielen – die Verwendung genormter Schlüsselwörter für Vorbedingungen und Verhalten der Software fließt in den Test ein
  • Automatisierung der Fallbeispiele – unter Verwendung von Modellen (Mockup-Objekte) für noch nicht implementierte Softwarekomponenten
  • Sukzessive Implementierung der Softwareteile – die modellhaften Komponenten werden durch "echte" Softwarekomponenten ersetzt und erneut getestet

 

Insbesondere wenn Anforderungen in natürlicher Sprache erfasst werden, kommen Softwareentwickler ihren Auftraggebern entgegen. Viel leichter lassen sich die gewünschten Funktionen beschreiben. Außerdem ist so die einfache Ableitung von Tests möglich, denn der Software-Experte übersetzt die Anforderung anhand von Schlüsselwörtern in rudimentären Quellcode.

Neue Tools unterstützen innovative Methoden

Für die Tests einzelner Komponenten einer Software kommen sogenannte Testframeworks zum Einsatz. Diese Testsoftware hat die Aufgabe, die Komponenten oder Module bei komplexen Anwendungen auf Fehler zu testen - am besten natürlich vollautomatisiert.

 

Neue Testframeworks wie SPOCK und CUCUMBER stellen - Prinzip-bedingt - die Anforderungs- und Spezifizierungsphase sowie den Test auf eine Stufe mit der Programmierung der Software. So kann der Entwickler mit wenig Aufwand die eigene Arbeit kontrollieren und anpassen; ein spätes Erkennen von Fehlern wird vermieden (und damit auch die Verschwendung von kostbaren Ressourcen). Zudem können SPOCK oder CUCUMBER auch mit Tools wie dem Selenium Webdriver verknüpft werden, um Tests von Browser-basierten Anwendungen zu automatisieren.