
Das German Testing Board (GTB) veranstaltete am 26. Januar 2012 in München ein Fachgespräch über die „konkurrierenden Wege zur Softwarequalität“: Unter der Leitung von Prof. Dr. Ernst Denert, Honorarprofessor der TU München, diskutierten Prof. Dr. Manfred Broy, ebenfalls von der TU München, Tilo Linz, Vorsitzender des GTB, Peter Zimmerer, Principal Engineer bei der Siemens AG und GTB-Mitglied sowie Prof. David L. Parnas, Entwickler des „Geheimniskonzepts“ in der Softwaretechnik. Die Gesprächsteilnehmer versuchten auf kenntnisreiche und teils unterhaltsame Weise, einen Überblick über die zahlreichen Verfahren zur Sicherung von Softwarequalität zu geben und diese bezüglich ihrer Vor- und Nachteile zu bewerten. Rund 180 Zuhörer verfolgten das Gespräch und beteiligten sich mit Fragen, Anmerkungen und Einwänden.
„Dem GTB genügt es nicht, sich nur mit Lehrplänen zu beschäftigen oder Prüfungswissen zur Verfügung zu stellen: Wir wollen Softwarequalität ganz allgemein fördern, indem wir dafür werben und sensibilisieren. Zu diesem Zweck suchen wir den Austausch mit Fachleuten aus den verschiedensten Bereichen – Veranstaltungen wie unser Fachgespräch sind hierzu ein wichtiges Mittel“, so der GTB-Vorsitzende Tilo Linz im Anschluss an die Veranstaltung.
Das Fachgespräch verlief entlang von vier Leitfragen:
- Ist die Verwendung einer präzisen und systematisch strukturierten Dokumentation eine Möglichkeit, die Qualität der Software zu erhöhen?
- Kann die Qualität durch den Einsatz von formalen Modellen im Design und der Generierung von Programmtext verbessert werden?
- Ist Test Driven Development (test first) ein Garant für besser Qualität im Vergleich zum herkömmlichen Testen (im Anschluss an die Programmierung)?
- Liegt die unzureichende Software Qualität an der mangelnden Aus- und Weiterbildung in den Bereichen Design, Qualitätssicherung und Test?
Von Anforderungen und Erwartungen
Zum Einstieg in das Gespräch bat Prof. Ernst Denert die Teilnehmer darum, ihr jeweiliges Verständnis von „Softwarequalität“ darzulegen. Hier gingen die Meinungen zunächst auseinander: Hat Softwarequalität nur mit dem Erfüllen von Nutzer-Erwartungen zu tun, vor allem hinsichtlich Funktion und Bedienbarkeit? Oder geht es um mehr, etwa um die saubere technische Umsetzung von Strukturen und Codes? Manfred Broy steuerte unter anderem eine wissenschaftliche Begriffsbestimmung bei: „Der Qualitätsbegriff, bezogen auf Software, ist natürlich sehr vielschichtig. Die einfachste Art, ihn zu erklären ist: Die Software erfüllt die ganz unterschiedlichen Anforderungen ganz unterschiedlicher Stake-holder.“ David L. Parnas benannte diese Anforderungen genauer: Software müsse sich verhalten „wie erwartet“ und zu erwarten sei „Zuverlässigkeit, Vertrauenswürdigkeit, ‚conceptual integrity‘ sowie leichte Erweiterbarkeit und Anpassbarkeit.“
Praxisnahe Ausbildung entscheidend
Beim anschließenden Gespräch bezogen die Fachleute zu den Einzelfragen Stellung. Dabei herrschte weitgehend Einigkeit über den Nutzen von „strict documentation“, formalen Modellen, Test Driven Development und der umfassenden Softwaretester-Ausbildung für Entwickler und Tester: Alle vier Gesichtspunkte tragen nach Einschätzung der Gesprächsteilnehmer dazu bei, die Softwarequalität zu erhöhen und die Entwicklung von Software gleichzeitig zu beschleunigen und zu vergünstigen. Die Praktiker Tilo Linz und Peter Zimmerer wiesen besonders auf die Vorteile von Test Driven Development hin: „Das ist auf jeden Fall ein großer Fortschritt, der tatsächlich mehr Qualität in die Software bringt“, meinte Linz, und Zimmerer ergänzte: „Wenn Leute das Verfahren einmal angewendet haben und gesehen haben, wie es funktioniert, dann sind sie richtig begeistert und wollen es nicht mehr bleiben lassen.“
Nach Ansicht von David L. Parnas sollten Softwareentwickler und -tester die besproch-enen Verfahren letztlich nicht als konkurrierend betrachten, sondern als komplementär – und im Zweifel dafür sorgen, dass möglichst viele oder sogar alle davon zum Einsatz kommen und ineinander greifen: „Bei Software hängt alles von Details ab. Wenn ein Detail falsch ist, ist das Ganze falsch. Es gibt keine Toleranz für Fehler.“
Deshalb, meinte Peter Zimmerer abschließend, komme der Ausbildung von Entwicklern und Testern besondere Bedeutung zu – weshalb sie noch besser werden müsse: „Die Hauptschwierigkeit ist häufig, das gelernte Wissen in die Praxis zu übertragen. Hier müssen wir, denke ich, in die Ausbildung auch noch praxisrelevantere Anteile einbringen.“