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.
Softwarequalität auf Knopfdruck gibt es leider nicht. Eine ausgewogene Test- und Prüfstrategie kann jedoch nachhaltig zu besserer Software beitragen.
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.
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.
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.
(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.
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel Communications Group GmbH & Co. KG, Max-Planckstr. 7-9, 97082 Würzburg einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von redaktionellen Newslettern nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://support.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung, Abschnitt Redaktionelle Newsletter.