Software-Qualität

Die Sicherung von Software-Qualität ist ein wichtiger Teil des Software Engineerings. Das Fachgebiet Software Engineering erforscht unterschiedliche Richtungen der Software-Qualität, z.B. prozess-basierten Verbesserungen oder Toolunterstützung.

Die Testfähigkeiten von unerfahrenen Entwicklern

Die Sicherung von Qualität während der Entwicklung von Software ist ein wichtiges und auszeichnendes Merkmal eines guten Software-Engineers. Dies kann z.B. durch das Erstellen von automatisierten Tests geschehen. Manchmal haben junge Informatiker, die den Arbeitsmarkt frisch betreten, noch Probleme haben wichtige Testkonzepte anzunehmen und umzusetzen. Besonders zum Karrierestart kann das problematisch werden: Wenn diese Lücken nicht schnell aufgefüllt werden, so behindert das den Weg zum hochqualitativen Software-Engineer oder führt gar zur Ablehnung bei potentiellen Arbeitgebern. Das Fachgebiet SE erforscht, wie die Situation dieser jungen Entwickler während derAnlernphase verbessert werden kann. Mehr...

Bild: Ein Modell der Einflüsse auf das Testverhalten von unerfahrenen Software Entwicklern.

 

Bild: Ein Modell der Einflüsse auf das Testverhalten von unerfahrenen Software Entwicklern.

Verbesserung von Code-Reviews durch Computerunterstützung

Code Reviews sind ein wichtiger Bestandteil einer ganzheitlichen Qualitätssicherungsstrategie. In vielen Firmen sind "änderungsbasierte Code-Reviews", d.h. Reviews die auf Basis zusammengehöriger Änderungen durchgeführt werden, fester Bestandteil des Entwicklungsprozesses. Der Mensch als Prüfinstrument ist in ihnen der zentrale Faktor. Aber er kann durch den Computer unterstützt werden, indem der Computer die Änderungen automatisiert analysiert, ausdünnt und aufbereitet. In diesem Kontext arbeiten wir an Tools, insbesondere dem CoRT - Code Review Tool, aber auch an empirischen Untersuchungen und Grundlagenforschung.

Der smarte GQM-Editor

Gute Software-Qualität zu erreichen ist jedoch schwierig, wenn man nicht vorher definiert was eigentlich "gute Qualität" genau bedeuten soll. Dabei kann die bekannte GQM-Methode behilflich sein: Mithilfe eines vorgegebenen Prozesses und Formularen konkretisiert der Bearbeiter fundamentale Fragen zur Anstehenden Untersuchung beantworten, vermutete Missstände und hypothetisierte Zusammenhänge. Dabei wird top-down vorgegangen: Die eigenen Ziele werden konkretisiert und danach entwickelte Metriken werden eingesetzt - es wird nicht einfach das gemessen, was einfach zu messen ist. Zur Unterstützung dieses Prozesses hat das Fachgebiet SE einen Webeditor entwickelt, der den Benutzer bei der korrekten Anwendung von GQM unterstützt. Mehr...

Ein Framework zur Unterstützung von Software Quality Gates

Die Qualität eines Softwareproduktes kann nicht "im Nachinhein" injeziert werden - wie so manches Projekt schon schmerzhaft erfahren musste. Die Sicherung der Qualität in der Software-Entwicklung ist eine Aufgabe, die eng mit dem Entwicklungsprozess verzahnt ist und diesen von Anfang bis Ende begleitet. Ein Mittel zur wiederkehrenden und begleitenden Qualitätssicherung sind sogenannte Software Quality Gates: An strategisch wichtigen Punkten im Entwicklungsprozess werden kritische Projektattribute gemessen und so die Erfüllung von Mindestkriterien sichergestellt. Das Fachgebiet SE hat für den Einsatz von Quality Gates ein untestützendes Framework entwickelt. Mehr...

Abbildung 1: Ein typischer Quality-Gate-ProzessAbbildung 1: Ein typischer Quality-Gate-Prozess