Suchen

Qualitätssicherung Softwarequalität – der Schlüssel zur vierten industriellen Revolution

| Autor / Redakteur: Niroshan Rajadurai * / Franz Graser

Im Zuge des Internets der Dinge enthalten immer mehr Produkte eingebettete Software. Dabei wird Softwarequalität zu einem der Kriterien, die über Erfolg und Misserfolg eines Geschäftsmodells entscheiden.

Firmen zum Thema

Softwarequalität auf Knopfdruck gibt es leider nicht. Eine ausgewogene Test- und Prüfstrategie kann jedoch nachhaltig zu besserer Software beitragen.
Softwarequalität auf Knopfdruck gibt es leider nicht. Eine ausgewogene Test- und Prüfstrategie kann jedoch nachhaltig zu besserer Software beitragen.
(Bild: Fotolia - © Mathias Rosenthal )

Software durchdringt heute die Gegenstände, die uns im Alltag umgeben. Dies gilt nicht nur im Büro, sondern auch bei vielen anderen Dingen – in Autos, in den Spielzeugen, die wir unseren Kindern schenken, im Bus, den wir täglich benutzen, in unserer Haushaltsgeräten und in medizintechnischen Systemen, die unsere Gesundheit sichern.

Ergänzendes zum Thema
Originalbeitrag als ePaper oder im pdf-Format lesen

Dieser Autorenbeitrag ist in der Printausgabe ELEKTRONIKPRAXIS Sonderheft Embedded Software Engineering Report 2 erschienen. Diese ist auch als kostenloses ePaper oder als pdf abrufbar.

In den letzten Jahren wanderte Software zunehmend vom Desktop-Rechner in die Cloud. Dank des Internets der Dinge (IoT – Internet of Things) kommt die Software wieder zurück an die Peripherie des Netzes, und immer mehr Produkte enthalten eingebettete Softwareanwendungen. Dabei wird Software-Qualität zu einem der entscheidenden Kriterien, die über Erfolg oder Misserfolg dieser Umstellung bestimmen.

Je mehr wir uns auf Produkte verlassen, deren Funktionsumfang von Software bestimmt wird, umso mehr kommt es auf die Qualität der Software an – insbesondere wenn durch Softwarefehler die Daten- oder Funktionssicherheit oder gar menschliches Leben gefährdet ist.

Balance zwischen Testumfang und Time-to-Market

Die größte Herausforderung für Softwareentwickler ist die Ermittlung eines Kompromisses zwischen der Vollständigkeit des Testumfangs und der Time-to-Market. Viele halten den Vorteil, als Erster mit einem Produkt auf dem Markt zu sein, für wichtiger. Aber Qualität zugunsten von Time-to-Market zu opfern, ist eine riskante Entscheidung, die eine Marke beschädigen kann.

Schaubild 1: Die mit „1.0“ markierte Linie entspricht dem ersten Software-Release. Das Fragezeichen entspricht dem Punkt, an dem die Anwender mit der Qualität zufrieden sind. Dazwischen liegt das Qualitätsdefizit. es zu minimieren, sollte ganz oben auf der Prioritätenlsite stehen.
Schaubild 1: Die mit „1.0“ markierte Linie entspricht dem ersten Software-Release. Das Fragezeichen entspricht dem Punkt, an dem die Anwender mit der Qualität zufrieden sind. Dazwischen liegt das Qualitätsdefizit. es zu minimieren, sollte ganz oben auf der Prioritätenlsite stehen.
(Bild: Fotolia - © Mathias Rosenthal, Schaubilder: Vector Software )

Wie lässt sich die Balance zwischen Qualität und Time-to-Market quantifizieren? Als Beispiel soll hier der normale Produkt-Lebenszyklus einer Software-Anwendung dienen (siehe Schaubild 1). Die mit „1.0“ markierte Linie im Diagramm entspricht dem ersten Software-Release für Kunden; die weiteren Linien rechts davon stehen für nachfolgende Versionen zur Behebung von Bugs bzw. mit zusätzlichen Funktionen, die bei der Vorstellung von Version 1.0 fehlten. Die mit dem Fragezeichen markierte Linie entspricht dem Punkt, an dem die Anwender mit Qualität und Features des Produkts zufrieden sind. Das Qualitäts-Defizit liegt zwischen dem ersten Produkt-Release und der Version, bei der der Markt die Produktqualität als gut einschätzt. Die Minimierung oder Beseitigung des Qualitäts-Defizits sollte jeden, der Software erstellt, ganz oben auf der Prioritätsliste stehen.

Schaubild 2: Klassischer Projektkreislauf zwischen Pflichtenheft, Design, Code und Test. Bei den meisten Teams hat die Codeerstellung die höchste Priorität, während der Entwicklung von Testfällen ein geringerer Stellenwert zukommt.
Schaubild 2: Klassischer Projektkreislauf zwischen Pflichtenheft, Design, Code und Test. Bei den meisten Teams hat die Codeerstellung die höchste Priorität, während der Entwicklung von Testfällen ein geringerer Stellenwert zukommt.
(Bild: Vector Software )

Die zweite Herausforderung für Entwicklerteams ist die Zuweisung der Entwicklungs-Ressourcen für Pflichtenheft, Design, Codeerstellung und Test (siehe Schaubild 2).

Erfahrung spielt beim Thema Test eine wichtige Rolle

Bei den meisten Entwicklungsteams hat die Codeerstellung die höchste Priorität, während das Application Programming Interface (API) und die Entwicklung von Testfällen geringeren Stellenwert haben. Meist übernehmen erfahrenere Teammitglieder die Code-Entwicklung, und weniger erfahrene Kollegen befassen sich mit dem Test. Dabei sollte es genau anders herum sein. Die wertvollsten Produkte einer Softwareentwicklung sind eine umfassende und flexible API sowie die Testfälle zum Nachweis der Fehlerfreiheit dieser API.

Artikelfiles und Artikellinks

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de (ID: 43334876)