Thema: Werkzeuge für Software-QS und -Test

11:15 - 12:00

Ein Werkzeugkasten für Software-QS in verteilten agilen Teams

Dr. Stefan Brüggemann, Astrium GmbH

Für Softwareentwicklungsprojekte in der Raumfahrt werden oftmals aus politischen Gründen geographisch verteilte Teams gebildet. Dieser Erfahrungsbericht stellt vor, wie bei Astrum eine Entwicklungsumgebung für kontinuierliche Integration und Qualitätssicherung aufgebaut wurde, welche die spezifischen Anforderungen verteilter agiler Teams berücksichtigt. Der Beitrag geht insbesondere auf folgende Aspekte ein:

  • Manuelle moderierte Code Reviews im Team via Screensharing (Juniper) und Telefon mit Unterstützung eines Code-Review-Werkzeugs (Crucible) zur Erreichung eines gemeinsamen Code-Verständnisses und zur Fehleridentifikation
  • Statische Code-Analyse  zur Identifikation von Design Smells, Rule Violations (SONAR), und eventueller Verletzungen vereinbarter Zielwerte für Code Coverage (Jacoco) und Kommentardichte. Diese Code-Analyse integriert sich direkt in Iterationsabläufe und die CI-Umgebung (Jenkins) und kann Entwicklern unmittelbares Feedback geben. 
  • Erzeugung automatisierter Unit-, Integrations- und Akzeptanztests durch das Entwicklungsteam. Dies ermöglicht insbesondere die automatische Erzeugung eventuell benötigter Traces zwischen Requirements, Design, Implementierung, und Tests durch die Verknüpfung von CM-Tool (SVN, maven), Issue-Tracking-System (Jira) und Testmanagementsystem (SpiraTest).
  • Einführung der Rolle eines Testers, der das Bindeglied zwischen Requirements-Engineering-Team und Entwicklern darstellt und bereits vor der Implementierung Testdefinitionen im Issue-Tracking-Sytem (Jira) erstellt.
  • Integration des Quality Manager in das Entwicklungsteam zur Überwachung automatisierter Quality-Gates (SONAR): Programmierrichtlinien, -regelwerke und –standards (Checkstyle), die Code formatieren und überprüfen, werden gemeinsam mit dem Team definiert. Die Einhaltung dieser kann automatisiert erfolgen. Erweisen sich Richtlinien und Standards als nicht hilfreich, können diese entsprechend durch Quality Manager und Team angepasst werden.
  • Prozessüberwachung durch Überwachung der täglichen Arbeit (Jira, Greenhopper): Einhaltung agiler Prinzipien und Termine sowie vereinbarter Konventionen.

Dr. Stefan Brüggemann, Astrium GmbH

Stefan Brüggemann received his PhD from the University of Oldenburg in early 2011 for his work on consistency control in data quality management. From 2005-2011 he was working as software engineer and research assistant with OFFIS – Institute for Information Technology. Since mid-2011 he is working with Astrium Space Transportation as a Quality Manager in agile SW development projects. He is further serving as a Scrum Master and also leading the working group on bringing agile software development into Astrium’s business processes, especially in the frame of CMMI Level 3 certification.