Modultests im agilen Projekt

Zusammenarbeit mit Dienstleister

Modultests im agilen Projekt

Bei der Entwicklung von Embedded Systems bietet sich an, bereits während des Designs Modultests durchzuführen. Ein Hersteller von Industriesteuerungen hat dies umgesetzt und dabei auf einen Dienstleister zurück gegriffen. Die Erfahrung zeigt, dass Kommunikation eine wichtige Rolle spielt. Eine präzise Abwägung möglicher Probleme und Fehler veringerte Fehler in nachfolgenden Tests.
Die Aufgabenstellung Modultests und das Szenario der agilen Entwicklung sprechen für eine enge Integration des Entwicklungs- und Testteams. Dieser Herausforderung stellte sich die Infoteam Software AG Anfang des Jahres 2011, als es den Auftrag eines Herstellers von Industriesteuerungen annahm. Der Fertiger vergab das Projekt an einen extenen Dienstleister, um intern Personal und Aufwand bei den Entwicklern im Modultest zu sparen; der Steuerungshersteller vertraute zudem auf das Know-how des Dienstleisters im Bereich der Automatisierung und Industriesteuerungen. Im konkreten Themenfeld des Projekts galt es, entwicklungsbegleitend Schwachstellen im Produkt zu erkennen.

Testskript währen der Entwicklung modifizieren

Es standen Entwicklungs- und Testteam die gleichen Hardware- und Softwarevoraussetzungen zur Verfügung, die Aktualität der zu testenden Software wurde durch regelmäßigen Austausch gewährleistet. Während der Testentwicklung waren die Module bereits lauffähig und die zu testenden Funktionen schon teilweise implementiert, so dass eine Ausführung der Unit-Tests bereits möglich war. Es war bei den entwicklungsbegleitenden Tests im agilen Umfeld jedoch klar, dass sich der bereits getestete Code noch ändern und weiterentwickeln kann. Dadurch war es gegebenenfalls erforderlich, die bereits abgenommenen Testskripten für Regressionstests zu modifizieren, solange die Entwicklung lief. Die Abnahme der Lieferungen erfolgte durch ein vorab spezifiziertes Code-Review und einem vorab vereinbarten Grad der Testabdeckung. Besondere Normen galt es nicht zu beachten, der Dienstleister hielt sich jedoch an die Norm IEEE 829 zur Dokumentation der Software-Tests.

Whitebox-Testen: Code offen legen

Die Modultests wurden als Whitebox-Tests geplant, bei der die Tests mit Kenntnissen über die innere Funktionsweise des zu testenden Systems entwickelt werden, und über die Technik der Äquivalenzklassenanalyse entworfen. Die Tests führten Mitarbeiter mithilfe eines bereitgestellten Test-Frameworks auf der Steuerung aus, eine Implementierung von Testtreibern oder Mockups war nicht nötig. Whitebox-Testen erforderte für den externen Dienstleister zu Beginn einen gewissen Aufwand an Einarbeitung, sowie für den Kunden die Bereitschaft dies offenzulegen.

Kommunikation und flexible Planung im Testteam

Die Einarbeitung in die Aufgabenstellung machte eine mehrwöchige Präsenzphase für den Dienstleister erforderlich. In dieser Zeit entstand in enger Zusammenarbeit das Testkonzept, in dem auch der Testaufbau, die Projektkommunikation und das Projektcontrolling festgelegt wurden. Spätere Präsenztermine dienten dann der Lieferung und Abnahme sowie der Einweisung in neue Arbeitspakete. Die Kommunikation fand hauptsächlich zwischen den Projektleitern Entwicklung und Test statt. Die Kommunikation hat einen hohen Stellenwert: Mehrmals wöchentlich fanden Telefonkonferenzen im Stile eines Daily Scrum statt. Darüber hinaus erfolgt situativ die Kommunikation über E-Mail und Skype. Der Projektstatus unterlag mit Berichten über die Testergebnisse und mit Tätigkeitsnachweisen einem wöchentlichen Controlling. Generell zeigte sich: Je weniger Dokumentation über das Testobjekt vorhanden ist, desto mehr Kommunikation ist erforderlich. Wesentlich neben vielen Besuchen und regelmäßigen Telefonkonferenzen ist auch ein flexibler und kurzer Kommunikationsweg direkt zwischen Testteam und den Entwicklern. Es zeigte sich zudem, dass eine sehr flexible Planung des Testteams relevant ist, sowie Mechanismen zur frühzeitigen Erkennung von Auslastungsengpässen hilfreich. Der Testprojektleiter bei Infoteam stellte sich gegenüber dem Entwicklungsteam als skalierbare Ressource dar, indem er bei Bedarf Mitarbeiter in das Projekt hinzuziehen konnte. Besonderes Augenmerk verlangt dabei die Synchronisierung der Aufgaben, um eine kontinuierliche Auslastung des Testteams sicherzustellen.

Kritische Herangehensweise für geringe Folgefehler

Als nützlich erwies sich, viele Aspekte bereits im Vorfeld kritisch zu hinterfragen. Dies betrifft sowohl die Umsetzung der Spezifikation als auch die Spezifikation selbst. Außerdem konnte die frühzeitige Einbindung von externen Testern eine hohe Qualität der Tests und deren Ergebnisse liefern und so früh Einfluss auf die Qualität des Produkts nehmen. So wurden in späteren Testphasen, bei Integrations- und Systemtests, eher wenige Fehler gefunden.

infoteam Software AG
www.infoteam.de

Das könnte Sie auch Interessieren