Viele Persönlichkeiten. Zwei Standorte. Eine BO.

Überblick

In der Softwareentwicklung werden insbesondere in agilen Projekten diverse Unit Tests im Qualitätssicherungsprozess intensiv eingesetzt. Ebenso ist die Notwendigkeit erkannt worden, Personen mit fachlicher Expertise so früh wie möglich in den Prozess des Softwaretestens, am besten gleich zusammen mit den Entwicklern bei der Durchführung von Unit Tests, einzubinden, um Anforderungen wie kurze Projektentwicklungszyklen und Flexibilität gegenüber Kundenwünschen erfüllen zu können. In der Praxis steigen aber Personen mit fachlicher Expertise wie beispielsweise Softwaretester, hier mit Wissensträger bezeichnet, häufig wegen fehlender Programmierkenntnisse frühestens bei der Durchführung von Akzeptanztests in den Prozess des Softwaretestens ein, zu spät, um auf die entdeckten Fehler ohne größeren Zeitverlust reagieren zu können. Es besteht zusätzlich das Interesse, dass die Transparenz in der Qualitätssicherung erhöht wird.

Um die Situation entscheidend zu verbessern, wird hier der folgende Prozess für die Durchführung von Unit Tests vorgestellt, welcher beschreibt, wie Entwickler und Wissensträger gemeinsam Unit Tests erstellen können und jeweils ihre Expertise, Programmierkenntnisse auf der einen Seite und fachliches Know How auf der anderen Seite, einfließen lassen können.

Zur Unterstützung dieses Prozesses wurde die Java-Anwendung KBUnit (Knowledge Based Unit Testing Application) entwickelt, welche hier als Download zur Verfügung steht. Diese Anwendung bietet zusätzlich eine Möglichkeit der Testfallgenerierung an. Der für die Generierung zugrundeliegende Algorithmus wurde in Anlehnung an Äquivalenzklassentests und Grenzwertbetrachtung entwickelt.

Prozess zur Durchführung von Unit Tests

Schritt 1 - Vorbereitung der Unit Tests

Die Entwickler implementieren Funktionalitäten und zu diesen Unit Tests. Diese Unit Tests enthalten Parameter, die von den Wissensträgern variiert werden sollen. Die Entwickler brauchen zu jeder Funktion beziehungsweise Methode nur einen Unit Test zu schreiben.


Schritt 2 - Einfache Verteilung der Unit Tests

Der Sourcecode wird zusammen mit den parametriesierten Unit Tests den Wissensträgern zugänglich gemacht.


Schritt 3 - Formulierung und Ausführung neuer Tests

Die Wissensträger greifen auf die von den Entwicklern entworfenen Unit Tests zu und erstellen in Absprache mit dem Kunden weitere Testfälle, die aus ihrer Sicht geprüft werden müssen, indem sie die Werte der Parameter variieren und Testfälle generieren lassen. Sie können sämtliche Testfälle abspielen.


Schritt 4 - Verwaltung von Testfällen

Die Wissensträger speichern die neuen Testfälle inklusive Testergebnis in einer Datenbank und können diese auch verwalten.


Schritt 5 - Erweiterung der Unit Tests

Die Entwickler haben die Möglichkeit, auf die neuen Testfälle zuzugreifen. Sie können diese in ihrer Entwicklungsumgebung abspielen und entsprechende Logdateien erstellen lassen. Sie können ebenfalls sich zu den neuen Testfällen Unit Tests generieren lassen.


Schritt 6 - Transparenz

Es besteht zusätzlich die Möglichkeit, sich den Stand zu den Softwaretests anzeigen zu lassen.


Hier geht es zum KBUnit Download.